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