scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

0094-expansion.sh (724B)


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