OLD | NEW |
(Empty) | |
| 1 #! /bin/sh |
| 2 command="" |
| 3 infile="" |
| 4 o_opt=no |
| 5 pic=no |
| 6 while [ $# -gt 0 ]; do |
| 7 case "$1" in |
| 8 --silent) |
| 9 exec > /dev/null |
| 10 ;; |
| 11 -DPIC|-fPIC|-fpic|-Kpic|-KPIC) |
| 12 if [ "$pic" != "yes" ] ; then |
| 13 command="$command -DPIC" |
| 14 pic=yes |
| 15 fi |
| 16 ;; |
| 17 -f|-fbin|-faout|-faoutb|-fcoff|-felf|-felf64|-fas86| \ |
| 18 -fobj|-fwin32|-fwin64|-frdf|-fieee|-fmacho|-fmacho64) |
| 19 # it's a file format specifier for nasm. |
| 20 command="$command $1" |
| 21 ;; |
| 22 -f*) |
| 23 # maybe a code-generation flag for gcc. |
| 24 ;; |
| 25 -[Ii]*) |
| 26 incdir=`echo "$1" | sed 's/^-[Ii]//'` |
| 27 if [ "x$incdir" = x -a "x$2" != x ] ; then |
| 28 case "$2" in |
| 29 -*) ;; |
| 30 *) incdir="$2"; shift;; |
| 31 esac |
| 32 fi |
| 33 if [ "x$incdir" != x ] ; then |
| 34 # In the case of NASM, the trailing slash is necessary. |
| 35 incdir=`echo "$incdir" | sed 's%/*$%/%'` |
| 36 command="$command -I$incdir" |
| 37 fi |
| 38 ;; |
| 39 -o*) |
| 40 o_opt=yes |
| 41 command="$command $1" |
| 42 ;; |
| 43 *.asm) |
| 44 infile=$1 |
| 45 command="$command $1" |
| 46 ;; |
| 47 *) |
| 48 command="$command $1" |
| 49 ;; |
| 50 esac |
| 51 shift |
| 52 done |
| 53 if [ "$o_opt" != yes ] ; then |
| 54 # By default, NASM creates an output file |
| 55 # in the same directory as the input file. |
| 56 outfile="-o `echo $infile | sed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.o" |
| 57 command="$command $outfile" |
| 58 fi |
| 59 echo $command |
| 60 exec $command |
OLD | NEW |