version 1.98, 2017/09/23 12:35:52 |
version 1.103, 2019/10/14 14:36:49 |
|
|
.elif (${TARGET} == "loongson") |
.elif (${TARGET} == "loongson") |
TARGET_ARCH= mips64el |
TARGET_ARCH= mips64el |
TARGET_CPU= mips64 |
TARGET_CPU= mips64 |
.elif (${TARGET} == "macppc" || ${TARGET} == "socppc") |
.elif (${TARGET} == "macppc") |
TARGET_ARCH= powerpc |
TARGET_ARCH= powerpc |
.elif (${TARGET} == "landisk") |
.elif (${TARGET} == "landisk") |
TARGET_ARCH= sh |
TARGET_ARCH= sh |
|
|
CXX=g++ |
CXX=g++ |
.endif |
.endif |
|
|
|
.if !empty(LLD_ARCH:M${_arch}) |
|
LINKER_VERSION=lld |
|
.else |
|
LINKER_VERSION=bfd |
|
.endif |
|
|
.if !empty(PIE_ARCH:M${_arch}) |
.if !empty(PIE_ARCH:M${_arch}) |
NOPIE_FLAGS=-fno-pie |
NOPIE_FLAGS=-fno-pie |
NOPIE_LDFLAGS=-nopie |
NOPIE_LDFLAGS=-nopie |
|
|
${CROSSDIRS}: |
${CROSSDIRS}: |
.if ${TARGET_ARCH} == "arm" && ${MACHINE_IS_LP64} == "yes" |
.if ${TARGET_ARCH} == "arm" && ${MACHINE_IS_LP64} == "yes" |
# this config is allowed |
# this config is allowed |
|
.elif ${TARGET_ARCH} == "powerpc" && ${MACHINE_IS_LP64} == "yes" |
|
# this config is allowed |
.elif ${TARGET_IS_LP64} != ${MACHINE_IS_LP64} |
.elif ${TARGET_IS_LP64} != ${MACHINE_IS_LP64} |
@echo "host and target have different size longs" |
@echo "host and target have different size longs" |
@echo "cross compiler generates bad code; aborting"; exit 1 |
@echo "cross compiler generates bad code; aborting"; exit 1 |
|
|
${MAKE} -f Makefile.bsd-wrapper all && \ |
${MAKE} -f Makefile.bsd-wrapper all && \ |
env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} \ |
env CROSSDIR=${CROSSDIR} DESTDIR=${CROSSDIR} \ |
COMPILER_VERSION=${COMPILER_VERSION} \ |
COMPILER_VERSION=${COMPILER_VERSION} \ |
|
LINKER_VERSION=${LINKER_VERSION} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
PIE_DEFAULT=${PIE_DEFAULT} \ |
PIE_DEFAULT=${PIE_DEFAULT} \ |
TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ |
TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ |
|
|
(cd ${.CURDIR}/gnu/usr.bin/clang; \ |
(cd ${.CURDIR}/gnu/usr.bin/clang; \ |
DESTDIR=${CROSSDIR} \ |
DESTDIR=${CROSSDIR} \ |
BSDOBJDIR=${CROSSDIR}/usr/obj \ |
BSDOBJDIR=${CROSSDIR}/usr/obj \ |
|
LINKER_VERSION=${LINKER_VERSION} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MACHINE_ARCH=${TARGET_ARCH} \ |
MACHINE_ARCH=${TARGET_ARCH} \ |
${MAKE} install) |
${MAKE} install) |
|
|
${MAKE} clean) |
${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/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 |
|
cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-clang ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang |
cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-clang ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-clang |
cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-ld ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-ld |
|
ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc |
ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc |
ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ |
ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ |
ln -sf ${TARGET_CANON}-ld ${CROSSDIR}/usr/${TARGET_CANON}/bin/ld |
@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; \ |
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; |
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++; \ |
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++; \ |