1 # from: @(#)sys.mk 5.11 (Berkeley) 3/13/91 2 # $Id: sys.mk,v 1.14 1994/03/24 01:39:28 jtc Exp $ 3 4 unix= We run UNIX. 5 6 .SUFFIXES: .out .a .ln .o .c .cc .C .F .f .e .r .y .l .s .S .cl .p .h .sh 7 8 .LIBS: .a 9 10 AR= ar 11 ARFLAGS= rl 12 RANLIB= ranlib 13 14 AS= as 15 AFLAGS= 16 17 CC= cc 18 CFLAGS= -O 19 20 CXX= g++ 21 CXXFLAGS= ${CFLAGS} 22 23 CPP= cpp 24 25 FC= f77 26 FFLAGS= -O 27 EFLAGS= 28 29 LEX= lex 30 LFLAGS= 31 32 LD= ld 33 LDFLAGS= 34 35 LINT= lint 36 LINTFLAGS= -chapbx 37 38 MAKE= make 39 40 PC= pc 41 PFLAGS= 42 43 RC= f77 44 RFLAGS= 45 46 SHELL= sh 47 48 YACC= yacc 49 YFLAGS= -d 50 51 # single suffix rules 52 .c: 53 ${CC} ${CFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET} 54 55 .cc .C: 56 ${CXX} ${CXXFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET} 57 58 .e .r .F .f: 59 ${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET} 60 61 .p: 62 ${PC} ${PFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET} 63 64 .y: 65 ${YACC} ${YFLAGS} ${.IMPSRC} 66 ${CC} ${CFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET} 67 rm -f y.tab.c 68 69 .l: 70 ${LEX} ${LFLAGS} ${.IMPSRC} 71 ${CC} ${CFLAGS} lex.yy.c ${LDLIBS} -ll -o ${.TARGET} 72 rm -f lex.yy.c 73 74 .sh: 75 rm -f ${.TARGET} 76 cp ${.IMPSRC} ${.TARGET} 77 78 79 # double suffix rules 80 .c.o: 81 ${CC} ${CFLAGS} -c ${.IMPSRC} 82 83 .cc.o .C.o: 84 ${CXX} ${CXXFLAGS} -c ${.IMPSRC} 85 86 .e.o .r.o .F.o .f.o: 87 ${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} -c ${.IMPSRC} 88 89 .p.o: 90 ${PC} ${PFLAGS} -c ${.IMPSRC} 91 92 .s.o: 93 ${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC} 94 95 .S.o: 96 ${CC} -E ${CFLAGS} ${AFLAGS} ${.IMPSRC} | as -o ${.TARGET} 97 98 .y.o: 99 ${YACC} ${YFLAGS} ${.IMPSRC} 100 ${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET} 101 rm -f y.tab.c 102 103 .l.o: 104 ${LEX} ${LFLAGS} ${.IMPSRC} 105 ${CC} ${CFLAGS} -c lex.yy.c -o ${.TARGET} 106 rm -f lex.yy.c 107 108 .y.c: 109 ${YACC} ${YFLAGS} ${.IMPSRC} 110 mv y.tab.c ${.TARGET} 111 112 .l.c: 113 ${LEX} ${LFLAGS} ${.IMPSRC} 114 mv lex.yy.c ${.TARGET} 115 116 .c.a: 117 ${CC} -c ${CFLAGS} $< 118 ${AR} ${ARFLAGS} $@ $*.o 119 rm -f $*.o 120 121 .f.a: 122 ${CC} -c ${FFLAGS} $< 123 ${AR} ${ARFLAGS} $@ $*.o 124 rm -f $*.o 125 126 127 .s.out .c.out .o.out: 128 ${CC} ${CFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET} 129 130 .f.out .F.out .r.out .e.out: 131 ${FC} ${EFLAGS} ${RFLAGS} ${FFLAGS} ${.IMPSRC} \ 132 ${LDLIBS} -o ${.TARGET} 133 rm -f ${.PREFIX}.o 134 135 .y.out: 136 ${YACC} ${YFLAGS} ${.IMPSRC} 137 ${CC} ${CFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET} 138 rm -f y.tab.c 139 140 .l.out: 141 ${LEX} ${LFLAGS} ${.IMPSRC} 142 ${CC} ${CFLAGS} lex.yy.c ${LDLIBS} -ll -o ${.TARGET} 143 rm -f lex.yy.c 144 145 .include <bsd.own.mk> 146