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