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