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