Return to Makefile.cross CVS log | Up to [local] / src |
File: [local] / src / Makefile.cross (download)
Revision 1.99, Sun Feb 4 21:11:32 2018 UTC (6 years, 4 months ago) by patrick
Don't assume that we use LLVM's ld(1) if we use clang(1) as main system compiler. Only handle this case when LLD was actually installed during the cross-compiler setup. Unbreaks armv7 after switching to clang since it uses binutils' ld(1). |
# $OpenBSD: Makefile.cross,v 1.99 2018/02/04 21:11:32 patrick Exp $ cross-tools: cross-includes cross-binutils cross-gcc cross-lib cross-distrib: cross-tools cross-bin cross-share cross-sys cross-etc-root-var # cross-gnu \ # Have to compute TARGET_ARCH directly in the Makefile, for .if tests involving # this variable to work. .if (${TARGET} == "arm64") TARGET_ARCH= aarch64 .elif (${TARGET} == "armv7") TARGET_ARCH= arm .elif (${TARGET} == "luna88k") TARGET_ARCH= m88k .elif (${TARGET} == "sgi" || ${TARGET} == "octeon") TARGET_ARCH= mips64 .elif (${TARGET} == "loongson") TARGET_ARCH= mips64el TARGET_CPU= mips64 .elif (${TARGET} == "macppc" || ${TARGET} == "socppc") TARGET_ARCH= powerpc .elif (${TARGET} == "landisk") TARGET_ARCH= sh .else TARGET_ARCH= ${TARGET} .endif TARGET_CPU?= ${TARGET_ARCH} # List of LP64 archs # XXX move to bsd.*.mk? LP64_ARCH = aarch64 amd64 alpha mips64 sparc64 TARGET_IS_LP64 = MACHINE_IS_LP64 = .for _ in ${LP64_ARCH} . if !empty(TARGET_ARCH:M$_) TARGET_IS_LP64 = yes . endif . if !empty(MACHINE_ARCH:M$_) MACHINE_IS_LP64 = yes . endif .endfor #CROSSCPPFLAGS?= -nostdinc -I${CROSSDIR}/usr/include #CROSSLDFLAGS?= -nostdlib -L${CROSSDIR}/usr/lib -static CROSSCFLAGS?= ${CROSSCPPFLAGS} -O2 ${PIPE} ${DEBUG} CROSSCXXFLAGS?= ${CROSSCPPFLAGS} #LDSTATIC?= -static CROSSDIR= ${DESTDIR}/usr/cross/${TARGET} CROSSENV= AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \ AS=${CROSSDIR}/usr/${TARGET_CANON}/bin/as \ CC=${CROSSDIR}/usr/${TARGET_CANON}/bin/cc \ CPP=${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp \ CXX=${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ \ LD=${CROSSDIR}/usr/${TARGET_CANON}/bin/ld \ OBJCOPY=${CROSSDIR}/usr/${TARGET_CANON}/bin/objcopy \ LORDER=/usr/bin/lorder RANLIB=${CROSSDIR}/usr/${TARGET_CANON}/bin/ranlib \ STRIP=${CROSSDIR}/usr/${TARGET_CANON}/bin/strip \ HOSTCC=\"${CC}\" HOSTCXX=\"${CXX}\" NOMAN= \ HOSTCFLAGS=\"${CFLAGS}\" HOSTCXXFLAGS=\"${CXXFLAGS}\" \ HOSTLDFLAGS=\"${LDFLAGS}\" \ CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \ CXXFLAGS=\"${CROSSCXXFLAGS}\" \ LDFLAGS=\"${CROSSLDFLAGS}\" \ CROSSDIR=\"${CROSSDIR}\" CROSSADDPATH=:${CROSSDIR}/usr/${TARGET_CANON}/bin CROSSPATH= /usr/bin:/bin:/usr/sbin:/sbin${CROSSADDPATH} CROSSLANGS?= c c++ TARGET_CANON=`cat ${CROSSDIR}/TARGET_CANON` CROSSDIRS= ${CROSSDIR}/.dirs_done CROSSOBJ= ${CROSSDIR}/.obj_done CROSSINCLUDES= ${CROSSDIR}/.includes_done CROSSBINUTILS= ${CROSSDIR}/.binutils_done CROSSGCC= ${CROSSDIR}/.gcc_done #NO_CROSS= isakmpd keynote ssh .include <bsd.own.mk> .for _arch in ${TARGET_ARCH} .if !empty(CLANG_ARCH:M${_arch}) COMPILER_VERSION=clang BUILD_CLANG=yes CC=clang CXX=clang++ .elif !empty(GCC3_ARCH:M${_arch}) COMPILER_VERSION=gcc3 CC=gcc CXX=g++ .else COMPILER_VERSION=gcc4 CC=gcc CXX=g++ .endif .if !empty(PIE_ARCH:M${_arch}) NOPIE_FLAGS=-fno-pie NOPIE_LDFLAGS=-nopie PIE_DEFAULT=${DEFAULT_PIE_DEF} .else NOPIE_FLAGS= PIE_DEFAULT= .endif BINUTILS= ar as gasp ld nm objcopy objdump ranlib readelf size \ strings strip BINUTILS_DIR=gnu/usr.bin/binutils-2.17 .endfor # no libcrypto.... these won't build #NO_CROSS+= dc passwd ppp tcpdump telnet ftp sasyncd vnconfig # explicit cross-compile NO_CROSS+=microcode NO_CROSS+=groff binutils binutils-2.17 perl texinfo gcc cvs NO_CROSS+=nsd NO_CROSS+=bind NO_CROSS+=unbound cross-dirs: ${CROSSDIRS} cross-obj: ${CROSSOBJ} cross-includes: ${CROSSINCLUDES} cross-binutils: ${CROSSBINUTILS} cross-gcc: ${CROSSGCC} cross-env: @echo ${CROSSENV} MACHINE=${TARGET} \ MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ MACHINE_CPU=`cat ${CROSSDIR}/TARGET_CPU` \ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${CROSSDIRS}: .if ${TARGET_ARCH} == "arm" && ${MACHINE_IS_LP64} == "yes" # this config is allowed .elif ${TARGET_IS_LP64} != ${MACHINE_IS_LP64} @echo "host and target have different size longs" @echo "cross compiler generates bad code; aborting"; exit 1 .endif @-mkdir -p ${CROSSDIR} @echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH` @echo ${TARGET_CPU} > ${CROSSDIR}/TARGET_CPU @echo TARGET_CPU is `cat ${CROSSDIR}/TARGET_CPU` @eval `grep '^osr=' sys/conf/newvers.sh`; \ echo ${TARGET_ARCH}-unknown-openbsd$$osr > \ ${CROSSDIR}/TARGET_CANON @-mkdir -p ${CROSSDIR} @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON} @ln -sf ${CROSSDIR}/usr/include \ ${CROSSDIR}/usr/${TARGET_CANON}/include @ln -sf ${CROSSDIR}/usr/lib \ ${CROSSDIR}/usr/${TARGET_CANON}/lib @-mkdir -p ${CROSSDIR}/usr/${TARGET_CANON}/bin @(cd ${.CURDIR}/etc && DESTDIR=${CROSSDIR} ${MAKE} distrib-dirs) @touch ${CROSSDIRS} ${CROSSOBJ}: ${CROSSDIRS} @-mkdir -p ${CROSSDIR}/usr/obj @-chgrp ${WOBJGROUP} ${CROSSDIR}/usr/obj @-chmod g+w ${CROSSDIR}/usr/obj @(cd ${.CURDIR} && \ BSDOBJDIR=${CROSSDIR}/usr/obj \ COMPILER_VERSION=${COMPILER_VERSION} \ MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj) @touch ${CROSSOBJ} ${CROSSINCLUDES}: ${CROSSOBJ} @-mkdir -p ${CROSSDIR}/usr/include @(cd ${.CURDIR}/include && \ COMPILER_VERSION=${COMPILER_VERSION} \ MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ ${MAKE} prereq && \ COMPILER_VERSION=${COMPILER_VERSION} \ MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ ${MAKE} DESTDIR=${CROSSDIR} includes) @touch ${CROSSINCLUDES} ${CROSSBINUTILS}: ${CROSSINCLUDES} (cd ${.CURDIR}/${BINUTILS_DIR}; \ env CROSSDIR=${CROSSDIR} \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ PIE_DEFAULT=${PIE_DEFAULT} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ PATH=${CROSSPATH} \ ${MAKE} -f Makefile.bsd-wrapper depend && \ env CROSSDIR=${CROSSDIR} \ CC=${CC} CXX=${CXX} \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ PIE_DEFAULT=${PIE_DEFAULT} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ ${MAKE} -f Makefile.bsd-wrapper all && \ env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} \ COMPILER_VERSION=${COMPILER_VERSION} \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ PIE_DEFAULT=${PIE_DEFAULT} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ ${MAKE} -f Makefile.bsd-wrapper install) @for cmd in ${BINUTILS}; do \ if [ -e ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ] ; then \ cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd \ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-$$cmd ; \ ln -sf ${TARGET_CANON}-$$cmd \ ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ;\ if [ -e ${CROSSDIR}/usr/bin/$$cmd ] ; then \ rm -f ${CROSSDIR}/usr/bin/$$cmd ;\ fi ;\ elif [ -e ${CROSSDIR}/usr/bin/$$cmd ] ; then \ cp -f ${CROSSDIR}/usr/bin/$$cmd \ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-$$cmd ; \ ln -sf ${TARGET_CANON}-$$cmd \ ${CROSSDIR}/usr/${TARGET_CANON}/bin/$$cmd ;\ mv ${CROSSDIR}/usr/bin/$$cmd \ ${CROSSDIR}/usr/bin/${TARGET_CANON}-$$cmd ;\ fi ;\ done @touch ${CROSSBINUTILS} ${CROSSGCC}: ${CROSSBINUTILS} .if ${COMPILER_VERSION:L} == "clang" (cd ${.CURDIR}/gnu/usr.bin/clang; \ CC=${CC} CXX=${CXX} \ BSDOBJDIR=${CROSSDIR}/usr/obj \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} \ ${MAKE} all) (cd ${.CURDIR}/gnu/usr.bin/clang; \ DESTDIR=${CROSSDIR} \ BSDOBJDIR=${CROSSDIR}/usr/obj \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} \ ${MAKE} install) (cd ${.CURDIR}/gnu/usr.bin/clang; \ BSDOBJDIR=${CROSSDIR}/usr/obj \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} \ ${MAKE} clean) mv ${CROSSDIR}/usr/bin/clang ${CROSSDIR}/usr/bin/${TARGET_CANON}-clang mv ${CROSSDIR}/usr/bin/clang++ ${CROSSDIR}/usr/bin/${TARGET_CANON}-clang++ cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-clang ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ @if [ -e ${CROSSDIR}/usr/bin/ld ]; then \ mv ${CROSSDIR}/usr/bin/ld ${CROSSDIR}/usr/bin/${TARGET_CANON}-ld ;\ cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-ld \ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-ld ;\ ln -sf ${TARGET_CANON}-ld ${CROSSDIR}/usr/${TARGET_CANON}/bin/ld ;\ fi echo "#!/bin/sh\n${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang --sysroot ${CROSSDIR} \"$$""@\"" > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc; \ chmod +x ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc; echo "#!/bin/sh\n${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang --driver-mode=g++ --sysroot ${CROSSDIR} \"$$""@\"" > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++; \ chmod +x ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++; .elif ${COMPILER_VERSION:L} == "gcc3" (cd ${.CURDIR}/gnu/usr.bin/gcc; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ CROSSDIR=${CROSSDIR} \ PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper depend && \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ CROSSDIR=${CROSSDIR} \ CC=${CC} CXX=${CXX} \ ${MAKE} -f Makefile.bsd-wrapper all && \ env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ PATH=${CROSSPATH} ${MAKE} -f Makefile.bsd-wrapper install) cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++ cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp rm -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ -e 's/@GNUC@/-D__GNUC__/' \ -e 's#/usr/include#${CROSSDIR}/usr/include#' \ -e 's/@dollaropt@//' \ ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp .else (cd ${.CURDIR}/gnu/usr.bin/cc; \ env CROSSDIR=${CROSSDIR} \ PIE_DEFAULT=${PIE_DEFAULT} \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ MACHINE=${TARGET} \ PATH=${CROSSPATH} ${MAKE} depend ) (cd ${.CURDIR}/gnu/usr.bin/cc; \ env CROSSDIR=${CROSSDIR} \ COMPILER_VERSION=${COMPILER_VERSION} \ CC=${CC} CXX=${CXX} \ PIE_DEFAULT=${PIE_DEFAULT} \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ MACHINE=${TARGET} \ ${MAKE} all ) (cd ${.CURDIR}/gnu/usr.bin/cc; \ env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} \ COMPILER_VERSION=${COMPILER_VERSION} \ PIE_DEFAULT=${PIE_DEFAULT} \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ MACHINE=${TARGET} \ PATH=${CROSSPATH} ${MAKE} install) cp -f ${CROSSDIR}/usr/bin/g++ ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++ cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc rm -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/bin/g++ ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp # fix links rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ -e 's/@GNUC@//' \ -e 's#/usr/include#${CROSSDIR}/usr/include#' \ -e 's/@dollaropt@//' \ ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp chmod ${BINMODE} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp ln -sf ${TARGET_CANON}-cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/cpp .endif @touch ${CROSSGCC} # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later cross-lib: ${CROSSGCC} MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ BSDOBJDIR=${CROSSDIR}/usr/obj; \ export MACHINE MACHINE_ARCH MACHINE_CPU BSDOBJDIR; \ (cd ${.CURDIR}/lib; \ for lib in csu libcompiler_rt libc; do \ (cd $$lib; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} depend all ;\ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ ${MAKE} install); \ done; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR=\"${NO_CROSS}\" \ ${MAKE} depend all ; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ SKIPDIR=\"${NO_CROSS}\" \ ${MAKE} install) cross-bin: ${CROSSOBJ} MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ export MACHINE MACHINE_ARCH MACHINE_CPU; \ for i in libexec bin sbin usr.bin usr.sbin; do \ (cd ${.CURDIR}/$$i; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \ ${MAKE} depend all ; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \ ${MAKE} install); \ done cross-gnu: ${CROSSOBJ} MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ export MACHINE MACHINE_ARCH MACHINE_CPU; \ for i in gnu/lib gnu/usr.sbin gnu/usr.bin ; do \ (cd ${.CURDIR}/$$i; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR=\"${NO_CROSS}\" \ ${MAKE} depend all ; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \ SKIPDIR=\"${NO_CROSS}\" \ ${MAKE} install); \ done cross-share: ${CROSSOBJ} MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ export MACHINE MACHINE_ARCH MACHINE_CPU; \ for i in share; do \ (cd ${.CURDIR}/$$i; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR=\"${NO_CROSS}\" \ DESTDIR=${CROSSDIR} \ ${MAKE} depend all install); \ done cross-sys: ${CROSSOBJ} MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU}; \ export MACHINE MACHINE_ARCH MACHINE_CPU; \ for i in sys; do \ (cd ${.CURDIR}/$$i; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR=\"${NO_CROSS}\" \ ${MAKE} depend all); \ (cd ${.CURDIR}/$$i; \ eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR=\"${NO_CROSS}\" \ DESTDIR=${CROSSDIR} \ ${MAKE} install); \ done cross-etc-root-var: ${CROSSOBJ} (cd ${.CURDIR}/etc && \ MACHINE=${TARGET} \ MACHINE_ARCH=${TARGET_ARCH} MACHINE_CPU=${TARGET_CPU} \ DESTDIR=${CROSSDIR} \ ${MAKE} distribution-etc-root-var) cross-depend: @(cd ${.CURDIR} && \ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR="${NO_CROSS}" \ ${MAKE} depend) cross-clean: @(cd ${.CURDIR} && \ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR="${NO_CROSS}" \ ${MAKE} clean) cross-cleandir: @(cd ${.CURDIR} && \ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ SKIPDIR="${NO_CROSS}" \ ${MAKE} cleandir)