xref: /openbsd/Makefile.cross (revision a57924a5)
1*a57924a5Smiod# $OpenBSD: Makefile.cross,v 1.15 2006/04/19 18:32:39 miod Exp $
2a222f159Sespie
3a222f159Sespiecross-tools:	cross-includes cross-binutils cross-gcc cross-lib
4a222f159Sespiecross-distrib:	cross-tools cross-bin cross-etc-root-var
5a222f159Sespie
6a78fab76Smiod# Have to compute TARGET_ARCH directly in the Makefile, for .if tests involving
7a78fab76Smiod# this variable to work.
8a78fab76Smiod.if	(${TARGET} == "cats" || ${TARGET} == "zaurus")
9a78fab76SmiodTARGET_ARCH=	arm
10a78fab76Smiod.elif	(${TARGET} == "hp300" || ${TARGET} == "mac68k" || \
11a78fab76Smiod	 ${TARGET} == "mvme68k")
12a78fab76SmiodTARGET_ARCH=	m68k
13a78fab76Smiod.elif	(${TARGET} == "luna88k" || ${TARGET} == "mvme88k")
14a78fab76SmiodTARGET_ARCH=	m88k
15a78fab76Smiod.elif	(${TARGET} == "sgi")
16a78fab76SmiodTARGET_ARCH=	mips64
17a78fab76Smiod.elif	(${TARGET} == "macppc" || ${TARGET} == "mvmeppc")
18a78fab76SmiodTARGET_ARCH=	powerpc
19a78fab76Smiod.else
20a78fab76SmiodTARGET_ARCH=	${TARGET}
21a78fab76Smiod.endif
22a78fab76Smiod
23a222f159SespieCROSSCPPFLAGS?=	-nostdinc -I${CROSSDIR}/usr/include
24a222f159SespieCROSSLDFLAGS?=	-nostdlib -L${CROSSDIR}/usr/lib -static
25a222f159SespieCROSSCFLAGS?=	${CROSSCPPFLAGS}
26a222f159SespieCROSSCXXFLAGS?=	${CROSSCPPFLAGS}
27a222f159SespieLDSTATIC?=	-static
28a222f159Sespie
29a222f159SespieCROSSDIR=	${DESTDIR}/usr/cross/${TARGET}
30a222f159SespieCROSSENV=	AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \
31a222f159Sespie		CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \
32a222f159Sespie		CXX=${CROSSDIR}/usr/bin/c++ \
333102a934Sgrange		LD=${CROSSDIR}/usr/bin/ld \
34a222f159Sespie		LORDER=/usr/bin/lorder RANLIB=${CROSSDIR}/usr/bin/ranlib \
353102a934Sgrange		STRIP=${CROSSDIR}/usr/bin/strip \
36a222f159Sespie		HOSTCC=\"${CC}\" HOSTCXX=\"${CXX}\" NOMAN= DESTDIR=${CROSSDIR} \
37a222f159Sespie		HOSTCFLAGS=\"${CFLAGS}\" HOSTCXXFLAGS=\"${CXXFLAGS}\" \
38a222f159Sespie		HOSTLDFLAGS=\"${LDFLAGS}\" \
39a222f159Sespie		CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \
40a222f159Sespie		CXXFLAGS=\"${CROSSCXXFLAGS}\" \
41a222f159Sespie		LDFLAGS=\"${CROSSLDFLAGS}\"
42a222f159SespieCROSSPATH=	${PATH}:${CROSSDIR}/usr/bin
43a222f159SespieCROSSLANGS?=	c c++
44a222f159Sespie
45141bf37aSespieTARGET_CANON=`cat ${CROSSDIR}/TARGET_CANON`
46141bf37aSespie
47a222f159SespieCROSSDIRS=	${CROSSDIR}/.dirs_done
48a222f159SespieCROSSOBJ=	${CROSSDIR}/usr/obj/.obj_done
49a222f159SespieCROSSINCLUDES=	${CROSSDIR}/usr/include/.includes_done
50a222f159SespieCROSSBINUTILS=	${CROSSDIR}/usr/bin/.binutils_done
51a222f159SespieCROSSGCC=	${CROSSDIR}/usr/bin/.gcc_done
52a222f159SespieNO_CROSS=	isakmpd tn3270 less sudo openssl libkeynote libssl \
5383417ff2Smickey		keynote sectok ssh
54a222f159Sespie
55141bf37aSespie# no libcrypto.... these won't build
5621638670SmartinNO_CROSS+=	dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet
57141bf37aSespie# need host setup for ydr
58141bf37aSespieNO_CROSS+=afs
59141bf37aSespie# explicit cross-compile
60141bf37aSespieNO_CROSS+=bind
61141bf37aSespie
62a222f159Sespiecross-dirs:	${CROSSDIRS}
63a222f159Sespiecross-obj:	${CROSSOBJ}
64a222f159Sespiecross-includes:	${CROSSINCLUDES}
65a222f159Sespiecross-binutils:	${CROSSBINUTILS}
66a222f159Sespiecross-gcc:	${CROSSGCC}
67a222f159Sespie
68a222f159Sespiecross-env:
69a222f159Sespie	@echo ${CROSSENV} MACHINE=${TARGET} \
70a222f159Sespie	    MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`
71a222f159Sespie
72a222f159Sespie${CROSSDIRS}:
73a222f159Sespie	@-mkdir -p ${CROSSDIR}
74a78fab76Smiod	@echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH
75a222f159Sespie	@echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH`
76a222f159Sespie	@eval `grep '^osr=' sys/conf/newvers.sh`; \
77a222f159Sespie	   sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
78a222f159Sespie	   ${CROSSDIR}/TARGET_CANON
79a222f159Sespie	@-mkdir -p ${CROSSDIR}
80141bf37aSespie	@-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}
81a222f159Sespie	@ln -sf ${CROSSDIR}/usr/include \
82141bf37aSespie	    ${CROSSDIR}/usr/${TARGET_CANON}/include
83a222f159Sespie	@ln -sf ${CROSSDIR}/usr/lib \
84141bf37aSespie	    ${CROSSDIR}/usr/${TARGET_CANON}/lib
85141bf37aSespie	@-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}/bin
86a222f159Sespie	@(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs)
87a222f159Sespie	@touch ${CROSSDIRS}
88a222f159Sespie
89a222f159Sespie${CROSSOBJ}:	${CROSSDIRS}
90a222f159Sespie	@-mkdir -p ${CROSSDIR}/usr/obj
91a222f159Sespie	@(cd ${.CURDIR} && \
92a222f159Sespie	    BSDOBJDIR=${CROSSDIR}/usr/obj \
93a222f159Sespie	    MACHINE=${TARGET} \
94141bf37aSespie	    MACHINE_ARCH=${TARGET_ARCH} \
95a222f159Sespie	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
96a222f159Sespie	    ${MAKE} obj)
97a222f159Sespie	@touch ${CROSSOBJ}
98a222f159Sespie
99a222f159Sespie${CROSSINCLUDES}:	${CROSSOBJ}
100a222f159Sespie	@-mkdir -p ${CROSSDIR}/usr/include
101a222f159Sespie	@(cd ${.CURDIR}/include && \
102141bf37aSespie	    MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
103a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1043b94d488Sgrange	    TARGET_ARCH=${TARGET_ARCH} \
105a222f159Sespie	    ${MAKE} prereq && \
106141bf37aSespie	    MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
107a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1083b94d488Sgrange	    TARGET_ARCH=${TARGET_ARCH} \
109a222f159Sespie	    ${MAKE} DESTDIR=${CROSSDIR} includes)
110a222f159Sespie	@touch ${CROSSINCLUDES}
111a222f159Sespie
112a78fab76Smiod.if (${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \
113a78fab76Smiod     ${TARGET_ARCH} == "vax")
114a222f159SespieBINUTILS=	ar as ld nm ranlib objcopy objdump strings strip
115a222f159SespieNEW_BINUTILS?=	No
116a222f159Sespie.else
117a222f159SespieBINUTILS=	ar as gasp ld nm objcopy objdump ranlib readelf size \
118a222f159Sespie		strings strip
119a222f159SespieNEW_BINUTILS?=	Yes
120a222f159Sespie.endif
121a222f159Sespie
122a222f159Sespie${CROSSBINUTILS}:	${CROSSINCLUDES}
123a222f159Sespie.if ${NEW_BINUTILS:L} == "yes"
124a222f159Sespie	(cd ${.CURDIR}/gnu/usr.bin/binutils; \
125a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
126141bf37aSespie	    TARGET_ARCH=${TARGET_ARCH} \
127a222f159Sespie	    ${MAKE} -f Makefile.bsd-wrapper depend && \
128a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
129141bf37aSespie	    TARGET_ARCH=${TARGET_ARCH} \
130a222f159Sespie	    ${MAKE} -f Makefile.bsd-wrapper all && \
131a222f159Sespie	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
132a222f159Sespie	    ${MAKE} -f Makefile.bsd-wrapper install)
133a222f159Sespie.else
134a222f159Sespie	(cd ${.CURDIR}/gnu/usr.bin/gas; \
135141bf37aSespie	    TARGET_MACHINE_ARCH=${TARGET_ARCH} \
136a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \
137141bf37aSespie	    TARGET_MACHINE_ARCH=${TARGET_ARCH} \
138a222f159Sespie	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
139a222f159Sespie	    ${MAKE} NOMAN= install)
140a222f159Sespie	ln -sf ${CROSSDIR}/usr/bin/as \
1414149f057Smiod	    ${CROSSDIR}/usr/${TARGET_CANON}/bin/as
142a222f159Sespie	(cd ${.CURDIR}/gnu/usr.bin/ld; \
143141bf37aSespie	    TARGET_MACHINE_ARCH=${TARGET_ARCH} \
144a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
145a222f159Sespie	    ${MAKE} NOPIC= NOMAN= depend all; \
146141bf37aSespie	    TARGET_MACHINE_ARCH=${TARGET_ARCH} \
147a222f159Sespie	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
148a222f159Sespie	    ${MAKE} NOPIC= NOMAN= install)
149a222f159Sespie	ln -sf ${CROSSDIR}/usr/bin/ld \
150141bf37aSespie	    ${CROSSDIR}/usr/${TARGET_CANON}/bin/ld
151a222f159Sespie	(cd ${.CURDIR}/usr.bin/ar; \
152*a57924a5Smiod	    ELF_TOOLCHAIN=no \
153a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \
154*a57924a5Smiod	    ELF_TOOLCHAIN=no \
155a222f159Sespie	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
156a222f159Sespie	    ${MAKE} NOMAN= install)
157a222f159Sespie	ln -sf ${CROSSDIR}/usr/bin/ar \
158141bf37aSespie	    ${CROSSDIR}/usr/${TARGET_CANON}/bin/ar
159a222f159Sespie	(cd ${.CURDIR}/usr.bin/ranlib; \
160*a57924a5Smiod	    ELF_TOOLCHAIN=no \
161a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \
162*a57924a5Smiod	    ELF_TOOLCHAIN=no \
163a222f159Sespie	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
164a222f159Sespie	    ${MAKE} NOMAN= install)
165a222f159Sespie	ln -sf ${CROSSDIR}/usr/bin/ranlib \
166141bf37aSespie	    ${CROSSDIR}/usr/${TARGET_CANON}/bin/ranlib
167a222f159Sespie	(cd ${.CURDIR}/usr.bin/strip; \
168a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
169141bf37aSespie	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \
170a222f159Sespie	    NOMAN= depend all; \
171a222f159Sespie	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
172141bf37aSespie	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \
173a222f159Sespie	    NOMAN= install)
174a222f159Sespie	ln -sf ${CROSSDIR}/usr/bin/strip \
175141bf37aSespie	    ${CROSSDIR}/usr/${TARGET_CANON}/bin/strip
176a222f159Sespie.endif
177a222f159Sespie	@for cmd in ${BINUTILS}; do \
178a222f159Sespie	 if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a \
179141bf37aSespie	 -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ]; then \
180141bf37aSespie	    ln -sf ${TARGET_CANON}-$$cmd ${CROSSDIR}/usr/bin/$$cmd ;\
181a222f159Sespie	 elif [ -e ${CROSSDIR}/usr/bin/$$cmd -a \
182141bf37aSespie	 ! -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ]; then \
183141bf37aSespie	    ln -sf $$cmd ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd; \
184a222f159Sespie	 fi ;\
185a222f159Sespie	 if [ -e ${CROSSDIR}/usr/bin/$$cmd -a \
186141bf37aSespie	 ! -e ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ]; then \
187a222f159Sespie	    ln -sf ${CROSSDIR}/usr/bin/$$cmd \
188141bf37aSespie	        ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd; \
189a222f159Sespie	 fi ;\
190a222f159Sespie	done
191a222f159Sespie	@touch ${CROSSBINUTILS}
192a222f159Sespie
193a222f159Sespie# bsd.own.mk can't do it for us
194a78fab76Smiod.if ${TARGET_ARCH} == "alpha" || \
195a78fab76Smiod    ${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \
196a78fab76Smiod    ${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "vax"
197ca88db65SespieTARGET_USE_GCC3=No
19819bc13dbSmickey.else
19919bc13dbSmickeyTARGET_USE_GCC3=Yes
200a222f159Sespie.endif
201a222f159Sespie
202a222f159Sespie${CROSSGCC}:		${CROSSBINUTILS}
203ca88db65Sespie.if ${TARGET_USE_GCC3:L} == "yes"
204a222f159Sespie	(cd ${.CURDIR}/gnu/usr.bin/gcc; \
205a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
206141bf37aSespie	    TARGET_ARCH=${TARGET_ARCH} CROSSDIR=${CROSSDIR} \
207a222f159Sespie	    ${MAKE} -f Makefile.bsd-wrapper depend && \
208a222f159Sespie	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
209141bf37aSespie	    TARGET_ARCH=${TARGET_ARCH} CROSSDIR=${CROSSDIR} \
210a222f159Sespie	    ${MAKE} -f Makefile.bsd-wrapper all && \
211a222f159Sespie	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
212a222f159Sespie	    ${MAKE} -f Makefile.bsd-wrapper install)
213141bf37aSespie	ln -sf ${TARGET_CANON}-g++ ${CROSSDIR}/usr/bin/c++
214a222f159Sespie	ln -sf ${CROSSDIR}/usr/libexec/cpp \
215a222f159Sespie	    ${CROSSDIR}/usr/bin/cpp
216a222f159Sespie.else
217a222f159Sespie	(cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \
218a222f159Sespie	    /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \
219a222f159Sespie	    --with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \
220141bf37aSespie	    --target ${TARGET_CANON} \
221a222f159Sespie	    --enable-languages="c,c++" --enable-cpp --disable-nls \
222a222f159Sespie	    --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \
223a222f159Sespie	    PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \
224a222f159Sespie	    CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \
225a222f159Sespie	    LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \
226a222f159Sespie	    DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \
227a222f159Sespie	    GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
228a222f159Sespie	    ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \
229a222f159Sespie	    GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
230a222f159Sespie	    CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \
231a222f159Sespie	    LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \
232a222f159Sespie	    build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
233141bf37aSespie	ln -sf ${TARGET_CANON}-gcc ${CROSSDIR}/usr/bin/cc
234141bf37aSespie	ln -sf ${TARGET_CANON}-g++ ${CROSSDIR}/usr/bin/c++
235a222f159Sespie	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
236a222f159Sespie	    ${CROSSDIR}/usr/obj/gnu/egcs/gcc/cpp \
237a222f159Sespie	    ${CROSSDIR}/usr/libexec/cpp
238a222f159Sespie	sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/libexec/cpp#' \
239a222f159Sespie	    -e 's#/usr/include#${CROSSDIR}/usr/include#' \
240cf791450Smiod	    -e 's/@dollaropt@/-$$/' \
241a222f159Sespie	    ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp
242a222f159Sespie	chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp
243a222f159Sespie	chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp
244a222f159Sespie.endif
245a222f159Sespie	@touch ${CROSSGCC}
246a222f159Sespie
247a222f159Sespie# XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later
248a222f159Sespiecross-lib:	${CROSSGCC}
249141bf37aSespie	MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \
250a222f159Sespie	export MACHINE MACHINE_ARCH; \
251a222f159Sespie	(cd ${.CURDIR}/lib; \
252a222f159Sespie	    for lib in csu libc; do \
253a222f159Sespie	    (cd $$lib; \
254a222f159Sespie	        eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
255f16068f4Sgrange		    ${MAKE} WANTLINT=no depend all install); \
256a222f159Sespie	    done; \
257a222f159Sespie	    eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
258a222f159Sespie	        SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \
259f16068f4Sgrange	        ${MAKE} WANTLINT=no depend all install)
260a222f159Sespie
261a222f159Sespiecross-bin:	${CROSSOBJ}
262141bf37aSespie	MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \
263a222f159Sespie	export MACHINE MACHINE_ARCH; \
264a222f159Sespie	for i in libexec bin sbin usr.bin usr.sbin; do \
265a222f159Sespie	(cd ${.CURDIR}/$$i; \
266a222f159Sespie	    eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
267a222f159Sespie	        SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \
268a222f159Sespie	        ${MAKE} depend all install); \
269a222f159Sespie	done
270a222f159Sespie
271a222f159Sespiecross-etc-root-var:	${CROSSOBJ}
272a222f159Sespie	(cd ${.CURDIR}/etc && \
273c456f6a6Sdrahn	    MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
274a222f159Sespie	    DESTDIR=${CROSSDIR} ${MAKE} distribution-etc-root-var)
275a222f159Sespie
276a222f159Sespiecross-depend:
277a222f159Sespie	@(cd ${.CURDIR} && \
278a222f159Sespie	    BSDOBJDIR=${CROSSDIR}/usr/obj \
279a222f159Sespie	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
280a222f159Sespie	    SKIPDIR="${NO_CROSS}" \
281a222f159Sespie	    ${MAKE} depend)
282a222f159Sespie
283a222f159Sespiecross-clean:
284a222f159Sespie	@(cd ${.CURDIR} && \
285a222f159Sespie	    BSDOBJDIR=${CROSSDIR}/usr/obj \
286a222f159Sespie	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
287a222f159Sespie	    SKIPDIR="${NO_CROSS}" \
288a222f159Sespie	    ${MAKE} clean)
289a222f159Sespie
290a222f159Sespiecross-cleandir:
291a222f159Sespie	@(cd ${.CURDIR} && \
292a222f159Sespie	    BSDOBJDIR=${CROSSDIR}/usr/obj \
293a222f159Sespie	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
294a222f159Sespie	    SKIPDIR="${NO_CROSS}" \
295a222f159Sespie	    ${MAKE} cleandir)
296