1 # $NetBSD: sys.mk,v 1.43 1998/08/22 18:59:40 tv Exp $ 2 # @(#)sys.mk 8.2 (Berkeley) 3/21/94 3 4 unix?= We run NetBSD. 5 6 .SUFFIXES: .out .a .ln .o .s .S .c .cc .C .F .f .r .y .l .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 -traditional-cpp 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?= c++ 27 CXXFLAGS?= ${CFLAGS} 28 COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 29 LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 30 31 OBJC?= ${CC} 32 OBJCFLAGS?= ${CFLAGS} 33 COMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c 34 LINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS} 35 36 CPP?= cpp 37 CPPFLAGS?= 38 39 FC?= f77 40 FFLAGS?= -O 41 RFLAGS?= 42 COMPILE.f?= ${FC} ${FFLAGS} -c 43 LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS} 44 COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c 45 LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 46 COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c 47 LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 48 49 INSTALL?= install 50 51 LEX?= lex 52 LFLAGS?= 53 LEX.l?= ${LEX} ${LFLAGS} 54 55 LD?= ld 56 LDFLAGS?= 57 58 LINT?= lint 59 LINTFLAGS?= -chapbxz 60 61 LORDER?= lorder 62 63 MAKE?= make 64 65 NM?= nm 66 67 PC?= pc 68 PFLAGS?= 69 COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 70 LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 71 72 SHELL?= sh 73 74 SIZE?= size 75 76 TSORT?= tsort -q 77 78 YACC?= yacc 79 YFLAGS?= 80 YACC.y?= ${YACC} ${YFLAGS} 81 82 # C 83 .c: 84 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 85 .c.o: 86 ${COMPILE.c} ${.IMPSRC} 87 .c.a: 88 ${COMPILE.c} ${.IMPSRC} 89 ${AR} ${ARFLAGS} $@ $*.o 90 rm -f $*.o 91 .c.ln: 92 ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC} 93 94 # C++ 95 .cc: 96 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 97 .cc.o: 98 ${COMPILE.cc} ${.IMPSRC} 99 .cc.a: 100 ${COMPILE.cc} ${.IMPSRC} 101 ${AR} ${ARFLAGS} $@ $*.o 102 rm -f $*.o 103 104 .C: 105 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 106 .C.o: 107 ${COMPILE.cc} ${.IMPSRC} 108 .C.a: 109 ${COMPILE.cc} ${.IMPSRC} 110 ${AR} ${ARFLAGS} $@ $*.o 111 rm -f $*.o 112 113 # Fortran/Ratfor 114 .f: 115 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 116 .f.o: 117 ${COMPILE.f} ${.IMPSRC} 118 .f.a: 119 ${COMPILE.f} ${.IMPSRC} 120 ${AR} ${ARFLAGS} $@ $*.o 121 rm -f $*.o 122 123 .F: 124 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 125 .F.o: 126 ${COMPILE.F} ${.IMPSRC} 127 .F.a: 128 ${COMPILE.F} ${.IMPSRC} 129 ${AR} ${ARFLAGS} $@ $*.o 130 rm -f $*.o 131 132 .r: 133 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 134 .r.o: 135 ${COMPILE.r} ${.IMPSRC} 136 .r.a: 137 ${COMPILE.r} ${.IMPSRC} 138 ${AR} ${ARFLAGS} $@ $*.o 139 rm -f $*.o 140 141 # Pascal 142 .p: 143 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 144 .p.o: 145 ${COMPILE.p} ${.IMPSRC} 146 .p.a: 147 ${COMPILE.p} ${.IMPSRC} 148 ${AR} ${ARFLAGS} $@ $*.o 149 rm -f $*.o 150 151 # Assembly 152 .s: 153 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 154 .s.o: 155 ${COMPILE.s} ${.IMPSRC} 156 .s.a: 157 ${COMPILE.s} ${.IMPSRC} 158 ${AR} ${ARFLAGS} $@ $*.o 159 rm -f $*.o 160 .S: 161 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 162 .S.o: 163 ${COMPILE.S} ${.IMPSRC} 164 .S.a: 165 ${COMPILE.S} ${.IMPSRC} 166 ${AR} ${ARFLAGS} $@ $*.o 167 rm -f $*.o 168 169 # Lex 170 .l: 171 ${LEX.l} ${.IMPSRC} 172 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 173 rm -f lex.yy.c 174 .l.c: 175 ${LEX.l} ${.IMPSRC} 176 mv lex.yy.c ${.TARGET} 177 .l.o: 178 ${LEX.l} ${.IMPSRC} 179 ${COMPILE.c} -o ${.TARGET} lex.yy.c 180 rm -f lex.yy.c 181 182 # Yacc 183 .y: 184 ${YACC.y} ${.IMPSRC} 185 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 186 rm -f y.tab.c 187 .y.c: 188 ${YACC.y} ${.IMPSRC} 189 mv y.tab.c ${.TARGET} 190 .y.o: 191 ${YACC.y} ${.IMPSRC} 192 ${COMPILE.c} -o ${.TARGET} y.tab.c 193 rm -f y.tab.c 194 195 # Shell 196 .sh: 197 rm -f ${.TARGET} 198 cp ${.IMPSRC} ${.TARGET} 199