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