xref: /freebsd/contrib/bmake/mk/sys/NetBSD.mk (revision 1d3f2ddc32fc37e4835aa5a51eabc8696c1e8114)
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