1246149Ssjg# $NetBSD: sys.mk,v 1.66.2.1 2002/06/05 03:31:01 lukem Exp $ 2246149Ssjg# @(#)sys.mk 8.2 (Berkeley) 3/21/94 3246149Ssjg 4246149SsjgOS= NetBSD 5246149Ssjgunix?= We run ${OS}. 6246149Ssjg 7246149Ssjg.if !defined(MAKE_VERSION) 8246149Ssjg# we are running native make 9246149Ssjg# which defined MAKE_VERSION between 20010609 and 20090324 10246149Ssjg# so we can make a rough guess 11246149Ssjg.if defined(.MAKE.LEVEL) 12246149SsjgMAKE_VERSION = 20090908 13246149Ssjg.elif defined(.MAKE.MAKEFILES) 14246149Ssjg# introduced 20071008 15246149SsjgMAKE_VERSION = 20090324 16246149Ssjg.else 17246149Ssjg# this just before when MAKE_VERSION was introduced 18246149SsjgMAKE_VERSION = 20010606 19246149Ssjg.endif 20246149Ssjg.endif 21246149Ssjg 22246149Ssjg.SUFFIXES: .out .a .ln .o .s .S .c .cc .cpp .cxx .C .F .f .r .y .l .cl .p .h 23246149Ssjg.SUFFIXES: .sh .m4 24246149Ssjg 25246149Ssjg.LIBS: .a 26246149Ssjg 27246149SsjgAR?= ar 28246149SsjgARFLAGS?= rl 29246149SsjgRANLIB?= ranlib 30246149Ssjg 31246149SsjgAS?= as 32246149SsjgAFLAGS?= 33246149SsjgCOMPILE.s?= ${CC} ${AFLAGS} -c 34246149SsjgLINK.s?= ${CC} ${AFLAGS} ${LDFLAGS} 35246149SsjgCOMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp 36246149SsjgLINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 37246149Ssjg 38246149SsjgCC?= cc 39246149Ssjg 40246149Ssjg# need to make sure this is set 41246149SsjgMACHINE_ARCH.${MACHINE} ?= ${MACHINE} 42246149Ssjg.if empty(MACHINE_ARCH) 43246149SsjgMACHINE_ARCH = ${MACHINE_ARCH.${MACHINE}} 44246149Ssjg.endif 45246149Ssjg 46246149Ssjg# 47246149Ssjg# CPU model, derived from MACHINE_ARCH 48246149Ssjg# 49246149SsjgMACHINE_CPU= ${MACHINE_ARCH:C/mipse[bl]/mips/:C/mips64e[bl]/mips/:C/sh3e[bl]/sh3/:S/m68000/m68k/:S/armeb/arm/} 50246149Ssjg 51246149Ssjg.if ${MACHINE_CPU} == "alpha" || \ 52246149Ssjg ${MACHINE_CPU} == "arm" || \ 53246149Ssjg ${MACHINE_CPU} == "i386" || \ 54246149Ssjg ${MACHINE_CPU} == "m68k" || \ 55246149Ssjg ${MACHINE_CPU} == "mips" || \ 56246149Ssjg ${MACHINE_CPU} == "powerpc" || \ 57246149Ssjg ${MACHINE_CPU} == "sparc" || \ 58246149Ssjg ${MACHINE_CPU} == "vax" 59246149SsjgDBG?= -O2 60246149Ssjg.elif ${MACHINE_ARCH} == "x86_64" 61246149SsjgDBG?= 62246149Ssjg.elif ${MACHINE_ARCH} == "sparc64" 63246149SsjgDBG?= -O -ffixed-g4 #Hack for embedany memory model compatibility 64246149Ssjg.else 65246149SsjgDBG?= -O 66246149Ssjg.endif 67246149SsjgCFLAGS?= ${DBG} 68246149SsjgCOMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c 69246149SsjgLINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 70246149Ssjg 71246149SsjgCXX?= c++ 72246149SsjgCXXFLAGS?= ${CFLAGS} 73246149SsjgCOMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 74246149SsjgLINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 75246149Ssjg 76246149SsjgOBJC?= ${CC} 77246149SsjgOBJCFLAGS?= ${CFLAGS} 78246149SsjgCOMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c 79246149SsjgLINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS} 80246149Ssjg 81246149SsjgCPP?= cpp 82246149SsjgCPPFLAGS?= 83246149Ssjg 84246149SsjgFC?= f77 85246149SsjgFFLAGS?= -O 86246149SsjgRFLAGS?= 87246149SsjgCOMPILE.f?= ${FC} ${FFLAGS} -c 88246149SsjgLINK.f?= ${FC} ${FFLAGS} ${LDFLAGS} 89246149SsjgCOMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c 90246149SsjgLINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 91246149SsjgCOMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c 92246149SsjgLINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 93246149Ssjg 94246149SsjgINSTALL?= install 95246149Ssjg 96246149SsjgLEX?= lex 97246149SsjgLFLAGS?= 98246149SsjgLEX.l?= ${LEX} ${LFLAGS} 99246149Ssjg 100246149SsjgLD?= ld 101246149SsjgLDFLAGS?= 102246149Ssjg 103246149SsjgLINT?= lint 104246149SsjgLINTFLAGS?= -chapbxzF 105246149Ssjg 106246149SsjgLORDER?= lorder 107246149Ssjg 108246149SsjgMAKE?= make 109246149Ssjg 110246149SsjgNM?= nm 111246149Ssjg 112246149SsjgPC?= pc 113246149SsjgPFLAGS?= 114246149SsjgCOMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 115246149SsjgLINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 116246149Ssjg 117246149SsjgSHELL?= sh 118246149Ssjg 119246149SsjgSIZE?= size 120246149Ssjg 121246149SsjgTSORT?= tsort -q 122246149Ssjg 123246149SsjgYACC?= yacc 124246149SsjgYFLAGS?= 125246149SsjgYACC.y?= ${YACC} ${YFLAGS} 126246149Ssjg 127246149Ssjg# C 128246149Ssjg.c: 129246149Ssjg ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 130246149Ssjg.c.o: 131246149Ssjg ${COMPILE.c} ${.IMPSRC} 132246149Ssjg.c.a: 133246149Ssjg ${COMPILE.c} ${.IMPSRC} 134246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 135246149Ssjg rm -f $*.o 136246149Ssjg.c.ln: 137246149Ssjg ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC} 138246149Ssjg 139246149Ssjg# C++ 140246149Ssjg.cc .cpp .cxx .C: 141246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 142246149Ssjg.cc.o .cpp.o .cxx.o .C.o: 143246149Ssjg ${COMPILE.cc} ${.IMPSRC} 144246149Ssjg.cc.a .cpp.a .cxx.a .C.a: 145246149Ssjg ${COMPILE.cc} ${.IMPSRC} 146246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 147246149Ssjg rm -f $*.o 148246149Ssjg 149246149Ssjg# Fortran/Ratfor 150246149Ssjg.f: 151246149Ssjg ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 152246149Ssjg.f.o: 153246149Ssjg ${COMPILE.f} ${.IMPSRC} 154246149Ssjg.f.a: 155246149Ssjg ${COMPILE.f} ${.IMPSRC} 156246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 157246149Ssjg rm -f $*.o 158246149Ssjg 159246149Ssjg.F: 160246149Ssjg ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 161246149Ssjg.F.o: 162246149Ssjg ${COMPILE.F} ${.IMPSRC} 163246149Ssjg.F.a: 164246149Ssjg ${COMPILE.F} ${.IMPSRC} 165246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 166246149Ssjg rm -f $*.o 167246149Ssjg 168246149Ssjg.r: 169246149Ssjg ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 170246149Ssjg.r.o: 171246149Ssjg ${COMPILE.r} ${.IMPSRC} 172246149Ssjg.r.a: 173246149Ssjg ${COMPILE.r} ${.IMPSRC} 174246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 175246149Ssjg rm -f $*.o 176246149Ssjg 177246149Ssjg# Pascal 178246149Ssjg.p: 179246149Ssjg ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 180246149Ssjg.p.o: 181246149Ssjg ${COMPILE.p} ${.IMPSRC} 182246149Ssjg.p.a: 183246149Ssjg ${COMPILE.p} ${.IMPSRC} 184246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 185246149Ssjg rm -f $*.o 186246149Ssjg 187246149Ssjg# Assembly 188246149Ssjg.s: 189246149Ssjg ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 190246149Ssjg.s.o: 191246149Ssjg ${COMPILE.s} ${.IMPSRC} 192246149Ssjg.s.a: 193246149Ssjg ${COMPILE.s} ${.IMPSRC} 194246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 195246149Ssjg rm -f $*.o 196246149Ssjg.S: 197246149Ssjg ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 198246149Ssjg.S.o: 199246149Ssjg ${COMPILE.S} ${.IMPSRC} 200246149Ssjg.S.a: 201246149Ssjg ${COMPILE.S} ${.IMPSRC} 202246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 203246149Ssjg rm -f $*.o 204246149Ssjg 205246149Ssjg# Lex 206246149Ssjg.l: 207246149Ssjg ${LEX.l} ${.IMPSRC} 208246149Ssjg ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 209246149Ssjg rm -f lex.yy.c 210246149Ssjg.l.c: 211246149Ssjg ${LEX.l} ${.IMPSRC} 212246149Ssjg mv lex.yy.c ${.TARGET} 213246149Ssjg.l.o: 214246149Ssjg ${LEX.l} ${.IMPSRC} 215246149Ssjg ${COMPILE.c} -o ${.TARGET} lex.yy.c 216246149Ssjg rm -f lex.yy.c 217246149Ssjg 218246149Ssjg# Yacc 219246149Ssjg.y: 220246149Ssjg ${YACC.y} ${.IMPSRC} 221246149Ssjg ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 222246149Ssjg rm -f y.tab.c 223246149Ssjg.y.c: 224246149Ssjg ${YACC.y} ${.IMPSRC} 225246149Ssjg mv y.tab.c ${.TARGET} 226246149Ssjg.y.o: 227246149Ssjg ${YACC.y} ${.IMPSRC} 228246149Ssjg ${COMPILE.c} -o ${.TARGET} y.tab.c 229246149Ssjg rm -f y.tab.c 230246149Ssjg 231246149Ssjg# Shell 232246149Ssjg.sh: 233246149Ssjg rm -f ${.TARGET} 234246149Ssjg cp ${.IMPSRC} ${.TARGET} 235