xref: /openbsd/Makefile (revision d05f021a)
1*d05f021aSmickey#	$OpenBSD: Makefile,v 1.38 1998/05/18 18:29:07 mickey 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#
205034ab0fSderaadt# 3) If you are reasonably sure that things will compile OK, use the
215034ab0fSderaadt# "make build" target supplied here. Good luck.
22*d05f021aSmickey#
23*d05f021aSmickey# 4) If you want to setup a cross-build environment, there is a "cross-tools"
24*d05f021aSmickey# target available which upon completion of "make TARGET=<target> cross-tools"
25*d05f021aSmickey# (where <target> is one of the names in the /sys/arch directory) will produce
26*d05f021aSmickey# a set of compilation tools along with the includes in the /usr/cross/<target>
27*d05f021aSmickey# directory.
28*d05f021aSmickey#
29094eb183Smickey
305034ab0fSderaadt.include <bsd.own.mk>	# for NOMAN, if it's there.
31df930be7Sderaadt
32df930be7SderaadtSUBDIR+= lib include bin libexec sbin usr.bin usr.sbin share games
33df930be7SderaadtSUBDIR+= gnu
34df930be7Sderaadt
35900e3302StholoSUBDIR+= sys lkm
36df930be7Sderaadt
3711ee01d8Smillert.if (${KERBEROS} == "yes")
38b1b0ccd8StholoSUBDIR+= kerberosIV
3996eaadcaStholo.endif
40b1b0ccd8Stholo
414f7a1a57Sderaadt.if   make(clean) || make(cleandir) || make(obj)
424f7a1a57SderaadtSUBDIR+= distrib
434f7a1a57Sderaadt.endif
444f7a1a57Sderaadt
45df930be7Sderaadt.if exists(regress)
46df930be7Sderaadt.ifmake !(install)
47df930be7SderaadtSUBDIR+= regress
48df930be7Sderaadt.endif
49df930be7Sderaadt
50df930be7Sderaadtregression-tests:
51df930be7Sderaadt	@echo Running regression tests...
52df930be7Sderaadt	@(cd ${.CURDIR}/regress && ${MAKE} regress)
53df930be7Sderaadt.endif
54df930be7Sderaadt
554ae007f5Sderaadtincludes:
564ae007f5Sderaadt	(cd ${.CURDIR}/include; ${MAKE} includes)
574ae007f5Sderaadt
580d5e6725Sderaadtbeforeinstall:
590d5e6725Sderaadt.ifndef DESTDIR
600d5e6725Sderaadt	(cd ${.CURDIR}/etc && ${MAKE} DESTDIR=/ distrib-dirs)
610d5e6725Sderaadt.else
620d5e6725Sderaadt	(cd ${.CURDIR}/etc && ${MAKE} distrib-dirs)
630d5e6725Sderaadt.endif
646cae596cSderaadt	(cd ${.CURDIR}/include; ${MAKE} includes)
65df930be7Sderaadt
66df930be7Sderaadtafterinstall:
67df930be7Sderaadt.ifndef NOMAN
68df930be7Sderaadt	(cd ${.CURDIR}/share/man && ${MAKE} makedb)
69df930be7Sderaadt.endif
70df930be7Sderaadt
71df930be7Sderaadtbuild:
7271e87bb9Skstailey.ifdef GLOBAL_AUTOCONF_CACHE
7369c894c1Skstailey	rm -f ${GLOBAL_AUTOCONF_CACHE}
749a76bd19Skstailey.endif
75094eb183Smickey	(cd ${.CURDIR}/share/mk && ${MAKE} install)
76dd9d2c6eSderaadt	(cd ${.CURDIR}/include; ${MAKE} includes)
77df930be7Sderaadt	${MAKE} cleandir
78df930be7Sderaadt	(cd ${.CURDIR}/lib && ${MAKE} depend && ${MAKE} && ${MAKE} install)
79df930be7Sderaadt	(cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && ${MAKE} install)
80a60dba07Sderaadt.if (${MACHINE_ARCH} == "mips")
8162085dbcSbriggs	ldconfig
82a60dba07Sderaadt.endif
8311ee01d8Smillert.if (${KERBEROS} == "yes")
84b1b0ccd8Stholo	(cd ${.CURDIR}/kerberosIV && ${MAKE} build)
8596eaadcaStholo.endif
86ae417a3eSniklas.if (${MACHINE_ARCH} == "mips")
87ae417a3eSniklas	ldconfig
88ae417a3eSniklas.endif
89df930be7Sderaadt	${MAKE} depend && ${MAKE} && ${MAKE} install
90df930be7Sderaadt
919c3ce19dSniklas.if !defined(TARGET)
929c3ce19dSniklascross-tools:
939c3ce19dSniklas	echo "TARGET must be set"; exit 1
949c3ce19dSniklas.else
95f6e60134Sniklascross-tools:	cross-helpers cross-includes cross-binutils cross-gcc cross-lib
969c3ce19dSniklas
979c3ce19dSniklasCROSSDIR=	${DESTDIR}/usr/cross/${TARGET}
98f6e60134SniklasCROSSENV=	AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \
99f6e60134Sniklas		CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \
100f6e60134Sniklas		LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \
101f6e60134Sniklas		RANLIB=${CROSSDIR}/usr/bin/ranlib \
102f6e60134Sniklas		SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \
103f4a9ae37Sniklas		HOSTCC=cc
1049c3ce19dSniklas
1059c3ce19dSniklascross-helpers:
1069c3ce19dSniklas	-mkdir -p ${CROSSDIR}/usr/include
1079c3ce19dSniklas	echo _MACHINE_ARCH | \
1089c3ce19dSniklas	    cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \
10962156da0Smickey	    ${CPP} -E -I${.CURDIR}/sys/arch | \
11062156da0Smickey	    sed -n '$$p' >${CROSSDIR}/TARGET_ARCH
1119c3ce19dSniklas	eval `grep '^osr=' sys/conf/newvers.sh`; \
1129c3ce19dSniklas	   sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
1139c3ce19dSniklas	   ${CROSSDIR}/TARGET_CANON
1149c3ce19dSniklas
1159c3ce19dSniklascross-includes:
116f6e60134Sniklas	-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
1179c3ce19dSniklas	${MAKE} MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
1189c3ce19dSniklas	    DESTDIR=${CROSSDIR} includes
119f6e60134Sniklas	ln -sf ${CROSSDIR}/usr/include \
120f6e60134Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include
1219c3ce19dSniklas
122e046c386Sniklas.if ${TARGET} == "powerpc" || ${TARGET} == "alpha" || ${TARGET} == "arc" || \
123e7297ab4Smickey    ${TARGET} == "pmax" || ${TARGET} == "wgrisc" || ${TARGET} == "hppa"
124e046c386Sniklascross-binutils: cross-binutils-new
125e046c386Sniklas.else
126e046c386Sniklascross-binutils: cross-binutils-old
127e046c386Sniklas.endif
128e046c386Sniklas
129e046c386Sniklascross-binutils-new:
1309c3ce19dSniklas	-mkdir -p ${CROSSDIR}/usr/obj
131f6e60134Sniklas	-mkdir -p ${CROSSDIR}/usr/bin
1329c3ce19dSniklas	export BSDSRCDIR=`pwd`; \
1339c3ce19dSniklas	    (cd ${.CURDIR}/gnu/usr.bin/binutils; \
1349c3ce19dSniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
1359c3ce19dSniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1369c3ce19dSniklas	    ${MAKE} -f Makefile.bsd-wrapper obj); \
1379c3ce19dSniklas	    (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \
13862156da0Smickey	    /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \
1399c3ce19dSniklas	    --prefix ${CROSSDIR}/usr \
1409c3ce19dSniklas	    --target `cat ${CROSSDIR}/TARGET_CANON` && \
1419c3ce19dSniklas	    ${MAKE} && ${MAKE} install)
1429c3ce19dSniklas	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \
1439c3ce19dSniklas	    ${.CURDIR}/usr.bin/lorder/lorder.sh.gnm \
1449c3ce19dSniklas	    ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-lorder
145c948a602Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-as \
146c948a602Smickey	    ${CROSSDIR}/usr/bin/as
147c948a602Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-ar \
148c948a602Smickey	    ${CROSSDIR}/usr/bin/ar
149c948a602Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-ld \
150c948a602Smickey	    ${CROSSDIR}/usr/bin/ld
151c948a602Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-strip \
152c948a602Smickey	    ${CROSSDIR}/usr/bin/strip
153c948a602Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-size \
154c948a602Smickey	    ${CROSSDIR}/usr/bin/size
155c948a602Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-ranlib \
156c948a602Smickey	    ${CROSSDIR}/usr/bin/ranlib
157c948a602Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-nm \
158c948a602Smickey	    ${CROSSDIR}/usr/bin/nm
15972eeb022Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-strings \
16072eeb022Smickey	    ${CROSSDIR}/usr/bin/strings
161c948a602Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-lorder \
162c948a602Smickey	    ${CROSSDIR}/usr/bin/lorder
16372eeb022Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-objcopy \
16472eeb022Smickey	    ${CROSSDIR}/usr/bin/objcopy
16572eeb022Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-objdump \
16672eeb022Smickey	    ${CROSSDIR}/usr/bin/objdump
16772eeb022Smickey	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gdb \
16872eeb022Smickey	    ${CROSSDIR}/usr/bin/gdb
1699c3ce19dSniklas
1708037d955Sniklascross-binutils-old: cross-gas cross-ar cross-ld cross-strip cross-size \
1718037d955Sniklas	cross-ranlib cross-nm
172e046c386Sniklas
17347c1ceabSniklascross-gas:
17447c1ceabSniklas	-mkdir -p ${CROSSDIR}/usr/obj
17547c1ceabSniklas	-mkdir -p ${CROSSDIR}/usr/bin
176e046c386Sniklas	-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin
177917a796cSmickey	(cd ${.CURDIR}/gnu/usr.bin/gas; \
17847c1ceabSniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
17947c1ceabSniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
180f6e60134Sniklas	    ${MAKE} obj; \
18147c1ceabSniklas	    TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
182f6e60134Sniklas	    ${MAKE}; \
183e046c386Sniklas	    TARGET_MACHINE_ARCH=${TARGET} \
18447c1ceabSniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
18547c1ceabSniklas	    ${MAKE} NOMAN= install)
186e046c386Sniklas	ln -sf ${CROSSDIR}/usr/bin/as \
187e046c386Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as
188e046c386Sniklas
189e046c386Sniklascross-ld:
190e046c386Sniklas	-mkdir -p ${CROSSDIR}/usr/obj
191e046c386Sniklas	-mkdir -p ${CROSSDIR}/usr/bin
192917a796cSmickey	(cd ${.CURDIR}/gnu/usr.bin/ld; \
193e046c386Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
194e046c386Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
195f6e60134Sniklas	    ${MAKE} obj; \
196e046c386Sniklas	    TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
197f6e60134Sniklas	    ${MAKE} NOMAN=; \
198e046c386Sniklas	    TARGET_MACHINE_ARCH=${TARGET} \
199e046c386Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
200e046c386Sniklas	    ${MAKE} NOMAN= install)
201e046c386Sniklas	ln -sf ${CROSSDIR}/usr/bin/ld \
202e046c386Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld
203e046c386Sniklas
204e046c386Sniklascross-ar:
205e046c386Sniklas	-mkdir -p ${CROSSDIR}/usr/obj
206e046c386Sniklas	-mkdir -p ${CROSSDIR}/usr/bin
207917a796cSmickey	(cd ${.CURDIR}/usr.bin/ar; \
208e046c386Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
209e046c386Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
210f6e60134Sniklas	    ${MAKE} obj; \
211f6e60134Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
212e046c386Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
213e046c386Sniklas	    ${MAKE} NOMAN= install)
214e046c386Sniklas	ln -sf ${CROSSDIR}/usr/bin/ar \
215e046c386Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ar
21647c1ceabSniklas
2178037d955Sniklascross-ranlib:
2188037d955Sniklas	-mkdir -p ${CROSSDIR}/usr/obj
2198037d955Sniklas	-mkdir -p ${CROSSDIR}/usr/bin
220917a796cSmickey	(cd ${.CURDIR}/usr.bin/ranlib; \
2218037d955Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
2228037d955Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
223f6e60134Sniklas	    ${MAKE} obj; \
224f6e60134Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
2258037d955Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
2268037d955Sniklas	    ${MAKE} NOMAN= install)
2278037d955Sniklas	ln -sf ${CROSSDIR}/usr/bin/ranlib \
2288037d955Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ranlib
2298037d955Sniklas
2308037d955Sniklascross-strip:
2318037d955Sniklas	-mkdir -p ${CROSSDIR}/usr/obj
2328037d955Sniklas	-mkdir -p ${CROSSDIR}/usr/bin
233917a796cSmickey	(cd ${.CURDIR}/usr.bin/strip; \
2348037d955Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
2358037d955Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
236f6e60134Sniklas	    ${MAKE} obj; \
2378037d955Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
238f6e60134Sniklas	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
2398037d955Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
2408037d955Sniklas	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= install)
2418037d955Sniklas	ln -sf ${CROSSDIR}/usr/bin/strip \
2428037d955Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip
2438037d955Sniklas
2448037d955Sniklascross-size:
2458037d955Sniklas	-mkdir -p ${CROSSDIR}/usr/obj
2468037d955Sniklas	-mkdir -p ${CROSSDIR}/usr/bin
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
2588037d955Sniklascross-nm:
2598037d955Sniklas	-mkdir -p ${CROSSDIR}/usr/obj
2608037d955Sniklas	-mkdir -p ${CROSSDIR}/usr/bin
261917a796cSmickey	(cd ${.CURDIR}/usr.bin/nm; \
2628037d955Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
2638037d955Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
264f6e60134Sniklas	    ${MAKE} obj; \
265f6e60134Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
266f6e60134Sniklas	    ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \
2678037d955Sniklas	    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
2688037d955Sniklas	    ${MAKE} NOMAN= install)
2698037d955Sniklas	ln -sf ${CROSSDIR}/usr/bin/nm \
2708037d955Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm
2718037d955Sniklas
2729c3ce19dSniklascross-gcc:
2739c3ce19dSniklas	-mkdir -p ${CROSSDIR}/usr/obj
274f6e60134Sniklas	-mkdir -p ${CROSSDIR}/usr/bin
275917a796cSmickey	cd ${.CURDIR}/gnu/usr.bin/gcc; \
2769c3ce19dSniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj BSDSRCDIR=${.CURDIR} \
2779c3ce19dSniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
278f6e60134Sniklas	    ${MAKE} -f Makefile.bsd-wrapper obj
2799c3ce19dSniklas	(cd ${CROSSDIR}/usr/obj/gnu/usr.bin/gcc; \
28062156da0Smickey	    /bin/sh ${.CURDIR}/gnu/usr.bin/gcc/configure \
2819c3ce19dSniklas	    --prefix ${CROSSDIR}/usr \
2829c3ce19dSniklas	    --target `cat ${CROSSDIR}/TARGET_CANON` && \
283ed738714Smickey	    ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \
284f6e60134Sniklas	    build_infodir=. \
2859c3ce19dSniklas	    GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
286ed738714Smickey	    ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \
287f6e60134Sniklas	    GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
288f6e60134Sniklas	    build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
28904ca17b0Sniklas	ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \
29004ca17b0Sniklas	    ${CROSSDIR}/usr/bin/cc
29104ca17b0Sniklas	CPP=`${CROSSDIR}/usr/bin/cc -print-libgcc-file-name | \
29204ca17b0Sniklas	    sed 's/libgcc\.a/cpp/'`; \
29304ca17b0Sniklas	    sed -e 's#/usr/libexec/cpp#'$$CPP'#' \
294917a796cSmickey	    -e 's#/usr/include#${CROSSDIR}/usr/include#' \
295917a796cSmickey	    ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp
29604ca17b0Sniklas	chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp
29704ca17b0Sniklas	chown ${BINOWN}.${BINGRP} ${CROSSDIR}/usr/bin/cpp
29804ca17b0Sniklas
299f6e60134Sniklascross-lib:
300f6e60134Sniklas	-mkdir -p ${CROSSDIR}/usr/obj
301f6e60134Sniklas	-mkdir -p ${CROSSDIR}/usr/lib
302f6e60134Sniklas	-mkdir -p ${CROSSDIR}/var/db
303f6e60134Sniklas	MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
304f6e60134Sniklas	export MACHINE MACHINE_ARCH; \
305917a796cSmickey	(cd ${.CURDIR}/lib; \
306f6e60134Sniklas	    BSDOBJDIR=${CROSSDIR}/usr/obj \
307f6e60134Sniklas	    BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
308f6e60134Sniklas	    ${MAKE} obj; \
309f6e60134Sniklas	    for lib in csu libc; do \
310f6e60134Sniklas		(cd $$lib; \
311f4a9ae37Sniklas		    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
312f4a9ae37Sniklas		    ${MAKE} NOMAN=; \
313f6e60134Sniklas		    DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
314f6e60134Sniklas		    ${MAKE} NOMAN= install); \
315f6e60134Sniklas	    done; \
316f4a9ae37Sniklas	    ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \
317f6e60134Sniklas	    MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
318f6e60134Sniklas	    SKIPDIR=libocurses/PSD.doc ${MAKE} NOMAN= install)
319f6e60134Sniklas	ln -sf ${CROSSDIR}/usr/lib \
320f6e60134Sniklas	    ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib
321f6e60134Sniklas
3229c3ce19dSniklas.endif
3239c3ce19dSniklas
324df930be7Sderaadt.include <bsd.subdir.mk>
325