13cbdda60SSimon J. Gerraty# $NetBSD: sys.mk,v 1.66.2.1 2002/06/05 03:31:01 lukem Exp $ 23cbdda60SSimon J. Gerraty# @(#)sys.mk 8.2 (Berkeley) 3/21/94 33cbdda60SSimon J. Gerraty 43841c287SSimon J. GerratyOS ?= NetBSD 53cbdda60SSimon J. Gerratyunix ?= We run ${OS}. 63cbdda60SSimon J. Gerraty 73cbdda60SSimon J. Gerraty.if !defined(MAKE_VERSION) 83cbdda60SSimon J. Gerraty# we are running native make 93cbdda60SSimon J. Gerraty# which defined MAKE_VERSION between 20010609 and 20090324 103cbdda60SSimon J. Gerraty# so we can make a rough guess 113cbdda60SSimon J. Gerraty.if defined(.MAKE.LEVEL) 123841c287SSimon J. GerratyMAKE_VERSION ?= 20090908 133cbdda60SSimon J. Gerraty.elif defined(.MAKE.MAKEFILES) 143cbdda60SSimon J. Gerraty# introduced 20071008 153841c287SSimon J. GerratyMAKE_VERSION ?= 20090324 163cbdda60SSimon J. Gerraty.else 173cbdda60SSimon J. Gerraty# this just before when MAKE_VERSION was introduced 183841c287SSimon J. GerratyMAKE_VERSION ?= 20010606 193cbdda60SSimon J. Gerraty.endif 203cbdda60SSimon J. Gerraty.endif 213cbdda60SSimon J. Gerraty 22e48f47ddSSimon J. Gerraty.SUFFIXES: .out .a .ln .o .s .S .c ${CXX_SUFFIXES} .F .f .r .y .l .cl .p .h 233cbdda60SSimon J. Gerraty.SUFFIXES: .sh .m4 243cbdda60SSimon J. Gerraty 253cbdda60SSimon J. Gerraty.LIBS: .a 263cbdda60SSimon J. Gerraty 273cbdda60SSimon J. GerratyAR ?= ar 28*1d3f2ddcSSimon J. GerratyARFLAGS ?= r 293cbdda60SSimon J. GerratyRANLIB ?= ranlib 303cbdda60SSimon J. Gerraty 313cbdda60SSimon J. GerratyAS ?= as 323cbdda60SSimon J. GerratyAFLAGS ?= 333cbdda60SSimon J. GerratyCOMPILE.s ?= ${CC} ${AFLAGS} -c 343cbdda60SSimon J. GerratyLINK.s ?= ${CC} ${AFLAGS} ${LDFLAGS} 353cbdda60SSimon J. GerratyCOMPILE.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp 363cbdda60SSimon J. GerratyLINK.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} 373cbdda60SSimon J. Gerraty 383cbdda60SSimon J. GerratyCC ?= cc 393cbdda60SSimon J. Gerraty 403cbdda60SSimon J. Gerraty# need to make sure this is set 413cbdda60SSimon J. GerratyMACHINE_ARCH.${MACHINE} ?= ${MACHINE} 423cbdda60SSimon J. Gerraty.if empty(MACHINE_ARCH) 433841c287SSimon J. GerratyMACHINE_ARCH ?= ${MACHINE_ARCH.${MACHINE}} 443cbdda60SSimon J. Gerraty.endif 453cbdda60SSimon J. Gerraty 463cbdda60SSimon J. Gerraty# 473cbdda60SSimon J. Gerraty# CPU model, derived from MACHINE_ARCH 483cbdda60SSimon J. Gerraty# 493841c287SSimon J. GerratyMACHINE_CPU ?= ${MACHINE_ARCH:C/mipse[bl]/mips/:C/mips64e[bl]/mips/:C/sh3e[bl]/sh3/:S/m68000/m68k/:S/armeb/arm/} 503cbdda60SSimon J. Gerraty 513cbdda60SSimon J. Gerraty.if ${MACHINE_CPU} == "alpha" || \ 523cbdda60SSimon J. Gerraty ${MACHINE_CPU} == "arm" || \ 533cbdda60SSimon J. Gerraty ${MACHINE_CPU} == "i386" || \ 543cbdda60SSimon J. Gerraty ${MACHINE_CPU} == "m68k" || \ 553cbdda60SSimon J. Gerraty ${MACHINE_CPU} == "mips" || \ 563cbdda60SSimon J. Gerraty ${MACHINE_CPU} == "powerpc" || \ 573cbdda60SSimon J. Gerraty ${MACHINE_CPU} == "sparc" || \ 583cbdda60SSimon J. Gerraty ${MACHINE_CPU} == "vax" 593cbdda60SSimon J. GerratyDBG ?= -O2 603cbdda60SSimon J. Gerraty.elif ${MACHINE_ARCH} == "x86_64" 613cbdda60SSimon J. GerratyDBG ?= 623cbdda60SSimon J. Gerraty.elif ${MACHINE_ARCH} == "sparc64" 633cbdda60SSimon J. GerratyDBG ?= -O -ffixed-g4 #Hack for embedany memory model compatibility 643cbdda60SSimon J. Gerraty.else 653cbdda60SSimon J. GerratyDBG ?= -O 663cbdda60SSimon J. Gerraty.endif 673cbdda60SSimon J. GerratyCFLAGS ?= ${DBG} 683cbdda60SSimon J. GerratyCOMPILE.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} -c 693cbdda60SSimon J. GerratyLINK.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} 703cbdda60SSimon J. Gerraty 713cbdda60SSimon J. GerratyCXX ?= c++ 723cbdda60SSimon J. GerratyCXXFLAGS ?= ${CFLAGS} 733cbdda60SSimon J. GerratyCOMPILE.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c 743cbdda60SSimon J. GerratyLINK.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} 753cbdda60SSimon J. Gerraty 763cbdda60SSimon J. GerratyOBJC ?= ${CC} 773cbdda60SSimon J. GerratyOBJCFLAGS ?= ${CFLAGS} 783cbdda60SSimon J. GerratyCOMPILE.m ?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c 793cbdda60SSimon J. GerratyLINK.m ?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS} 803cbdda60SSimon J. Gerraty 813cbdda60SSimon J. GerratyCPP ?= cpp 823cbdda60SSimon J. GerratyCPPFLAGS ?= 833cbdda60SSimon J. Gerraty 843cbdda60SSimon J. GerratyFC ?= f77 853cbdda60SSimon J. GerratyFFLAGS ?= -O 863cbdda60SSimon J. GerratyRFLAGS ?= 873cbdda60SSimon J. GerratyCOMPILE.f ?= ${FC} ${FFLAGS} -c 883cbdda60SSimon J. GerratyLINK.f ?= ${FC} ${FFLAGS} ${LDFLAGS} 893cbdda60SSimon J. GerratyCOMPILE.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} -c 903cbdda60SSimon J. GerratyLINK.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} 913cbdda60SSimon J. GerratyCOMPILE.r ?= ${FC} ${FFLAGS} ${RFLAGS} -c 923cbdda60SSimon J. GerratyLINK.r ?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} 933cbdda60SSimon J. Gerraty 943cbdda60SSimon J. GerratyINSTALL ?= install 953cbdda60SSimon J. Gerraty 963cbdda60SSimon J. GerratyLEX ?= lex 973cbdda60SSimon J. GerratyLFLAGS ?= 983cbdda60SSimon J. GerratyLEX.l ?= ${LEX} ${LFLAGS} 993cbdda60SSimon J. Gerraty 1003cbdda60SSimon J. GerratyLD ?= ld 1013cbdda60SSimon J. GerratyLDFLAGS ?= 1023cbdda60SSimon J. Gerraty 1033cbdda60SSimon J. GerratyLINT ?= lint 1043cbdda60SSimon J. GerratyLINTFLAGS ?= -chapbxzF 1053cbdda60SSimon J. Gerraty 1063cbdda60SSimon J. GerratyLORDER ?= lorder 1073cbdda60SSimon J. Gerraty 1083cbdda60SSimon J. GerratyNM ?= nm 1093cbdda60SSimon J. Gerraty 1103cbdda60SSimon J. GerratyPC ?= pc 1113cbdda60SSimon J. GerratyPFLAGS ?= 1123cbdda60SSimon J. GerratyCOMPILE.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} -c 1133cbdda60SSimon J. GerratyLINK.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} 1143cbdda60SSimon J. Gerraty 1153cbdda60SSimon J. GerratySIZE ?= size 1163cbdda60SSimon J. Gerraty 1173cbdda60SSimon J. GerratyTSORT ?= tsort -q 1183cbdda60SSimon J. Gerraty 1193cbdda60SSimon J. GerratyYACC ?= yacc 1203cbdda60SSimon J. GerratyYFLAGS ?= 1213cbdda60SSimon J. GerratyYACC.y ?= ${YACC} ${YFLAGS} 1223cbdda60SSimon J. Gerraty 1233cbdda60SSimon J. Gerraty# C 1243cbdda60SSimon J. Gerraty.c: 1253cbdda60SSimon J. Gerraty ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1263cbdda60SSimon J. Gerraty.c.o: 1273cbdda60SSimon J. Gerraty ${COMPILE.c} ${.IMPSRC} 1283cbdda60SSimon J. Gerraty.c.a: 1293cbdda60SSimon J. Gerraty ${COMPILE.c} ${.IMPSRC} 1303cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1313cbdda60SSimon J. Gerraty rm -f $*.o 1323cbdda60SSimon J. Gerraty.c.ln: 1333cbdda60SSimon J. Gerraty ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC} 1343cbdda60SSimon J. Gerraty 1353cbdda60SSimon J. Gerraty# C++ 136e48f47ddSSimon J. Gerraty${CXX_SUFFIXES}: 1373cbdda60SSimon J. Gerraty ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 138e48f47ddSSimon J. Gerraty${CXX_SUFFIXES:%=%.o}: 1393cbdda60SSimon J. Gerraty ${COMPILE.cc} ${.IMPSRC} 140e48f47ddSSimon J. Gerraty${CXX_SUFFIXES:%=%.a}: 1413cbdda60SSimon J. Gerraty ${COMPILE.cc} ${.IMPSRC} 1423cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1433cbdda60SSimon J. Gerraty rm -f $*.o 1443cbdda60SSimon J. Gerraty 1453cbdda60SSimon J. Gerraty# Fortran/Ratfor 1463cbdda60SSimon J. Gerraty.f: 1473cbdda60SSimon J. Gerraty ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1483cbdda60SSimon J. Gerraty.f.o: 1493cbdda60SSimon J. Gerraty ${COMPILE.f} ${.IMPSRC} 1503cbdda60SSimon J. Gerraty.f.a: 1513cbdda60SSimon J. Gerraty ${COMPILE.f} ${.IMPSRC} 1523cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1533cbdda60SSimon J. Gerraty rm -f $*.o 1543cbdda60SSimon J. Gerraty 1553cbdda60SSimon J. Gerraty.F: 1563cbdda60SSimon J. Gerraty ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1573cbdda60SSimon J. Gerraty.F.o: 1583cbdda60SSimon J. Gerraty ${COMPILE.F} ${.IMPSRC} 1593cbdda60SSimon J. Gerraty.F.a: 1603cbdda60SSimon J. Gerraty ${COMPILE.F} ${.IMPSRC} 1613cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1623cbdda60SSimon J. Gerraty rm -f $*.o 1633cbdda60SSimon J. Gerraty 1643cbdda60SSimon J. Gerraty.r: 1653cbdda60SSimon J. Gerraty ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1663cbdda60SSimon J. Gerraty.r.o: 1673cbdda60SSimon J. Gerraty ${COMPILE.r} ${.IMPSRC} 1683cbdda60SSimon J. Gerraty.r.a: 1693cbdda60SSimon J. Gerraty ${COMPILE.r} ${.IMPSRC} 1703cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1713cbdda60SSimon J. Gerraty rm -f $*.o 1723cbdda60SSimon J. Gerraty 1733cbdda60SSimon J. Gerraty# Pascal 1743cbdda60SSimon J. Gerraty.p: 1753cbdda60SSimon J. Gerraty ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1763cbdda60SSimon J. Gerraty.p.o: 1773cbdda60SSimon J. Gerraty ${COMPILE.p} ${.IMPSRC} 1783cbdda60SSimon J. Gerraty.p.a: 1793cbdda60SSimon J. Gerraty ${COMPILE.p} ${.IMPSRC} 1803cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1813cbdda60SSimon J. Gerraty rm -f $*.o 1823cbdda60SSimon J. Gerraty 1833cbdda60SSimon J. Gerraty# Assembly 1843cbdda60SSimon J. Gerraty.s: 1853cbdda60SSimon J. Gerraty ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1863cbdda60SSimon J. Gerraty.s.o: 1873cbdda60SSimon J. Gerraty ${COMPILE.s} ${.IMPSRC} 1883cbdda60SSimon J. Gerraty.s.a: 1893cbdda60SSimon J. Gerraty ${COMPILE.s} ${.IMPSRC} 1903cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1913cbdda60SSimon J. Gerraty rm -f $*.o 1923cbdda60SSimon J. Gerraty.S: 1933cbdda60SSimon J. Gerraty ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} 1943cbdda60SSimon J. Gerraty.S.o: 1953cbdda60SSimon J. Gerraty ${COMPILE.S} ${.IMPSRC} 1963cbdda60SSimon J. Gerraty.S.a: 1973cbdda60SSimon J. Gerraty ${COMPILE.S} ${.IMPSRC} 1983cbdda60SSimon J. Gerraty ${AR} ${ARFLAGS} $@ $*.o 1993cbdda60SSimon J. Gerraty rm -f $*.o 2003cbdda60SSimon J. Gerraty 2013cbdda60SSimon J. Gerraty# Lex 2023cbdda60SSimon J. Gerraty.l: 2033cbdda60SSimon J. Gerraty ${LEX.l} ${.IMPSRC} 2043cbdda60SSimon J. Gerraty ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll 2053cbdda60SSimon J. Gerraty rm -f lex.yy.c 2063cbdda60SSimon J. Gerraty.l.c: 2073cbdda60SSimon J. Gerraty ${LEX.l} ${.IMPSRC} 2083cbdda60SSimon J. Gerraty mv lex.yy.c ${.TARGET} 2093cbdda60SSimon J. Gerraty.l.o: 2103cbdda60SSimon J. Gerraty ${LEX.l} ${.IMPSRC} 2113cbdda60SSimon J. Gerraty ${COMPILE.c} -o ${.TARGET} lex.yy.c 2123cbdda60SSimon J. Gerraty rm -f lex.yy.c 2133cbdda60SSimon J. Gerraty 2143cbdda60SSimon J. Gerraty# Yacc 2153cbdda60SSimon J. Gerraty.y: 2163cbdda60SSimon J. Gerraty ${YACC.y} ${.IMPSRC} 2173cbdda60SSimon J. Gerraty ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} 2183cbdda60SSimon J. Gerraty rm -f y.tab.c 2193cbdda60SSimon J. Gerraty.y.c: 2203cbdda60SSimon J. Gerraty ${YACC.y} ${.IMPSRC} 2213cbdda60SSimon J. Gerraty mv y.tab.c ${.TARGET} 2223cbdda60SSimon J. Gerraty.y.o: 2233cbdda60SSimon J. Gerraty ${YACC.y} ${.IMPSRC} 2243cbdda60SSimon J. Gerraty ${COMPILE.c} -o ${.TARGET} y.tab.c 2253cbdda60SSimon J. Gerraty rm -f y.tab.c 2263cbdda60SSimon J. Gerraty 2273cbdda60SSimon J. Gerraty# Shell 2283cbdda60SSimon J. Gerraty.sh: 2293cbdda60SSimon J. Gerraty rm -f ${.TARGET} 2303cbdda60SSimon J. Gerraty cp ${.IMPSRC} ${.TARGET} 231*1d3f2ddcSSimon J. Gerraty chmod a+x ${.TARGET} 232