version 1.102, 2004/04/21 15:58:21 |
version 1.111, 2005/01/09 19:35:26 |
|
|
${CROSSDIRS}: |
${CROSSDIRS}: |
@-mkdir -p ${CROSSDIR} |
@-mkdir -p ${CROSSDIR} |
@case ${TARGET} in \ |
@case ${TARGET} in \ |
alpha|hppa|i386|m68k|m88k|powerpc|sparc|sparc64|vax|amd64) \ |
alpha|amd64|hppa|hppa64|i386|m68k|m88k|powerpc|sparc|sparc64|vax) \ |
echo ${TARGET} ;;\ |
echo ${TARGET} ;;\ |
amiga|hp300|mac68k|mvme68k) \ |
amiga|hp300|mac68k|mvme68k) \ |
echo m68k ;;\ |
echo m68k ;;\ |
luna88k|mvme88k) \ |
luna88k|mvme88k) \ |
echo m88k ;;\ |
echo m88k ;;\ |
macppc|mvmeppc|pegasos) \ |
macppc|mvmeppc) \ |
echo powerpc ;;\ |
echo powerpc ;;\ |
sgi) \ |
sgi) \ |
echo mips ;;\ |
echo mips64 ;;\ |
*) \ |
*) \ |
(echo Unknown arch ${TARGET} >&2) ; exit 1;; \ |
(echo Unknown arch ${TARGET} >&2) ; exit 1;; \ |
esac > ${CROSSDIR}/TARGET_ARCH |
esac > ${CROSSDIR}/TARGET_ARCH |
|
|
@-mkdir -p ${CROSSDIR}/usr/include |
@-mkdir -p ${CROSSDIR}/usr/include |
@(cd ${.CURDIR}/include && \ |
@(cd ${.CURDIR}/include && \ |
MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} prereq && \ |
${MAKE} prereq && \ |
MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} DESTDIR=${CROSSDIR} includes) |
${MAKE} DESTDIR=${CROSSDIR} includes) |
@touch ${CROSSINCLUDES} |
@touch ${CROSSINCLUDES} |
|
|
.if ${TARGET} == "alpha" || ${TARGET} == "amd64" || ${TARGET} == "hppa" || \ |
.if ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m88k" || \ |
${TARGET} == "i386" || ${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \ |
${MACHINE_ARCH} == "vax" |
${TARGET} == "pegasos" || ${TARGET} == "sparc" || ${TARGET} == "sparc64" || \ |
BINUTILS= ar as ld nm ranlib objcopy objdump strings strip |
${TARGET} == "sgi" |
NEW_BINUTILS?= No |
|
.else |
BINUTILS= ar as gasp ld nm objcopy objdump ranlib readelf size \ |
BINUTILS= ar as gasp ld nm objcopy objdump ranlib readelf size \ |
strings strip |
strings strip |
NEW_BINUTILS?= Yes |
NEW_BINUTILS?= Yes |
.else |
|
BINUTILS= ar as ld nm ranlib objcopy objdump strings strip |
|
NEW_BINUTILS?= No |
|
.endif |
.endif |
|
|
${CROSSBINUTILS}: ${CROSSINCLUDES} |
${CROSSBINUTILS}: ${CROSSINCLUDES} |
.if ${NEW_BINUTILS:L} == "yes" |
.if ${NEW_BINUTILS:L} == "yes" |
export BSDSRCDIR=${.CURDIR}; \ |
(cd ${.CURDIR}/gnu/usr.bin/binutils; \ |
(cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
/bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \ |
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
--prefix ${CROSSDIR}/usr \ |
${MAKE} -f Makefile.bsd-wrapper depend && \ |
--disable-nls --disable-gdbtk --disable-commonbfdlib \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
--target `cat ${CROSSDIR}/TARGET_CANON` && \ |
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
${MAKE} CFLAGS="${CFLAGS}" && ${MAKE} install ) |
${MAKE} -f Makefile.bsd-wrapper all && \ |
|
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
|
${MAKE} -f Makefile.bsd-wrapper install) |
.else |
.else |
(cd ${.CURDIR}/gnu/usr.bin/gas; \ |
(cd ${.CURDIR}/gnu/usr.bin/gas; \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
|
ln -sf ${CROSSDIR}/usr/bin/strip \ |
ln -sf ${CROSSDIR}/usr/bin/strip \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip |
.endif |
.endif |
(cd ${.CURDIR}/usr.bin/nm; \ |
|
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
|
${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
NOMAN= depend all; \ |
|
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
|
${MAKE} NOMAN= install) |
|
ln -sf ${CROSSDIR}/usr/bin/nm \ |
|
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm |
|
ln -sf ${CROSSDIR}/usr/bin/size \ |
|
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size |
|
@for cmd in ${BINUTILS}; do \ |
@for cmd in ${BINUTILS}; do \ |
if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
-e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \ |
-e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \ |
|
|
ln -sf ${CROSSDIR}/usr/bin/$$cmd \ |
ln -sf ${CROSSDIR}/usr/bin/$$cmd \ |
${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; \ |
${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; \ |
fi ;\ |
fi ;\ |
|
if [ -e ${CROSSDIR}/usr/bin/$$cmd -a \ |
|
! -e ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/$$cmd ]; then \ |
|
ln -sf ${CROSSDIR}/usr/bin/$$cmd \ |
|
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/$$cmd; \ |
|
fi ;\ |
done |
done |
@touch ${CROSSBINUTILS} |
@touch ${CROSSBINUTILS} |
|
|
|
# bsd.own.mk can't do it for us |
|
.if ${TARGET} == "amd64" || ${TARGET} == "cats" || \ |
|
${TARGET} == "hppa" || ${TARGET} == "hppa64" || \ |
|
${TARGET} == "i386" || \ |
|
${TARGET} == "sparc64" || ${TARGET} == "sgi" |
|
USE_GCC3=yes |
|
.else |
|
USE_GCC3=no |
|
.endif |
|
|
${CROSSGCC}: ${CROSSBINUTILS} |
${CROSSGCC}: ${CROSSBINUTILS} |
|
.if ${USE_GCC3:L} == "yes" |
|
(cd ${.CURDIR}/gnu/usr.bin/gcc; \ |
|
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
|
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` CROSSDIR=${CROSSDIR} \ |
|
${MAKE} -f Makefile.bsd-wrapper depend && \ |
|
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
|
TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` CROSSDIR=${CROSSDIR} \ |
|
${MAKE} -f Makefile.bsd-wrapper all && \ |
|
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
|
${MAKE} -f Makefile.bsd-wrapper install) |
|
ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-g++ \ |
|
${CROSSDIR}/usr/bin/c++ |
|
ln -sf ${CROSSDIR}/usr/libexec/cpp \ |
|
${CROSSDIR}/usr/bin/cpp |
|
.else |
(cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \ |
(cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \ |
/bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \ |
/bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \ |
--with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \ |
--with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \ |
|
|
${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp |
${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp |
chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp |
chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp |
chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp |
chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp |
|
.endif |
@touch ${CROSSGCC} |
@touch ${CROSSGCC} |
|
|
# XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later |
# XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later |