1 # $NetBSD: sys.mk,v 1.35 1997/11/03 22:56:27 cgd 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?= g++ 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 MAKE?= make 62 63 PC?= pc 64 PFLAGS?= 65 COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 66 LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 67 68 SHELL?= sh 69 70 YACC?= yacc 71 YFLAGS?= -d 72 YACC.y?= ${YACC} ${YFLAGS} 73 74 # C 75 .c: 76 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 77 .c.o: 78 ${COMPILE.c} ${.IMPSRC} 79 .if (${MACHINE_ARCH} != "alpha") 80 .c.a: 81 ${COMPILE.c} ${.IMPSRC} 82 ${AR} ${ARFLAGS} $@ $*.o 83 rm -f $*.o 84 .endif 85 .c.ln: 86 ${LINT} ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i ${.IMPSRC} 87 88 # C++ 89 .cc: 90 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 91 .cc.o: 92 ${COMPILE.cc} ${.IMPSRC} 93 .cc.a: 94 ${COMPILE.cc} ${.IMPSRC} 95 ${AR} ${ARFLAGS} $@ $*.o 96 rm -f $*.o 97 98 .C: 99 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 100 .C.o: 101 ${COMPILE.cc} ${.IMPSRC} 102 .C.a: 103 ${COMPILE.cc} ${.IMPSRC} 104 ${AR} ${ARFLAGS} $@ $*.o 105 rm -f $*.o 106 107 # Fortran/Ratfor 108 .f: 109 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 110 .f.o: 111 ${COMPILE.f} ${.IMPSRC} 112 .f.a: 113 ${COMPILE.f} ${.IMPSRC} 114 ${AR} ${ARFLAGS} $@ $*.o 115 rm -f $*.o 116 117 .F: 118 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 119 .F.o: 120 ${COMPILE.F} ${.IMPSRC} 121 .F.a: 122 ${COMPILE.F} ${.IMPSRC} 123 ${AR} ${ARFLAGS} $@ $*.o 124 rm -f $*.o 125 126 .r: 127 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 128 .r.o: 129 ${COMPILE.r} ${.IMPSRC} 130 .r.a: 131 ${COMPILE.r} ${.IMPSRC} 132 ${AR} ${ARFLAGS} $@ $*.o 133 rm -f $*.o 134 135 # Pascal 136 .p: 137 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 138 .p.o: 139 ${COMPILE.p} ${.IMPSRC} 140 .p.a: 141 ${COMPILE.p} ${.IMPSRC} 142 ${AR} ${ARFLAGS} $@ $*.o 143 rm -f $*.o 144 145 # Assembly 146 .s: 147 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 148 .s.o: 149 ${COMPILE.s} ${.IMPSRC} 150 .s.a: 151 ${COMPILE.s} ${.IMPSRC} 152 ${AR} ${ARFLAGS} $@ $*.o 153 rm -f $*.o 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 163 # Lex 164 .l: 165 ${LEX.l} ${.IMPSRC} 166 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 167 rm -f lex.yy.c 168 .l.c: 169 ${LEX.l} ${.IMPSRC} 170 mv lex.yy.c ${.TARGET} 171 .l.o: 172 ${LEX.l} ${.IMPSRC} 173 ${COMPILE.c} -o ${.TARGET} lex.yy.c 174 rm -f lex.yy.c 175 176 # Yacc 177 .y: 178 ${YACC.y} ${.IMPSRC} 179 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 180 rm -f y.tab.c 181 .y.c: 182 ${YACC.y} ${.IMPSRC} 183 mv y.tab.c ${.TARGET} 184 .y.o: 185 ${YACC.y} ${.IMPSRC} 186 ${COMPILE.c} -o ${.TARGET} y.tab.c 187 rm -f y.tab.c 188 189 # Shell 190 .sh: 191 rm -f ${.TARGET} 192 cp ${.IMPSRC} ${.TARGET} 193