1 # $NetBSD: sys.mk,v 1.32 1997/05/27 18:09:02 cjs 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 # Note: CPPFLAGS is passed to all programs that pass the input 32 # through cpp (cc, pc, etc.) 33 CPP?= cpp 34 CPPFLAGS?= 35 36 FC?= f77 37 FFLAGS?= -O 38 RFLAGS?= 39 COMPILE.f?= ${FC} ${FFLAGS} -c 40 LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS} 41 COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c 42 LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 43 COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c 44 LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 45 46 INSTALL?= install 47 48 LEX?= lex 49 LFLAGS?= 50 LEX.l?= ${LEX} ${LFLAGS} 51 52 LD?= ld 53 LDFLAGS?= 54 55 LINT?= lint 56 LINTFLAGS?= -chapbx 57 58 MAKE?= make 59 60 PC?= pc 61 PFLAGS?= 62 COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 63 LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 64 65 SHELL?= sh 66 67 YACC?= yacc 68 YFLAGS?= -d 69 YACC.y?= ${YACC} ${YFLAGS} 70 71 # C 72 .c: 73 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 74 .c.o: 75 ${COMPILE.c} ${.IMPSRC} 76 .if (${MACHINE_ARCH} != "alpha") 77 .c.a: 78 ${COMPILE.c} ${.IMPSRC} 79 ${AR} ${ARFLAGS} $@ $*.o 80 rm -f $*.o 81 .endif 82 .c.ln: 83 ${LINT} ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i ${.IMPSRC} 84 85 # C++ 86 .cc: 87 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 88 .cc.o: 89 ${COMPILE.cc} ${.IMPSRC} 90 .cc.a: 91 ${COMPILE.cc} ${.IMPSRC} 92 ${AR} ${ARFLAGS} $@ $*.o 93 rm -f $*.o 94 95 .C: 96 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 97 .C.o: 98 ${COMPILE.cc} ${.IMPSRC} 99 .C.a: 100 ${COMPILE.cc} ${.IMPSRC} 101 ${AR} ${ARFLAGS} $@ $*.o 102 rm -f $*.o 103 104 # Fortran/Ratfor 105 .f: 106 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 107 .f.o: 108 ${COMPILE.f} ${.IMPSRC} 109 .f.a: 110 ${COMPILE.f} ${.IMPSRC} 111 ${AR} ${ARFLAGS} $@ $*.o 112 rm -f $*.o 113 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 .r: 124 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 125 .r.o: 126 ${COMPILE.r} ${.IMPSRC} 127 .r.a: 128 ${COMPILE.r} ${.IMPSRC} 129 ${AR} ${ARFLAGS} $@ $*.o 130 rm -f $*.o 131 132 # Pascal 133 .p: 134 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 135 .p.o: 136 ${COMPILE.p} ${.IMPSRC} 137 .p.a: 138 ${COMPILE.p} ${.IMPSRC} 139 ${AR} ${ARFLAGS} $@ $*.o 140 rm -f $*.o 141 142 # Assembly 143 .s: 144 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 145 .s.o: 146 ${COMPILE.s} ${.IMPSRC} 147 .s.a: 148 ${COMPILE.s} ${.IMPSRC} 149 ${AR} ${ARFLAGS} $@ $*.o 150 rm -f $*.o 151 .S: 152 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 153 .S.o: 154 ${COMPILE.S} ${.IMPSRC} 155 .S.a: 156 ${COMPILE.S} ${.IMPSRC} 157 ${AR} ${ARFLAGS} $@ $*.o 158 rm -f $*.o 159 160 # Lex 161 .l: 162 ${LEX.l} ${.IMPSRC} 163 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 164 rm -f lex.yy.c 165 .l.c: 166 ${LEX.l} ${.IMPSRC} 167 mv lex.yy.c ${.TARGET} 168 .l.o: 169 ${LEX.l} ${.IMPSRC} 170 ${COMPILE.c} -o ${.TARGET} lex.yy.c 171 rm -f lex.yy.c 172 173 # Yacc 174 .y: 175 ${YACC.y} ${.IMPSRC} 176 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 177 rm -f y.tab.c 178 .y.c: 179 ${YACC.y} ${.IMPSRC} 180 mv y.tab.c ${.TARGET} 181 .y.o: 182 ${YACC.y} ${.IMPSRC} 183 ${COMPILE.c} -o ${.TARGET} y.tab.c 184 rm -f y.tab.c 185 186 # Shell 187 .sh: 188 rm -f ${.TARGET} 189 cp ${.IMPSRC} ${.TARGET} 190