version 1.100, 2004/02/27 17:36:11 |
version 1.106, 2004/10/21 20:47:29 |
|
|
echo ${TARGET} ;;\ |
echo ${TARGET} ;;\ |
amiga|hp300|mac68k|mvme68k) \ |
amiga|hp300|mac68k|mvme68k) \ |
echo m68k ;;\ |
echo m68k ;;\ |
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 |
|
|
|
|
.if ${TARGET} == "alpha" || ${TARGET} == "amd64" || ${TARGET} == "hppa" || \ |
.if ${TARGET} == "alpha" || ${TARGET} == "amd64" || ${TARGET} == "hppa" || \ |
${TARGET} == "i386" || ${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \ |
${TARGET} == "i386" || ${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \ |
${TARGET} == "pegasos" || ${TARGET} == "sparc" || ${TARGET} == "sparc64" || \ |
${TARGET} == "sparc" || ${TARGET} == "sparc64" || ${TARGET} == "sgi" |
${TARGET} == "sgi" |
|
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 |
|
|
|
|
${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` \ |
MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} NOMAN= install) |
${MAKE} NOMAN= install) |
ln -sf ${CROSSDIR}/usr/bin/as \ |
ln -sf ${CROSSDIR}/usr/bin/as \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as |
(cd ${.CURDIR}/gnu/usr.bin/ld; \ |
(cd ${.CURDIR}/gnu/usr.bin/ld; \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} NOPIC= NOMAN= depend all; \ |
${MAKE} NOPIC= NOMAN= depend all; \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} NOPIC= NOMAN= install) |
${MAKE} NOPIC= NOMAN= install) |
ln -sf ${CROSSDIR}/usr/bin/ld \ |
ln -sf ${CROSSDIR}/usr/bin/ld \ |
|
|
(cd ${.CURDIR}/usr.bin/strip; \ |
(cd ${.CURDIR}/usr.bin/strip; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
NOMAN= depend all; \ |
NOMAN= depend all; \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
NOMAN= install) |
NOMAN= install) |
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 |
(cd ${.CURDIR}/usr.bin/nm; \ |
(cd ${.CURDIR}/usr.bin/nm; \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
${MAKE} NOMAN= depend all; \ |
MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ |
|
NOMAN= depend all; \ |
|
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ |
${MAKE} NOMAN= install) |
${MAKE} NOMAN= install) |
ln -sf ${CROSSDIR}/usr/bin/nm \ |
ln -sf ${CROSSDIR}/usr/bin/nm \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm |
ln -sf ${CROSSDIR}/usr/bin/size \ |
ln -sf ${CROSSDIR}/usr/bin/size \ |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm |
${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size |
.endif |
|
@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} == "sparc64" || ${TARGET} == "sgi" |
|
USE_GCC3=yes |
|
.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 \ |
--prefix ${CROSSDIR}/usr \ |
--with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \ |
--target `cat ${CROSSDIR}/TARGET_CANON` \ |
--target `cat ${CROSSDIR}/TARGET_CANON` \ |
|
--enable-languages="c,c++" --enable-cpp --disable-nls \ |
--with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \ |
--with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \ |
PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \ |
PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \ |
LDFLAGS="${LDSTATIC}" build_infodir=. \ |
CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \ |
|
LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \ |
|
DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \ |
GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \ |
GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \ |
${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \ |
${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \ |
GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \ |
GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \ |
|
CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \ |
|
LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \ |
build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install) |
build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install) |
ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \ |
ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \ |
${CROSSDIR}/usr/bin/cc |
${CROSSDIR}/usr/bin/cc |
|
|
${.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 |