xref: /openbsd/Makefile (revision efeb256f)
1*efeb256fSespie#	$OpenBSD: Makefile,v 1.66 2001/05/14 12:34:26 espie Exp $
2df930be7Sderaadt
35034ab0fSderaadt#
45034ab0fSderaadt# For more information on building in tricky environments, please see
55034ab0fSderaadt# the list of possible environment variables described in
65034ab0fSderaadt# /usr/share/mk/bsd.README.
75034ab0fSderaadt#
85034ab0fSderaadt# Building recommendations:
95034ab0fSderaadt#
105034ab0fSderaadt# 1) If at all possible, put this source tree in /usr/src.  If /usr/src
115034ab0fSderaadt# must be a symbolic link, setenv BSDSRCDIR to point to the real location.
125034ab0fSderaadt#
135034ab0fSderaadt# 2) It is also recommended that you compile with objects outside the
145034ab0fSderaadt# source tree. To do this, ensure /usr/obj exists or points to some
155034ab0fSderaadt# area of disk of sufficient size.  Then do "cd /usr/src; make obj".
165034ab0fSderaadt# This will make a symbolic link called "obj" in each directory, as
175034ab0fSderaadt# well as populate the /usr/obj properly with directories for the
185034ab0fSderaadt# objects.
195034ab0fSderaadt#
20b908e61cSart# 3) It is strongly recommended that you build and install a new kernel
21b908e61cSart# before rebuilding your system. Some of the new programs may use new
22b908e61cSart# functionality or depend on API changes that your old kernel doesn't have.
23b908e61cSart#
24b908e61cSart# 4) If you are reasonably sure that things will compile OK, use the
255034ab0fSderaadt# "make build" target supplied here. Good luck.
26d05f021aSmickey#
27b908e61cSart# 5) If you want to setup a cross-build environment, there is a "cross-tools"
28d05f021aSmickey# target available which upon completion of "make TARGET=<target> cross-tools"
29d05f021aSmickey# (where <target> is one of the names in the /sys/arch directory) will produce
30d05f021aSmickey# a set of compilation tools along with the includes in the /usr/cross/<target>
31d05f021aSmickey# directory.
32d05f021aSmickey#
33094eb183Smickey
345034ab0fSderaadt.include <bsd.own.mk>	# for NOMAN, if it's there.
35df930be7Sderaadt
36df930be7SderaadtSUBDIR+= lib include bin libexec sbin usr.bin usr.sbin share games
37df930be7SderaadtSUBDIR+= gnu
38df930be7Sderaadt
39900e3302StholoSUBDIR+= sys lkm
40df930be7Sderaadt
41ff60459dSespie.if (${KERBEROS:L} == "yes")
42b1b0ccd8StholoSUBDIR+= kerberosIV
4396eaadcaStholo.endif
44b1b0ccd8Stholo
454f7a1a57Sderaadt.if   make(clean) || make(cleandir) || make(obj)
464f7a1a57SderaadtSUBDIR+= distrib
474f7a1a57Sderaadt.endif
484f7a1a57Sderaadt
49df930be7Sderaadt.if exists(regress)
50df930be7Sderaadt.ifmake !(install)
51df930be7SderaadtSUBDIR+= regress
52df930be7Sderaadt.endif
53df930be7Sderaadt
54df930be7Sderaadtregression-tests:
55df930be7Sderaadt	@echo Running regression tests...
56*efeb256fSespie	@cd ${.CURDIR}/regress && exec ${MAKE} regress
57df930be7Sderaadt.endif
58df930be7Sderaadt
594ae007f5Sderaadtincludes:
60*efeb256fSespie	cd ${.CURDIR}/include && ${MAKE} prereq && exec ${MAKE} includes
614ae007f5Sderaadt
620d5e6725Sderaadtbeforeinstall:
63*efeb256fSespie	cd ${.CURDIR}/etc && exec ${MAKE} DESTDIR=${DESTDIR} distrib-dirs
64*efeb256fSespie	cd ${.CURDIR}/include && exec ${MAKE} includes
65df930be7Sderaadt
66df930be7Sderaadtafterinstall:
67df930be7Sderaadt.ifndef NOMAN
68*efeb256fSespie	cd ${.CURDIR}/share/man && exec ${MAKE} makedb
69df930be7Sderaadt.endif
70df930be7Sderaadt
71df930be7Sderaadtbuild:
7271e87bb9Skstailey.ifdef GLOBAL_AUTOCONF_CACHE
739518c5e7Sangelos	cp /dev/null ${GLOBAL_AUTOCONF_CACHE}
749a76bd19Skstailey.endif
75*efeb256fSespie	cd ${.CURDIR}/share/mk && exec ${SUDO} ${MAKE} install
76*efeb256fSespie	cd ${.CURDIR}/include && ${MAKE} prereq && exec ${SUDO} ${MAKE} includes
772a6fc024Smillert	${SUDO} ${MAKE} cleandir
78*efeb256fSespie	cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && \
79*efeb256fSespie	    NOMAN=1 exec ${SUDO} ${MAKE} install
80*efeb256fSespie	cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \
81*efeb256fSespie	    NOMAN=1 exec ${SUDO} ${MAKE} install
82ff60459dSespie.if (${KERBEROS:L} == "yes")
83*efeb256fSespie	cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && ${MAKE} && \
84*efeb256fSespie	    NOMAN=1 exec ${SUDO} ${MAKE} install
85dc264316Sniklas.endif
86*efeb256fSespie	cd ${.CURDIR}/gnu/usr.bin/perl && \
878e7fffa2Smillert	    ${MAKE} -f Makefile.bsd-wrapper depend && \
888e7fffa2Smillert	    ${MAKE} -f Makefile.bsd-wrapper perl.lib && \
89*efeb256fSespie	    exec ${SUDO} ${MAKE} -f Makefile.bsd-wrapper install.lib
90a60dba07Sderaadt.if (${MACHINE_ARCH} == "mips")
912f1e4ea6Sderaadt	ldconfig -R
92a60dba07Sderaadt.endif
93*efeb256fSespie	${MAKE} depend && ${MAKE} && exec ${SUDO} ${MAKE} install
94df930be7Sderaadt
959c3ce19dSniklas.if !defined(TARGET)
969c3ce19dSniklascross-tools:
979c3ce19dSniklas	echo "TARGET must be set"; exit 1
989c3ce19dSniklas.else
996239411bSimpcross-tools:	cross-helpers cross-dirs cross-includes cross-binutils \
1006239411bSimp	cross-gcc cross-lib
1019c3ce19dSniklas
1029c3ce19dSniklasCROSSDIR=	${DESTDIR}/usr/cross/${TARGET}
103f6e60134SniklasCROSSENV=	AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \
104f6e60134Sniklas		CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \
105f6e60134Sniklas		LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \
10656109f03Simp		LORDER=${CROSSDIR}/usr/bin/lorder \
107f6e60134Sniklas		RANLIB=${CROSSDIR}/usr/bin/ranlib \
108f6e60134Sniklas		SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \
109f4a9ae37Sniklas		HOSTCC=cc
11065092737SniklasCROSSPATH=	${PATH}:${CROSSDIR}/usr/bin
1119c3ce19dSniklas
1129c3ce19dSniklascross-helpers:
1136239411bSimp	mkdir -p ${CROSSDIR}
1149c3ce19dSniklas	echo _MACHINE_ARCH | \
1159c3ce19dSniklas	    cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \
11662156da0Smickey	    ${CPP} -E -I${.CURDIR}/sys/arch | \
11762156da0Smickey	    sed -n '$$p' >${CROSSDIR}/TARGET_ARCH
1186239411bSimp# GROSS KLUDGE  MACHINE_ARCH is mips, but we use mipsel for gnu tools.
1196239411bSimp.if ${TARGET} == "arc" || ${TARGET} == "pmax"
1206239411bSimp	eval `grep '^osr=' sys/conf/newvers.sh`; \
1216239411bSimp	   sed "s/\$$/el-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
1226239411bSimp	   ${CROSSDIR}/TARGET_CANON
1236239411bSimp.else
1249c3ce19dSniklas	eval `grep '^osr=' sys/conf/newvers.sh`; \
1259c3ce19dSniklas	   sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
1269c3ce19dSniklas	   ${CROSSDIR}/TARGET_CANON
1276239411bSimp.endif
1289c3ce19dSniklas
1296239411bSimpcross-dirs:	${CROSSDIR}/stamp.dirs
1306239411bSimp	@-mkdir -p ${CROSSDIR}
1316239411bSimp	@-mkdir -p ${CROSSDIR}/usr/obj
1326239411bSimp	@-mkdir -p ${CROSSDIR}/usr/bin
1336239411bSimp	@-mkdir -p ${CROSSDIR}/usr/include
13465092737Sniklas	@-mkdir -p ${CROSSDIR}/usr/include/kerberosIV
1356239411bSimp	@-mkdir -p ${CROSSDIR}/usr/lib
13665092737Sniklas	@-mkdir -p ${CROSSDIR}/usr/libexec
1376239411bSimp	@-mkdir -p ${CROSSDIR}/var/db
1386239411bSimp	@-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`
1396239411bSimp	@ln -sf ${CROSSDIR}/usr/include \
1406239411bSimp		${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
1416239411bSimp	@ln -sf ${CROSSDIR}/usr/lib \
1426239411bSimp	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib
1436239411bSimp	@-mkdir -p ${CROSSDIR}/usr/obj
1446239411bSimp	@-mkdir -p ${CROSSDIR}/usr/bin
1456239411bSimp	@-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin
1466239411bSimp
1476239411bSimp${CROSSDIR}/stamp.dirs:
1486239411bSimp	@touch ${CROSSDIR}/stamp.dirs
1496239411bSimp
1506239411bSimpcross-includes:	cross-dirs
15165092737Sniklas	cd include; \
15265092737Sniklas	    MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
15365092737Sniklas	    ${MAKE} prereq && \
15465092737Sniklas	    MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
15556109f03Simp	    ${MAKE} DESTDIR=${CROSSDIR} includes
1569c3ce19dSniklas
157e046c386Sniklas.if ${TARGET} == "powerpc" || ${TARGET} == "alpha" || ${TARGET} == "arc" || \
158e7297ab4Smickey    ${TARGET} == "pmax" || ${TARGET} == "wgrisc" || ${TARGET} == "hppa"
159e046c386Sniklascross-binutils: cross-binutils-new
160e046c386Sniklas.else
161e046c386Sniklascross-binutils: cross-binutils-old
162e046c386Sniklas.endif
163e046c386Sniklas
1646239411bSimpcross-binutils-new:	cross-dirs
1659c3ce19dSniklas	export BSDSRCDIR=`pwd`; \
1669c3ce19dSniklas	    (cd ${.CURDIR}/gnu/usr.bin/binutils; \
1679c3ce19dSniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
1689c3ce19dSniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1699c3ce19dSniklas	    ${MAKE} -f Makefile.bsd-wrapper obj); \
1709c3ce19dSniklas	    (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \
17162156da0Smickey	    /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \
1729c3ce19dSniklas	    --prefix ${CROSSDIR}/usr \
17398da7a47Sart	    --disable-nls --disable-gdbtk --disable-commonbfdlib \
1749c3ce19dSniklas	    --target `cat ${CROSSDIR}/TARGET_CANON` && \
17546d827c8Stodd	    ${MAKE} CFLAGS=${CFLAGS} && ${MAKE} install ) && \
1769c3ce19dSniklas	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
177be1acc36Smickey	    ${.CURDIR}/usr.bin/lorder/lorder.sh \
178c948a602Smickey	    ${CROSSDIR}/usr/bin/lorder
1799c3ce19dSniklas
1808037d955Sniklascross-binutils-old: cross-gas cross-ar cross-ld cross-strip cross-size \
1818037d955Sniklas	cross-ranlib cross-nm
1825df89c44Sniklas	for cmd in ar as ld nm ranlib size strip; do \
1835df89c44Sniklas	    ln -sf $$cmd \
1845df89c44Sniklas	    ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; done
185e046c386Sniklas
1866239411bSimpcross-gas:	cross-dirs
187917a796cSmickey	(cd ${.CURDIR}/gnu/usr.bin/gas; \
18847c1ceabSniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
18947c1ceabSniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
190f6e60134Sniklas	    ${MAKE} obj; \
19147c1ceabSniklas	    TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
192f6e60134Sniklas	    ${MAKE}; \
193e046c386Sniklas	    TARGET_MACHINE_ARCH=${TARGET} \
19447c1ceabSniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
19547c1ceabSniklas	    ${MAKE} NOMAN= install)
196e046c386Sniklas	ln -sf ${CROSSDIR}/usr/bin/as \
197e046c386Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as
198e046c386Sniklas
1996239411bSimpcross-ld:	cross-dirs
200917a796cSmickey	(cd ${.CURDIR}/gnu/usr.bin/ld; \
201e046c386Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
202e046c386Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
203f6e60134Sniklas	    ${MAKE} obj; \
204e046c386Sniklas	    TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
205f6e60134Sniklas	    ${MAKE} NOMAN=; \
206e046c386Sniklas	    TARGET_MACHINE_ARCH=${TARGET} \
207e046c386Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
208e046c386Sniklas	    ${MAKE} NOMAN= install)
209e046c386Sniklas	ln -sf ${CROSSDIR}/usr/bin/ld \
210e046c386Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld
211e046c386Sniklas
2126239411bSimpcross-ar:	cross-dirs
213917a796cSmickey	(cd ${.CURDIR}/usr.bin/ar; \
214e046c386Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
215e046c386Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
216f6e60134Sniklas	    ${MAKE} obj; \
217f6e60134Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
218e046c386Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
219e046c386Sniklas	    ${MAKE} NOMAN= install)
220e046c386Sniklas	ln -sf ${CROSSDIR}/usr/bin/ar \
221e046c386Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar
22247c1ceabSniklas
2236239411bSimpcross-ranlib:	cross-dirs
224917a796cSmickey	(cd ${.CURDIR}/usr.bin/ranlib; \
2258037d955Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
2268037d955Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
227f6e60134Sniklas	    ${MAKE} obj; \
228f6e60134Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
2298037d955Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
2308037d955Sniklas	    ${MAKE} NOMAN= install)
2318037d955Sniklas	ln -sf ${CROSSDIR}/usr/bin/ranlib \
2328037d955Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib
2338037d955Sniklas
2346239411bSimpcross-strip:	cross-dirs
235917a796cSmickey	(cd ${.CURDIR}/usr.bin/strip; \
2368037d955Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
2378037d955Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
238f6e60134Sniklas	    ${MAKE} obj; \
2398037d955Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
240f6e60134Sniklas	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
2418037d955Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
2428037d955Sniklas	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= install)
2438037d955Sniklas	ln -sf ${CROSSDIR}/usr/bin/strip \
2448037d955Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip
2458037d955Sniklas
2466239411bSimpcross-size:	cross-dirs
247917a796cSmickey	(cd ${.CURDIR}/usr.bin/size; \
2488037d955Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
2498037d955Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
250f6e60134Sniklas	    ${MAKE} obj; \
251f6e60134Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
252f6e60134Sniklas	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
2538037d955Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
2548037d955Sniklas	    ${MAKE} NOMAN= install)
2558037d955Sniklas	ln -sf ${CROSSDIR}/usr/bin/size \
2568037d955Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size
2578037d955Sniklas
2586239411bSimpcross-nm:	cross-dirs
259917a796cSmickey	(cd ${.CURDIR}/usr.bin/nm; \
2608037d955Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
2618037d955Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
262f6e60134Sniklas	    ${MAKE} obj; \
263f6e60134Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
264f6e60134Sniklas	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
2658037d955Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
2668037d955Sniklas	    ${MAKE} NOMAN= install)
2678037d955Sniklas	ln -sf ${CROSSDIR}/usr/bin/nm \
2688037d955Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm
2698037d955Sniklas
2706239411bSimpcross-gcc:	cross-dirs
271be1acc36Smickey	cd ${.CURDIR}/gnu/egcs/gcc; \
2729c3ce19dSniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
2739c3ce19dSniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
274f6e60134Sniklas	    ${MAKE} -f Makefile.bsd-wrapper obj
275be1acc36Smickey	(cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \
276be1acc36Smickey	    /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \
2779c3ce19dSniklas	    --prefix ${CROSSDIR}/usr \
2789c3ce19dSniklas	    --target `cat ${CROSSDIR}/TARGET_CANON` && \
27965092737Sniklas	    PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES=c \
28065092737Sniklas	    LDFLAGS=${LDSTATIC} build_infodir=. \
28114e88f01Smickey	    GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
282ed738714Smickey	    ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \
28314e88f01Smickey	    GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
284f6e60134Sniklas	    build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
28504ca17b0Sniklas	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \
28604ca17b0Sniklas	    ${CROSSDIR}/usr/bin/cc
28765092737Sniklas	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
28865092737Sniklas	    ${CROSSDIR}/usr/obj/gnu/egcs/gcc/xcpp \
28965092737Sniklas	    ${CROSSDIR}/usr/libexec/cpp
29065092737Sniklas	sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/libexec/cpp#' \
291917a796cSmickey	    -e 's#/usr/include#${CROSSDIR}/usr/include#' \
292917a796cSmickey	    ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp
29304ca17b0Sniklas	chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp
29465092737Sniklas	chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp
29504ca17b0Sniklas
29673d9a59bSniklas# XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later
2976239411bSimpcross-lib:	cross-dirs
298f6e60134Sniklas	MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
299f6e60134Sniklas	export MACHINE MACHINE_ARCH; \
300917a796cSmickey	(cd ${.CURDIR}/lib; \
301f6e60134Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
302f6e60134Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
303f6e60134Sniklas	    ${MAKE} obj; \
304f6e60134Sniklas	    for lib in csu libc; do \
305f6e60134Sniklas		(cd $$lib; \
306f4a9ae37Sniklas		    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
30773d9a59bSniklas		    ${MAKE} NOMAN= depend; \
30873d9a59bSniklas		    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
309f4a9ae37Sniklas		    ${MAKE} NOMAN=; \
310883e2605Smickey		    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
311883e2605Smickey		    DESTDIR=${CROSSDIR} ${MAKE} NOMAN= install); \
312f6e60134Sniklas	    done; \
31373d9a59bSniklas	    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
31473d9a59bSniklas	    ${MAKE} NOMAN= depend; \
315f4a9ae37Sniklas	    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
316883e2605Smickey	    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
317883e2605Smickey	    DESTDIR=${CROSSDIR} SKIPDIR=libocurses/PSD.doc \
318883e2605Smickey	    ${MAKE} NOMAN= install)
319ff60459dSespie.if (${KERBEROS:L} == "yes")
32065092737Sniklas	MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
32165092737Sniklas	export MACHINE MACHINE_ARCH; \
32265092737Sniklas	cd kerberosIV/lib; \
32365092737Sniklas	BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
32465092737Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} obj; \
32573d9a59bSniklas	${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
32673d9a59bSniklas	    ${MAKE} NOMAN= depend; \
32765092737Sniklas	${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
32865092737Sniklas	${CROSSENV} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
32965092737Sniklas	    ${MAKE} NOMAN= install
33056109f03Simp.endif
3319c3ce19dSniklas.endif
3329c3ce19dSniklas
333df930be7Sderaadt.include <bsd.subdir.mk>
334