diff options
author | 2017-09-23 12:35:52 +0000 | |
---|---|---|
committer | 2017-09-23 12:35:52 +0000 | |
commit | 47dea8430ea252bcc78e450162a266e5630e8b1b (patch) | |
tree | 64a4fdc00c06b52336be2376344555cd94e27930 | |
parent | Fix off by one in ctf_enc2name (who uses SIGNED BOOL anyway?) (diff) | |
download | wireguard-openbsd-47dea8430ea252bcc78e450162a266e5630e8b1b.tar.xz wireguard-openbsd-47dea8430ea252bcc78e450162a266e5630e8b1b.zip |
Compile the cross-compiler in the target's objdir instead of polluting
the host's. This also allows compiling multiple toolchains in parallel.
Clean up the clang object files afterwards so it doesn't collide with
the cross-compiled compiler build.
-rw-r--r-- | Makefile.cross | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Makefile.cross b/Makefile.cross index 8c7641503db..f16d4f4c2df 100644 --- a/Makefile.cross +++ b/Makefile.cross @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.cross,v 1.97 2017/09/12 08:16:13 mpi Exp $ +# $OpenBSD: Makefile.cross,v 1.98 2017/09/23 12:35:52 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 @@ -231,19 +231,22 @@ ${CROSSBINUTILS}: ${CROSSINCLUDES} ${CROSSGCC}: ${CROSSBINUTILS} .if ${COMPILER_VERSION:L} == "clang" (cd ${.CURDIR}/gnu/usr.bin/clang; \ - MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - MACHINE_ARCH=${TARGET_ARCH} \ - ${MAKE} obj) - (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++ mv ${CROSSDIR}/usr/bin/ld ${CROSSDIR}/usr/bin/${TARGET_CANON}-ld |