1 # $NetBSD: sys.mk,v 1.24 1996/02/28 23:45:16 jtc Exp $ 2 # @(#)sys.mk 5.11 (Berkeley) 3/13/91 3 4 unix= We run NetBSD. 5 6 .SUFFIXES: .out .a .ln .o .c .cc .C .F .f .r .y .l .s .S .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?= ${AS} ${AFLAGS} 17 LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS} 18 COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c 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 CPP?= cpp 32 .if defined(DESTDIR) 33 CPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include 34 .endif 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 LEX?= lex 47 LFLAGS?= 48 LEX.l?= ${LEX} ${LFLAGS} 49 50 LD?= ld 51 LDFLAGS?= 52 53 LINT?= lint 54 LINTFLAGS?= -chapbx 55 56 MAKE?= make 57 58 PC?= pc 59 PFLAGS?= 60 COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 61 LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 62 63 SHELL?= sh 64 65 YACC?= yacc 66 YFLAGS?= -d 67 YACC.y?= ${YACC} ${YFLAGS} 68 69 # C 70 .c: 71 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 72 .c.o: 73 ${COMPILE.c} ${.IMPSRC} 74 .if (${MACHINE_ARCH} != "alpha") 75 .c.a: 76 ${COMPILE.c} ${.IMPSRC} 77 ${AR} ${ARFLAGS} $@ $*.o 78 rm -f $*.o 79 .endif 80 .c.ln: 81 ${LINT} ${LINTFLAGS} ${CFLAGS:M-[IDU]*} -i ${.IMPSRC} 82 83 # C++ 84 .cc: 85 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 86 .cc.o: 87 ${COMPILE.cc} ${.IMPSRC} 88 .cc.a: 89 ${COMPILE.cc} ${.IMPSRC} 90 ${AR} ${ARFLAGS} $@ $*.o 91 rm -f $*.o 92 93 .C: 94 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 95 .C.o: 96 ${COMPILE.cc} ${.IMPSRC} 97 .C.a: 98 ${COMPILE.cc} ${.IMPSRC} 99 ${AR} ${ARFLAGS} $@ $*.o 100 rm -f $*.o 101 102 # Fortran/Ratfor 103 .f: 104 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 105 .f.o: 106 ${COMPILE.f} ${.IMPSRC} 107 .f.a: 108 ${COMPILE.f} ${.IMPSRC} 109 ${AR} ${ARFLAGS} $@ $*.o 110 rm -f $*.o 111 112 .F: 113 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 114 .F.o: 115 ${COMPILE.F} ${.IMPSRC} 116 .F.a: 117 ${COMPILE.F} ${.IMPSRC} 118 ${AR} ${ARFLAGS} $@ $*.o 119 rm -f $*.o 120 121 .r: 122 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 123 .r.o: 124 ${COMPILE.r} ${.IMPSRC} 125 .r.a: 126 ${COMPILE.r} ${.IMPSRC} 127 ${AR} ${ARFLAGS} $@ $*.o 128 rm -f $*.o 129 130 # Pascal 131 .p: 132 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 133 .p.o: 134 ${COMPILE.p} ${.IMPSRC} 135 .p.a: 136 ${COMPILE.p} ${.IMPSRC} 137 ${AR} ${ARFLAGS} $@ $*.o 138 rm -f $*.o 139 140 # Assembly 141 .s: 142 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 143 .s.o: 144 ${COMPILE.s} -o ${.TARGET} ${.IMPSRC} 145 .s.a: 146 ${COMPILE.s} ${.IMPSRC} 147 ${AR} ${ARFLAGS} $@ $*.o 148 rm -f $*.o 149 .S: 150 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 151 .S.o: 152 ${COMPILE.S} -o ${.TARGET} ${.IMPSRC} 153 .S.a: 154 ${COMPILE.S} ${.IMPSRC} 155 ${AR} ${ARFLAGS} $@ $*.o 156 rm -f $*.o 157 158 # Lex 159 .l: 160 ${LEX.l} ${.IMPSRC} 161 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 162 rm -f lex.yy.c 163 .l.c: 164 ${LEX.l} ${.IMPSRC} 165 mv lex.yy.c ${.TARGET} 166 .l.o: 167 ${LEX.l} ${.IMPSRC} 168 ${COMPILE.c} -o ${.TARGET} lex.yy.c 169 rm -f lex.yy.c 170 171 # Yacc 172 .y: 173 ${YACC.y} ${.IMPSRC} 174 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 175 rm -f y.tab.c 176 .y.c: 177 ${YACC.y} ${.IMPSRC} 178 mv y.tab.c ${.TARGET} 179 .y.o: 180 ${YACC.y} ${.IMPSRC} 181 ${COMPILE.c} -o ${.TARGET} y.tab.c 182 rm -f y.tab.c 183 184 # Shell 185 .sh: 186 rm -f ${.TARGET} 187 cp ${.IMPSRC} ${.TARGET} 188