1 # $NetBSD: sys.mk,v 1.26 1996/04/10 05:44:49 mycroft Exp $ 2 # @(#)sys.mk 5.11 (Berkeley) 3/13/91 3 4 unix= We run NetBSD. 5 6 .SUFFIXES: .out .a .ln .o .c .cc .C .F .f .r .y .l .s .S .cl .p .h .sh .m4 7 8 .LIBS: .a 9 10 AR?= ar 11 ARFLAGS?= rl 12 RANLIB?= ranlib 13 14 AS?= as 15 AFLAGS?= 16 COMPILE.s?= ${CC} ${AFLAGS} -c 17 LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS} 18 COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c 19 LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 20 21 CC?= cc 22 CFLAGS?= -O 23 COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c 24 LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 25 26 CXX?= g++ 27 CXXFLAGS?= ${CFLAGS} 28 COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 29 LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 30 31 CPP?= cpp 32 CPPFLAGS?= 33 34 FC?= f77 35 FFLAGS?= -O 36 RFLAGS?= 37 COMPILE.f?= ${FC} ${FFLAGS} -c 38 LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS} 39 COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c 40 LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 41 COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c 42 LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 43 44 LEX?= lex 45 LFLAGS?= 46 LEX.l?= ${LEX} ${LFLAGS} 47 48 LD?= ld 49 LDFLAGS?= 50 51 LINT?= lint 52 LINTFLAGS?= -chapbx 53 54 MAKE?= make 55 56 PC?= pc 57 PFLAGS?= 58 COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 59 LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 60 61 SHELL?= sh 62 63 YACC?= yacc 64 YFLAGS?= -d 65 YACC.y?= ${YACC} ${YFLAGS} 66 67 # C 68 .c: 69 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 70 .c.o: 71 ${COMPILE.c} ${.IMPSRC} 72 .if (${MACHINE_ARCH} != "alpha") 73 .c.a: 74 ${COMPILE.c} ${.IMPSRC} 75 ${AR} ${ARFLAGS} $@ $*.o 76 rm -f $*.o 77 .endif 78 .c.ln: 79 ${LINT} ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i ${.IMPSRC} 80 81 # C++ 82 .cc: 83 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 84 .cc.o: 85 ${COMPILE.cc} ${.IMPSRC} 86 .cc.a: 87 ${COMPILE.cc} ${.IMPSRC} 88 ${AR} ${ARFLAGS} $@ $*.o 89 rm -f $*.o 90 91 .C: 92 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 93 .C.o: 94 ${COMPILE.cc} ${.IMPSRC} 95 .C.a: 96 ${COMPILE.cc} ${.IMPSRC} 97 ${AR} ${ARFLAGS} $@ $*.o 98 rm -f $*.o 99 100 # Fortran/Ratfor 101 .f: 102 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 103 .f.o: 104 ${COMPILE.f} ${.IMPSRC} 105 .f.a: 106 ${COMPILE.f} ${.IMPSRC} 107 ${AR} ${ARFLAGS} $@ $*.o 108 rm -f $*.o 109 110 .F: 111 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 112 .F.o: 113 ${COMPILE.F} ${.IMPSRC} 114 .F.a: 115 ${COMPILE.F} ${.IMPSRC} 116 ${AR} ${ARFLAGS} $@ $*.o 117 rm -f $*.o 118 119 .r: 120 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 121 .r.o: 122 ${COMPILE.r} ${.IMPSRC} 123 .r.a: 124 ${COMPILE.r} ${.IMPSRC} 125 ${AR} ${ARFLAGS} $@ $*.o 126 rm -f $*.o 127 128 # Pascal 129 .p: 130 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 131 .p.o: 132 ${COMPILE.p} ${.IMPSRC} 133 .p.a: 134 ${COMPILE.p} ${.IMPSRC} 135 ${AR} ${ARFLAGS} $@ $*.o 136 rm -f $*.o 137 138 # Assembly 139 .s: 140 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 141 .s.o: 142 ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 143 .s.a: 144 ${COMPILE.s} ${.IMPSRC} 145 ${AR} ${ARFLAGS} $@ $*.o 146 rm -f $*.o 147 .S: 148 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 149 .S.o: 150 ${COMPILE.S} -o ${.TARGET} ${.IMPSRC} 151 .S.a: 152 ${COMPILE.S} ${.IMPSRC} 153 ${AR} ${ARFLAGS} $@ $*.o 154 rm -f $*.o 155 156 # Lex 157 .l: 158 ${LEX.l} ${.IMPSRC} 159 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 160 rm -f lex.yy.c 161 .l.c: 162 ${LEX.l} ${.IMPSRC} 163 mv lex.yy.c ${.TARGET} 164 .l.o: 165 ${LEX.l} ${.IMPSRC} 166 ${COMPILE.c} -o ${.TARGET} lex.yy.c 167 rm -f lex.yy.c 168 169 # Yacc 170 .y: 171 ${YACC.y} ${.IMPSRC} 172 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 173 rm -f y.tab.c 174 .y.c: 175 ${YACC.y} ${.IMPSRC} 176 mv y.tab.c ${.TARGET} 177 .y.o: 178 ${YACC.y} ${.IMPSRC} 179 ${COMPILE.c} -o ${.TARGET} y.tab.c 180 rm -f y.tab.c 181 182 # Shell 183 .sh: 184 rm -f ${.TARGET} 185 cp ${.IMPSRC} ${.TARGET} 186