scc

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

0015-pflag.sh (973B)


      1 #!/bin/sh
      2 
      3 trap 'rm -f $tmp1' EXIT
      4 trap 'exit 1' HUP INT TERM
      5 
      6 tmp1=tmp1.$$
      7 
      8 unset MAKEFLAGS
      9 
     10 ($EXEC scc make -pf - all | grep -v MAKE > $tmp1 2>&1) <<'EOF'
     11 all:
     12 	@echo hello
     13 EOF
     14 
     15 diff -u $tmp1 - <<'EOF'
     16 FC = fort77
     17 YFLAGS = 
     18 ARFLAGS = -rv
     19 LDFLAGS = 
     20 LEX = lex
     21 CFLAGS = -O
     22 YACC = yacc
     23 CC = c99
     24 LFLAGS = 
     25 AR = ar
     26 SHELL = /bin/sh
     27 FFLAGS = -O 1
     28 .f.a:
     29 	${FC} -c ${FFLAGS} $<
     30 	${AR} ${ARFLAGS} $@ $*.o
     31 	rm -f $*.o
     32 
     33 .l.o:
     34 	${LEX} ${LFLAGS} $<
     35 	${CC} ${CFLAGS} -c lex.yy.c
     36 	rm -f lex.yy.c
     37 	mv lex.yy.o $@
     38 
     39 .c.a:
     40 	${CC} -c ${CFLAGS} $<
     41 	${AR} ${ARFLAGS} $@ $*.o
     42 	rm -f $*.o
     43 
     44 .c:
     45 	${CC} ${CFLAGS} ${LDFLAGS} -o $@ $<
     46 
     47 .c.o:
     48 	${CC} ${CFLAGS} -c $<
     49 
     50 .l.c:
     51 	${LEX} ${LFLAGS} $<
     52 	mv lex.yy.c $@
     53 
     54 .f.o:
     55 	${FC} ${FFLAGS} -c $<
     56 
     57 .f:
     58 	${FC} ${FFLAGS} ${LDFLAGS} -o $@ $<
     59 
     60 .y.o:
     61 	${YACC} ${YFLAGS} $<
     62 	${CC} ${CFLAGS} -c y.tab.c
     63 	rm -f y.tab.c
     64 	mv y.tab.o $@
     65 
     66 .y.c:
     67 	${YACC} ${YFLAGS} $<
     68 	mv y.tab.c $@
     69 
     70 .SUFFIXES: .o .c .y .l .a .sh .f
     71 
     72 all:
     73 	@echo hello
     74 
     75 .sh:
     76 	cp $< $@
     77 	chmod a+x $@
     78 
     79 EOF