Annotation of src/Makefile.cross, Revision 1.28
1.28 ! matthieu 1: # $OpenBSD: Makefile.cross,v 1.27 2009/09/09 12:10:34 marex Exp $
1.1 espie 2:
3: cross-tools: cross-includes cross-binutils cross-gcc cross-lib
1.26 drahn 4: cross-distrib: cross-tools cross-bin cross-share cross-sys cross-etc-root-var
5: # cross-gnu \
1.1 espie 6:
1.11 miod 7: # Have to compute TARGET_ARCH directly in the Makefile, for .if tests involving
8: # this variable to work.
1.28 ! matthieu 9: .if (${TARGET} == "armish" || ${TARGET} == "beagle" || \
! 10: ${TARGET} == "gumstix" || ${TARGET} == "moko" || \
! 11: ${TARGET} == "palm" || ${TARGET} == "zaurus")
1.11 miod 12: TARGET_ARCH= arm
13: .elif (${TARGET} == "hp300" || ${TARGET} == "mac68k" || \
14: ${TARGET} == "mvme68k")
15: TARGET_ARCH= m68k
1.17 miod 16: .elif (${TARGET} == "aviion" || ${TARGET} == "luna88k" || \
17: ${TARGET} == "mvme88k")
1.11 miod 18: TARGET_ARCH= m88k
19: .elif (${TARGET} == "sgi")
20: TARGET_ARCH= mips64
1.22 deraadt 21: .elif (${TARGET} == "solbourne")
22: TARGET_ARCH= sparc
1.25 miod 23: .elif (${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \
24: ${TARGET} == "socppc")
1.11 miod 25: TARGET_ARCH= powerpc
1.21 miod 26: .elif (${TARGET} == "landisk")
27: TARGET_ARCH= sh
1.11 miod 28: .else
29: TARGET_ARCH= ${TARGET}
30: .endif
31:
1.26 drahn 32: #CROSSCPPFLAGS?= -nostdinc -I${CROSSDIR}/usr/include
33: #CROSSLDFLAGS?= -nostdlib -L${CROSSDIR}/usr/lib -static
34: CROSSCFLAGS?= ${CROSSCPPFLAGS} -O2 ${PIPE} ${DEBUG}
1.1 espie 35: CROSSCXXFLAGS?= ${CROSSCPPFLAGS}
1.26 drahn 36: #LDSTATIC?= -static
37:
38: # XXX
39: BINMODE?=555
40: BINOWN?=root
41: BINOWN?=bin
1.1 espie 42:
43: CROSSDIR= ${DESTDIR}/usr/cross/${TARGET}
1.26 drahn 44: CROSSENV= AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \
45: AS=${CROSSDIR}/usr/${TARGET_CANON}/bin/as \
46: CC=${CROSSDIR}/usr/${TARGET_CANON}/bin/cc \
47: CPP=${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp \
48: CXX=${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ \
49: LD=${CROSSDIR}/usr/${TARGET_CANON}/bin/ld \
50: OBJCOPY=${CROSSDIR}/usr/${TARGET_CANON}/bin/objcopy \
51: LORDER=/usr/bin/lorder RANLIB=${CROSSDIR}/usr/${TARGET_CANON}/bin/ranlib \
52: STRIP=${CROSSDIR}/usr/${TARGET_CANON}/bin/strip \
53: HOSTCC=\"${CC}\" HOSTCXX=\"${CXX}\" NOMAN= \
1.1 espie 54: HOSTCFLAGS=\"${CFLAGS}\" HOSTCXXFLAGS=\"${CXXFLAGS}\" \
1.11 miod 55: HOSTLDFLAGS=\"${LDFLAGS}\" \
1.1 espie 56: CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \
57: CXXFLAGS=\"${CROSSCXXFLAGS}\" \
58: LDFLAGS=\"${CROSSLDFLAGS}\"
1.26 drahn 59: CROSSADDPATH=:${CROSSDIR}/usr/${TARGET_CANON}/bin
60: CROSSPATH= /usr/bin:/bin:/usr/sbin:/sbin${CROSSADDPATH}
1.1 espie 61: CROSSLANGS?= c c++
62:
1.2 espie 63: TARGET_CANON=`cat ${CROSSDIR}/TARGET_CANON`
64:
1.1 espie 65: CROSSDIRS= ${CROSSDIR}/.dirs_done
1.26 drahn 66: CROSSOBJ= ${CROSSDIR}/.obj_done
67: CROSSINCLUDES= ${CROSSDIR}/.includes_done
68: CROSSBINUTILS= ${CROSSDIR}/.binutils_done
69: CROSSGCC= ${CROSSDIR}/.gcc_done
70: #NO_CROSS= isakmpd tn3270 keynote sectok ssh
1.1 espie 71:
1.2 espie 72: # no libcrypto.... these won't build
1.26 drahn 73: #NO_CROSS+= dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet \
74: # ftp gzsig sasyncd vnconfig
75:
1.2 espie 76: # need host setup for ydr
77: NO_CROSS+=afs
78: # explicit cross-compile
79: NO_CROSS+=bind
1.26 drahn 80: NO_CROSS+=httpd
81: NO_CROSS+=microcode
82: NO_CROSS+=groff lynx binutils perl texinfo gcc cvs
1.2 espie 83:
1.1 espie 84: cross-dirs: ${CROSSDIRS}
85: cross-obj: ${CROSSOBJ}
86: cross-includes: ${CROSSINCLUDES}
87: cross-binutils: ${CROSSBINUTILS}
88: cross-gcc: ${CROSSGCC}
89:
90: cross-env:
91: @echo ${CROSSENV} MACHINE=${TARGET} \
1.23 mickey 92: MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \
93: BSDOBJDIR=${CROSSDIR}/usr/obj \
94: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET}
1.1 espie 95:
96: ${CROSSDIRS}:
97: @-mkdir -p ${CROSSDIR}
1.11 miod 98: @echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH
1.1 espie 99: @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH`
100: @eval `grep '^osr=' sys/conf/newvers.sh`; \
101: sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \
102: ${CROSSDIR}/TARGET_CANON
103: @-mkdir -p ${CROSSDIR}
1.2 espie 104: @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}
1.1 espie 105: @ln -sf ${CROSSDIR}/usr/include \
1.2 espie 106: ${CROSSDIR}/usr/${TARGET_CANON}/include
1.1 espie 107: @ln -sf ${CROSSDIR}/usr/lib \
1.2 espie 108: ${CROSSDIR}/usr/${TARGET_CANON}/lib
109: @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}/bin
1.1 espie 110: @(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs)
111: @touch ${CROSSDIRS}
112:
113: ${CROSSOBJ}: ${CROSSDIRS}
114: @-mkdir -p ${CROSSDIR}/usr/obj
115: @(cd ${.CURDIR} && \
116: BSDOBJDIR=${CROSSDIR}/usr/obj \
117: MACHINE=${TARGET} \
1.2 espie 118: MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 119: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
120: ${MAKE} obj)
121: @touch ${CROSSOBJ}
122:
123: ${CROSSINCLUDES}: ${CROSSOBJ}
124: @-mkdir -p ${CROSSDIR}/usr/include
125: @(cd ${.CURDIR}/include && \
1.2 espie 126: MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 127: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.4 grange 128: TARGET_ARCH=${TARGET_ARCH} \
1.1 espie 129: ${MAKE} prereq && \
1.2 espie 130: MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 131: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.4 grange 132: TARGET_ARCH=${TARGET_ARCH} \
1.1 espie 133: ${MAKE} DESTDIR=${CROSSDIR} includes)
134: @touch ${CROSSINCLUDES}
135:
1.11 miod 136: .if (${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \
137: ${TARGET_ARCH} == "vax")
1.1 espie 138: BINUTILS= ar as ld nm ranlib objcopy objdump strings strip
139: NEW_BINUTILS?= No
140: .else
141: BINUTILS= ar as gasp ld nm objcopy objdump ranlib readelf size \
142: strings strip
143: NEW_BINUTILS?= Yes
144: .endif
145:
146: ${CROSSBINUTILS}: ${CROSSINCLUDES}
147: (cd ${.CURDIR}/gnu/usr.bin/binutils; \
148: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.16 miod 149: USING_NEW_BINUTILS=${NEW_BINUTILS} \
1.26 drahn 150: TARGET_ARCH=${TARGET_ARCH} PATH=${CROSSPATH} \
1.1 espie 151: ${MAKE} -f Makefile.bsd-wrapper depend && \
152: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.16 miod 153: USING_NEW_BINUTILS=${NEW_BINUTILS} \
1.2 espie 154: TARGET_ARCH=${TARGET_ARCH} \
1.1 espie 155: ${MAKE} -f Makefile.bsd-wrapper all && \
156: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.16 miod 157: USING_NEW_BINUTILS=${NEW_BINUTILS} \
1.1 espie 158: ${MAKE} -f Makefile.bsd-wrapper install)
1.16 miod 159: .if ${NEW_BINUTILS:L} != "yes"
1.1 espie 160: (cd ${.CURDIR}/gnu/usr.bin/gas; \
1.2 espie 161: TARGET_MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 162: MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \
1.2 espie 163: TARGET_MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 164: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
165: ${MAKE} NOMAN= install)
166: ln -sf ${CROSSDIR}/usr/bin/as \
1.10 miod 167: ${CROSSDIR}/usr/${TARGET_CANON}/bin/as
1.1 espie 168: (cd ${.CURDIR}/gnu/usr.bin/ld; \
1.2 espie 169: TARGET_MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 170: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
171: ${MAKE} NOPIC= NOMAN= depend all; \
1.2 espie 172: TARGET_MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 173: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
174: ${MAKE} NOPIC= NOMAN= install)
175: ln -sf ${CROSSDIR}/usr/bin/ld \
1.2 espie 176: ${CROSSDIR}/usr/${TARGET_CANON}/bin/ld
1.1 espie 177: (cd ${.CURDIR}/usr.bin/ar; \
1.15 miod 178: ELF_TOOLCHAIN=no \
1.1 espie 179: MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \
1.15 miod 180: ELF_TOOLCHAIN=no \
1.1 espie 181: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
182: ${MAKE} NOMAN= install)
183: ln -sf ${CROSSDIR}/usr/bin/ar \
1.2 espie 184: ${CROSSDIR}/usr/${TARGET_CANON}/bin/ar
1.1 espie 185: (cd ${.CURDIR}/usr.bin/ranlib; \
1.15 miod 186: ELF_TOOLCHAIN=no \
1.1 espie 187: MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \
1.15 miod 188: ELF_TOOLCHAIN=no \
1.1 espie 189: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
190: ${MAKE} NOMAN= install)
191: ln -sf ${CROSSDIR}/usr/bin/ranlib \
1.2 espie 192: ${CROSSDIR}/usr/${TARGET_CANON}/bin/ranlib
1.1 espie 193: (cd ${.CURDIR}/usr.bin/strip; \
194: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.2 espie 195: ${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 196: NOMAN= depend all; \
197: DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.2 espie 198: ${MAKE} TARGET_MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 199: NOMAN= install)
200: ln -sf ${CROSSDIR}/usr/bin/strip \
1.2 espie 201: ${CROSSDIR}/usr/${TARGET_CANON}/bin/strip
1.1 espie 202: .endif
203: @for cmd in ${BINUTILS}; do \
1.26 drahn 204: if [ -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ] ; then \
205: cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd \
206: ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-$$cmd ; \
207: ln -sf ${TARGET_CANON}-$$cmd \
208: ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ;\
209: if [ -e ${CROSSDIR}/usr/bin/$$cmd ] ; then \
210: rm -f ${CROSSDIR}/usr/bin/$$cmd ;\
211: fi ;\
212: elif [ -e ${CROSSDIR}/usr/bin/$$cmd ] ; then \
213: cp -f ${CROSSDIR}/usr/bin/$$cmd \
214: ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-$$cmd ; \
215: ln -sf ${TARGET_CANON}-$$cmd \
216: ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ;\
217: mv ${CROSSDIR}/usr/bin/$$cmd \
218: ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ;\
1.1 espie 219: fi ;\
220: done
221: @touch ${CROSSBINUTILS}
222:
223: # bsd.own.mk can't do it for us
1.20 mickey 224: .if ${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \
1.11 miod 225: ${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "vax"
1.6 mickey 226: TARGET_USE_GCC3=No
227: .else
1.3 espie 228: TARGET_USE_GCC3=Yes
1.1 espie 229: .endif
230:
231: ${CROSSGCC}: ${CROSSBINUTILS}
1.3 espie 232: .if ${TARGET_USE_GCC3:L} == "yes"
1.1 espie 233: (cd ${.CURDIR}/gnu/usr.bin/gcc; \
234: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.2 espie 235: TARGET_ARCH=${TARGET_ARCH} CROSSDIR=${CROSSDIR} \
1.26 drahn 236: PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper depend && \
1.1 espie 237: MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.2 espie 238: TARGET_ARCH=${TARGET_ARCH} CROSSDIR=${CROSSDIR} \
1.1 espie 239: ${MAKE} -f Makefile.bsd-wrapper all && \
1.26 drahn 240: env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
241: PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper install)
242: cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++
243: cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
244: cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp
245: rm -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp
246: ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc
247: ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++
248: rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
249: sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \
250: -e 's#/usr/include#${CROSSDIR}/usr/include#' \
251: -e 's/@dollaropt@//' \
252: ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
253: chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
254: chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
255: ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp
1.1 espie 256: .else
257: (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \
258: /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \
259: --with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \
1.2 espie 260: --target ${TARGET_CANON} \
1.1 espie 261: --enable-languages="c,c++" --enable-cpp --disable-nls \
262: --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \
263: PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \
264: CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \
265: LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \
266: DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \
267: GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
268: ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \
269: GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
270: CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \
271: LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \
272: build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
1.26 drahn 273: mv -f ${CROSSDIR}/usr/bin/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp
274: rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
275: sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \
1.1 espie 276: -e 's#/usr/include#${CROSSDIR}/usr/include#' \
1.26 drahn 277: -e 's/@dollaropt@/-$$/' ${.CURDIR}/usr.bin/cpp/cpp.sh > \
278: ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
279: chmod ${BINMODE} \
280: ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
281: chown ${BINOWN}:${BINGRP}\
282: ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
283: ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp
284: ln -sf gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc
285: ln -sf gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
286: cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++
287: ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++
1.1 espie 288: .endif
289: @touch ${CROSSGCC}
290:
291: # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later
292: cross-lib: ${CROSSGCC}
1.2 espie 293: MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \
1.1 espie 294: export MACHINE MACHINE_ARCH; \
295: (cd ${.CURDIR}/lib; \
296: for lib in csu libc; do \
297: (cd $$lib; \
298: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
1.26 drahn 299: ${MAKE} WANTLINT=no depend all ;\
300: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
301: ${MAKE} WANTLINT=no install); \
1.1 espie 302: done; \
303: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
304: SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \
1.26 drahn 305: ${MAKE} WANTLINT=no depend all ; \
306: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
307: SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \
308: ${MAKE} WANTLINT=no install)
1.1 espie 309:
310: cross-bin: ${CROSSOBJ}
1.2 espie 311: MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \
1.1 espie 312: export MACHINE MACHINE_ARCH; \
313: for i in libexec bin sbin usr.bin usr.sbin; do \
314: (cd ${.CURDIR}/$$i; \
315: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
316: SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \
1.26 drahn 317: ${MAKE} depend all ; \
318: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
319: SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \
320: ${MAKE} install); \
321: done
322:
323: cross-gnu: ${CROSSOBJ}
324: MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH}; \
325: export MACHINE MACHINE_ARCH; \
326: for i in gnu/lib gnu/usr.sbin gnu/usr.bin ; do \
327: (cd ${.CURDIR}/$$i; \
328: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
329: SKIPDIR=\"${NO_CROSS}\" \
330: ${MAKE} depend all ; \
331: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
332: SKIPDIR=\"${NO_CROSS}\" \
333: ${MAKE} install); \
334: done
335:
336: cross-share: ${CROSSOBJ}
337: MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
338: export MACHINE MACHINE_ARCH; \
339: for i in share; do \
340: (cd ${.CURDIR}/$$i; \
341: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
342: SKIPDIR=\"${NO_CROSS}\" \
343: ${MAKE} depend all install); \
344: done
345:
346: cross-sys: ${CROSSOBJ}
347: MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \
348: export MACHINE MACHINE_ARCH; \
349: for i in sys; do \
350: (cd ${.CURDIR}/$$i; \
351: eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
352: SKIPDIR=\"${NO_CROSS}\" \
353: ${MAKE} depend all install); \
1.1 espie 354: done
355:
356: cross-etc-root-var: ${CROSSOBJ}
357: (cd ${.CURDIR}/etc && \
1.12 drahn 358: MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
1.1 espie 359: DESTDIR=${CROSSDIR} ${MAKE} distribution-etc-root-var)
360:
361: cross-depend:
362: @(cd ${.CURDIR} && \
363: BSDOBJDIR=${CROSSDIR}/usr/obj \
364: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
365: SKIPDIR="${NO_CROSS}" \
366: ${MAKE} depend)
367:
368: cross-clean:
369: @(cd ${.CURDIR} && \
370: BSDOBJDIR=${CROSSDIR}/usr/obj \
371: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
372: SKIPDIR="${NO_CROSS}" \
373: ${MAKE} clean)
374:
375: cross-cleandir:
376: @(cd ${.CURDIR} && \
377: BSDOBJDIR=${CROSSDIR}/usr/obj \
378: BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
379: SKIPDIR="${NO_CROSS}" \
380: ${MAKE} cleandir)