version 1.38, 2010/09/23 19:00:48 |
version 1.45, 2011/07/27 14:47:17 |
|
|
TARGET_CPU= mips64 |
TARGET_CPU= mips64 |
.elif (${TARGET} == "solbourne") |
.elif (${TARGET} == "solbourne") |
TARGET_ARCH= sparc |
TARGET_ARCH= sparc |
.elif (${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \ |
.elif (${TARGET} == "macppc" || ${TARGET} == "socppc") |
${TARGET} == "socppc") |
|
TARGET_ARCH= powerpc |
TARGET_ARCH= powerpc |
.elif (${TARGET} == "landisk") |
.elif (${TARGET} == "landisk") |
TARGET_ARCH= sh |
TARGET_ARCH= sh |
|
|
# XXX |
# XXX |
BINMODE?=555 |
BINMODE?=555 |
BINOWN?=root |
BINOWN?=root |
BINOWN?=bin |
BINGRP?=bin |
|
|
CROSSDIR= ${DESTDIR}/usr/cross/${TARGET} |
CROSSDIR= ${DESTDIR}/usr/cross/${TARGET} |
CROSSENV= AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \ |
CROSSENV= AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \ |
|
|
CROSSINCLUDES= ${CROSSDIR}/.includes_done |
CROSSINCLUDES= ${CROSSDIR}/.includes_done |
CROSSBINUTILS= ${CROSSDIR}/.binutils_done |
CROSSBINUTILS= ${CROSSDIR}/.binutils_done |
CROSSGCC= ${CROSSDIR}/.gcc_done |
CROSSGCC= ${CROSSDIR}/.gcc_done |
#NO_CROSS= isakmpd keynote sectok ssh |
#NO_CROSS= isakmpd keynote ssh |
|
|
# bsd.own.mk can't do it for us |
GCC2_ARCH=m68k m88k sparc vax |
.if ${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \ |
GCC4_ARCH=amd64 hppa i386 mips64* powerpc sparc64 |
${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "vax" |
BINUTILS217_ARCH=ia64 hppa64 |
|
OLD_BINUTILS_ARCH=m68k m88k vax |
|
|
|
.for _arch in ${TARGET_ARCH} |
|
.if !empty(GCC2_ARCH:M${_arch}) |
|
USE_GCC3?=no |
TARGET_USE_GCC3=No |
TARGET_USE_GCC3=No |
COMPILER_VERSION=gcc2 |
COMPILER_VERSION?=gcc2 |
.elif ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "hppa" || \ |
.elif !empty(GCC4_ARCH:M${_arch}) |
${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "powerpc" || \ |
|
${TARGET_ARCH} == "sparc64" |
|
TARGET_USE_GCC4=Yes |
TARGET_USE_GCC4=Yes |
COMPILER_VERSION=gcc4 |
COMPILER_VERSION?=gcc4 |
.else |
.else |
TARGET_USE_GCC3=Yes |
TARGET_USE_GCC3=Yes |
COMPILER_VERSION=gcc3 |
COMPILER_VERSION?=gcc3 |
.endif |
.endif |
|
|
|
.if !empty(BINUTILS217_ARCH:M${_arch}) |
|
BINUTILS_VERSION=binutils-2.17 |
|
.else |
|
BINUTILS_VERSION=binutils |
|
.endif |
|
|
|
.if !empty(OLD_BINUTILS_ARCH:M${_arch}) |
|
NEW_BINUTILS?= No |
|
BINUTILS= ar as ld nm ranlib objcopy objdump strings strip |
|
.else |
|
NEW_BINUTILS?= Yes |
|
BINUTILS= ar as gasp ld nm objcopy objdump ranlib readelf size \ |
|
strings strip |
|
.endif |
|
BINUTILS_DIR=gnu/usr.bin/${BINUTILS_VERSION} |
|
.endfor |
|
|
# no libcrypto.... these won't build |
# no libcrypto.... these won't build |
#NO_CROSS+= dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet \ |
#NO_CROSS+= dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet \ |
# ftp gzsig sasyncd vnconfig |
# ftp gzsig sasyncd vnconfig |
|
|
NO_CROSS+=bind |
NO_CROSS+=bind |
NO_CROSS+=httpd |
NO_CROSS+=httpd |
NO_CROSS+=microcode |
NO_CROSS+=microcode |
NO_CROSS+=groff lynx binutils perl texinfo gcc cvs |
NO_CROSS+=groff lynx binutils binutils-2.17 perl texinfo gcc cvs |
NO_CROSS+=nsd |
NO_CROSS+=nsd |
|
|
cross-dirs: ${CROSSDIRS} |
cross-dirs: ${CROSSDIRS} |
|
|
${MAKE} DESTDIR=${CROSSDIR} includes) |
${MAKE} DESTDIR=${CROSSDIR} includes) |
@touch ${CROSSINCLUDES} |
@touch ${CROSSINCLUDES} |
|
|
.if (${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \ |
|
${TARGET_ARCH} == "vax") |
|
BINUTILS= ar as ld nm ranlib objcopy objdump strings strip |
|
NEW_BINUTILS?= No |
|
.else |
|
BINUTILS= ar as gasp ld nm objcopy objdump ranlib readelf size \ |
|
strings strip |
|
NEW_BINUTILS?= Yes |
|
.endif |
|
|
|
${CROSSBINUTILS}: ${CROSSINCLUDES} |
${CROSSBINUTILS}: ${CROSSINCLUDES} |
(cd ${.CURDIR}/gnu/usr.bin/binutils; \ |
(cd ${.CURDIR}/${BINUTILS_DIR}; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
USING_NEW_BINUTILS=${NEW_BINUTILS} \ |
USING_NEW_BINUTILS=${NEW_BINUTILS} \ |
TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ |
TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ |
|
|
TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ |
TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \ |
MACHINE=${TARGET} \ |
MACHINE=${TARGET} \ |
PATH=${CROSSPATH} ${MAKE} install) |
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/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/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp |
rm -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp |
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 |
ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc |
ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++ |
|
|
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 |
rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp |
sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ |
sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \ |
-e 's/@GNUC@//' \ |
-e 's/@GNUC@//' \ |