1 # $NetBSD: sys.mk,v 1.66.2.1 2002/06/05 03:31:01 lukem Exp $
2 # @(#)sys.mk 8.2 (Berkeley) 3/21/94
7 .if !defined(MAKE_VERSION)
8 # we are running native make
9 # which defined MAKE_VERSION between 20010609 and 20090324
10 # so we can make a rough guess
11 .if defined(.MAKE.LEVEL)
12 MAKE_VERSION ?= 20090908
13 .elif defined(.MAKE.MAKEFILES)
15 MAKE_VERSION ?= 20090324
17 # this just before when MAKE_VERSION was introduced
18 MAKE_VERSION ?= 20010606
22 .SUFFIXES: .out .a .ln .o .s .S .c ${CXX_SUFFIXES} .F .f .r .y .l .cl .p .h
33 COMPILE.s ?= ${CC} ${AFLAGS} -c
34 LINK.s ?= ${CC} ${AFLAGS} ${LDFLAGS}
35 COMPILE.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
36 LINK.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
40 # need to make sure this is set
41 MACHINE_ARCH.${MACHINE} ?= ${MACHINE}
42 .if empty(MACHINE_ARCH)
43 MACHINE_ARCH ?= ${MACHINE_ARCH.${MACHINE}}
47 # CPU model, derived from MACHINE_ARCH
49 MACHINE_CPU ?= ${MACHINE_ARCH:C/mipse[bl]/mips/:C/mips64e[bl]/mips/:C/sh3e[bl]/sh3/:S/m68000/m68k/:S/armeb/arm/}
51 .if ${MACHINE_CPU} == "alpha" || \
52 ${MACHINE_CPU} == "arm" || \
53 ${MACHINE_CPU} == "i386" || \
54 ${MACHINE_CPU} == "m68k" || \
55 ${MACHINE_CPU} == "mips" || \
56 ${MACHINE_CPU} == "powerpc" || \
57 ${MACHINE_CPU} == "sparc" || \
58 ${MACHINE_CPU} == "vax"
60 .elif ${MACHINE_ARCH} == "x86_64"
62 .elif ${MACHINE_ARCH} == "sparc64"
63 DBG ?= -O -ffixed-g4 #Hack for embedany memory model compatibility
68 COMPILE.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} -c
69 LINK.c ?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
73 COMPILE.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
74 LINK.cc ?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
77 OBJCFLAGS ?= ${CFLAGS}
78 COMPILE.m ?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
79 LINK.m ?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
87 COMPILE.f ?= ${FC} ${FFLAGS} -c
88 LINK.f ?= ${FC} ${FFLAGS} ${LDFLAGS}
89 COMPILE.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} -c
90 LINK.F ?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
91 COMPILE.r ?= ${FC} ${FFLAGS} ${RFLAGS} -c
92 LINK.r ?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
98 LEX.l ?= ${LEX} ${LFLAGS}
104 LINTFLAGS ?= -chapbxzF
112 COMPILE.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
113 LINK.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
121 YACC.y ?= ${YACC} ${YFLAGS}
125 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
127 ${COMPILE.c} ${.IMPSRC}
129 ${COMPILE.c} ${.IMPSRC}
130 ${AR} ${ARFLAGS} $@ $*.o
133 ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
137 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
138 ${CXX_SUFFIXES:%=%.o}:
139 ${COMPILE.cc} ${.IMPSRC}
140 ${CXX_SUFFIXES:%=%.a}:
141 ${COMPILE.cc} ${.IMPSRC}
142 ${AR} ${ARFLAGS} $@ $*.o
147 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
149 ${COMPILE.f} ${.IMPSRC}
151 ${COMPILE.f} ${.IMPSRC}
152 ${AR} ${ARFLAGS} $@ $*.o
156 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
158 ${COMPILE.F} ${.IMPSRC}
160 ${COMPILE.F} ${.IMPSRC}
161 ${AR} ${ARFLAGS} $@ $*.o
165 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
167 ${COMPILE.r} ${.IMPSRC}
169 ${COMPILE.r} ${.IMPSRC}
170 ${AR} ${ARFLAGS} $@ $*.o
175 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
177 ${COMPILE.p} ${.IMPSRC}
179 ${COMPILE.p} ${.IMPSRC}
180 ${AR} ${ARFLAGS} $@ $*.o
185 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
187 ${COMPILE.s} ${.IMPSRC}
189 ${COMPILE.s} ${.IMPSRC}
190 ${AR} ${ARFLAGS} $@ $*.o
193 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
195 ${COMPILE.S} ${.IMPSRC}
197 ${COMPILE.S} ${.IMPSRC}
198 ${AR} ${ARFLAGS} $@ $*.o
204 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
208 mv lex.yy.c ${.TARGET}
211 ${COMPILE.c} -o ${.TARGET} lex.yy.c
217 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
221 mv y.tab.c ${.TARGET}
224 ${COMPILE.c} -o ${.TARGET} y.tab.c
230 cp ${.IMPSRC} ${.TARGET}