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 22300313Ssjg.SUFFIXES: .out .a .ln .o .s .S .c ${CXX_SUFFIXES} .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 108246149SsjgNM?= nm 109246149Ssjg 110246149SsjgPC?= pc 111246149SsjgPFLAGS?= 112246149SsjgCOMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 113246149SsjgLINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 114246149Ssjg 115246149SsjgSHELL?= sh 116246149Ssjg 117246149SsjgSIZE?= size 118246149Ssjg 119246149SsjgTSORT?= tsort -q 120246149Ssjg 121246149SsjgYACC?= yacc 122246149SsjgYFLAGS?= 123246149SsjgYACC.y?= ${YACC} ${YFLAGS} 124246149Ssjg 125246149Ssjg# C 126246149Ssjg.c: 127246149Ssjg ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 128246149Ssjg.c.o: 129246149Ssjg ${COMPILE.c} ${.IMPSRC} 130246149Ssjg.c.a: 131246149Ssjg ${COMPILE.c} ${.IMPSRC} 132246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 133246149Ssjg rm -f $*.o 134246149Ssjg.c.ln: 135246149Ssjg ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC} 136246149Ssjg 137246149Ssjg# C++ 138300313Ssjg${CXX_SUFFIXES}: 139246149Ssjg ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 140300313Ssjg${CXX_SUFFIXES:%=%.o}: 141246149Ssjg ${COMPILE.cc} ${.IMPSRC} 142300313Ssjg${CXX_SUFFIXES:%=%.a}: 143246149Ssjg ${COMPILE.cc} ${.IMPSRC} 144246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 145246149Ssjg rm -f $*.o 146246149Ssjg 147246149Ssjg# Fortran/Ratfor 148246149Ssjg.f: 149246149Ssjg ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 150246149Ssjg.f.o: 151246149Ssjg ${COMPILE.f} ${.IMPSRC} 152246149Ssjg.f.a: 153246149Ssjg ${COMPILE.f} ${.IMPSRC} 154246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 155246149Ssjg rm -f $*.o 156246149Ssjg 157246149Ssjg.F: 158246149Ssjg ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 159246149Ssjg.F.o: 160246149Ssjg ${COMPILE.F} ${.IMPSRC} 161246149Ssjg.F.a: 162246149Ssjg ${COMPILE.F} ${.IMPSRC} 163246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 164246149Ssjg rm -f $*.o 165246149Ssjg 166246149Ssjg.r: 167246149Ssjg ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 168246149Ssjg.r.o: 169246149Ssjg ${COMPILE.r} ${.IMPSRC} 170246149Ssjg.r.a: 171246149Ssjg ${COMPILE.r} ${.IMPSRC} 172246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 173246149Ssjg rm -f $*.o 174246149Ssjg 175246149Ssjg# Pascal 176246149Ssjg.p: 177246149Ssjg ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 178246149Ssjg.p.o: 179246149Ssjg ${COMPILE.p} ${.IMPSRC} 180246149Ssjg.p.a: 181246149Ssjg ${COMPILE.p} ${.IMPSRC} 182246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 183246149Ssjg rm -f $*.o 184246149Ssjg 185246149Ssjg# Assembly 186246149Ssjg.s: 187246149Ssjg ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 188246149Ssjg.s.o: 189246149Ssjg ${COMPILE.s} ${.IMPSRC} 190246149Ssjg.s.a: 191246149Ssjg ${COMPILE.s} ${.IMPSRC} 192246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 193246149Ssjg rm -f $*.o 194246149Ssjg.S: 195246149Ssjg ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 196246149Ssjg.S.o: 197246149Ssjg ${COMPILE.S} ${.IMPSRC} 198246149Ssjg.S.a: 199246149Ssjg ${COMPILE.S} ${.IMPSRC} 200246149Ssjg ${AR} ${ARFLAGS} $@ $*.o 201246149Ssjg rm -f $*.o 202246149Ssjg 203246149Ssjg# Lex 204246149Ssjg.l: 205246149Ssjg ${LEX.l} ${.IMPSRC} 206246149Ssjg ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 207246149Ssjg rm -f lex.yy.c 208246149Ssjg.l.c: 209246149Ssjg ${LEX.l} ${.IMPSRC} 210246149Ssjg mv lex.yy.c ${.TARGET} 211246149Ssjg.l.o: 212246149Ssjg ${LEX.l} ${.IMPSRC} 213246149Ssjg ${COMPILE.c} -o ${.TARGET} lex.yy.c 214246149Ssjg rm -f lex.yy.c 215246149Ssjg 216246149Ssjg# Yacc 217246149Ssjg.y: 218246149Ssjg ${YACC.y} ${.IMPSRC} 219246149Ssjg ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 220246149Ssjg rm -f y.tab.c 221246149Ssjg.y.c: 222246149Ssjg ${YACC.y} ${.IMPSRC} 223246149Ssjg mv y.tab.c ${.TARGET} 224246149Ssjg.y.o: 225246149Ssjg ${YACC.y} ${.IMPSRC} 226246149Ssjg ${COMPILE.c} -o ${.TARGET} y.tab.c 227246149Ssjg rm -f y.tab.c 228246149Ssjg 229246149Ssjg# Shell 230246149Ssjg.sh: 231246149Ssjg rm -f ${.TARGET} 232246149Ssjg cp ${.IMPSRC} ${.TARGET} 233