You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.2 KiB
63 lines
1.2 KiB
#!/bin/bash |
|
set -- $@ --end-- |
|
proc=MD32 |
|
si_revision=0.5 |
|
verbose= |
|
macros= |
|
asm_file= |
|
preprocess= |
|
while [ a$1 != a--end-- ] ; do |
|
if [ a$1 = a-proc ] ; then |
|
shift |
|
proc=$1 |
|
shift |
|
elif [ a$1 = a-si-revision ] ; then |
|
shift |
|
si_revision=$1 |
|
shift |
|
elif [ a$1 = a-v ] ; then |
|
verbose=1 |
|
shift |
|
elif [[ a$1 == a*.S ]] ; then |
|
asm_file=$1 |
|
preprocess=1 |
|
shift |
|
elif [[ a$1 == a*.s ]] ; then |
|
asm_file=$1 |
|
shift |
|
elif [ a$1 = a-D ] ; then |
|
shift |
|
macros="$macros -D $1" |
|
shift |
|
elif [[ a$1 == a-D* ]] ; then |
|
macros="$macros -D ${1:2}" |
|
shift |
|
else |
|
set -- $@ $1 |
|
shift |
|
fi |
|
done |
|
shift |
|
|
|
case $proc in |
|
MS15E30-GNU|MS15E30-NLIB) |
|
core_version=MS15E30-GNU;; |
|
*) echo "$0: Unknown processor $proc" >&2 |
|
exit 1;; |
|
esac |
|
|
|
verbose_run() { |
|
if [ a$verbose = a1 ] ; then |
|
echo $@ |
|
fi |
|
$@ |
|
} |
|
|
|
if [ a$preprocess = a1 ] ; then |
|
tmp_file=`mktemp /tmp/${asm_file}.XXXXXX` |
|
verbose_run "md32-elf-cpp $macros $asm_file $tmp_file" |
|
verbose_run "md32-elf-as --md32-core-version=$core_version $tmp_file $@" |
|
rm -f $tmp_file |
|
else |
|
verbose_run "md32-elf-as --md32-core-version=$core_version $asm_file $@" |
|
fi
|
|
|