0094-expansion.sh - scc - simple c99 compiler
 (HTM) git clone git://git.simple-cc.org/scc
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
       0094-expansion.sh (743B)
       ---
            1 #!/bin/sh
            2 
            3 trap 'rm -f $tmp1 $tmp2' EXIT INT TERM QUIT HUP
            4 
            5 tmp1=tmp1.$$
            6 tmp2=tmp2.$$
            7 
            8 cat > $tmp1 <<EOF
            9 file1.o file2.o
           10 all
           11 alp
           12 all.o
           13 file1.c file2.c
           14 file1 file2
           15 file1.e file2.e
           16 file1.c file2.c
           17 all
           18 EOF
           19 
           20 scc make -f- <<'EOF' > $tmp2 2>&1
           21 O = o
           22 SRC = file1.c  file2.c
           23 OBJ = $(SRC:.c=.$O)
           24 O = e
           25 C = c
           26 
           27 all:
           28         @echo $(SRC:.c=.o)
           29         @echo $(@)
           30         @echo $(@:l=p)
           31         @echo $(@:=.o)
           32         @echo $(OBJ:.$O=.$C)
           33         @echo $(OBJ:.$O=)
           34         @echo $(OBJ)
           35         @echo $(SRC)
           36         @echo $(@:=)
           37 EOF
           38 diff $tmp1 $tmp2
           39 
           40 scc make -f- <<'EOF' > $tmp2 2>&1
           41 O = o
           42 SRC = file1.c  file2.c
           43 OBJ = ${SRC:.c=.$O}
           44 O = e
           45 C = c
           46 
           47 all:
           48         @echo ${SRC:.c=.o}
           49         @echo ${@}
           50         @echo ${@:l=p}
           51         @echo ${@:=.o}
           52         @echo ${OBJ:.$O=.$C}
           53         @echo ${OBJ:.$O=}
           54         @echo ${OBJ}
           55         @echo ${SRC}
           56         @echo ${@:=}
           57 EOF
           58 diff $tmp1 $tmp2