=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/Makefile,v retrieving revision 1.104 retrieving revision 1.108 diff -u -r1.104 -r1.108 --- src/Makefile 2004/08/06 22:30:54 1.104 +++ src/Makefile 2004/11/30 15:46:01 1.108 @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.104 2004/08/06 22:30:54 pefo Exp $ +# $OpenBSD: Makefile,v 1.108 2004/11/30 15:46:01 mickey Exp $ # # For more information on building in tricky environments, please see @@ -128,7 +128,7 @@ ${CROSSDIRS}: @-mkdir -p ${CROSSDIR} @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} ;;\ amiga|hp300|mac68k|mvme68k) \ echo m68k ;;\ @@ -169,31 +169,34 @@ @-mkdir -p ${CROSSDIR}/usr/include @(cd ${.CURDIR}/include && \ MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} prereq && \ MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} DESTDIR=${CROSSDIR} includes) @touch ${CROSSINCLUDES} -.if ${TARGET} == "alpha" || ${TARGET} == "amd64" || ${TARGET} == "hppa" || \ - ${TARGET} == "i386" || ${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \ - ${TARGET} == "sparc" || ${TARGET} == "sparc64" || ${TARGET} == "sgi" +.if ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m88k" || \ + ${MACHINE_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 -.else -BINUTILS= ar as ld nm ranlib objcopy objdump strings strip -NEW_BINUTILS?= No .endif ${CROSSBINUTILS}: ${CROSSINCLUDES} .if ${NEW_BINUTILS:L} == "yes" - export BSDSRCDIR=${.CURDIR}; \ - (cd ${CROSSDIR}/usr/obj/gnu/usr.bin/binutils; \ - /bin/sh ${BSDSRCDIR}/gnu/usr.bin/binutils/configure \ - --prefix ${CROSSDIR}/usr \ - --disable-nls --disable-gdbtk --disable-commonbfdlib \ - --target `cat ${CROSSDIR}/TARGET_CANON` && \ - ${MAKE} CFLAGS="${CFLAGS}" && ${MAKE} install ) + (cd ${.CURDIR}/gnu/usr.bin/binutils; \ + MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ + TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + ${MAKE} -f Makefile.bsd-wrapper depend && \ + MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ + TARGET_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + ${MAKE} -f Makefile.bsd-wrapper all && \ + DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ + ${MAKE} -f Makefile.bsd-wrapper install) .else (cd ${.CURDIR}/gnu/usr.bin/gas; \ TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ @@ -236,8 +239,7 @@ .endif (cd ${.CURDIR}/usr.bin/nm; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - NOMAN= depend all; \ + ${MAKE} NOMAN= depend all; \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/nm \ @@ -254,10 +256,37 @@ ln -sf ${CROSSDIR}/usr/bin/$$cmd \ ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; \ 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 @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} +.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; \ /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \ --with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \ @@ -286,6 +315,7 @@ ${.CURDIR}/usr.bin/cpp/cpp.sh > ${CROSSDIR}/usr/bin/cpp chmod ${BINMODE} ${CROSSDIR}/usr/bin/cpp chown ${BINOWN}:${BINGRP} ${CROSSDIR}/usr/bin/cpp +.endif @touch ${CROSSGCC} # XXX MAKEOBJDIR maybe should be obj.${TARGET} here, revisit later