=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/Makefile,v retrieving revision 1.103 retrieving revision 1.107 diff -u -r1.103 -r1.107 --- src/Makefile 2004/05/03 15:18:18 1.103 +++ src/Makefile 2004/10/26 05:01:02 1.107 @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.103 2004/05/03 15:18:18 drahn Exp $ +# $OpenBSD: Makefile,v 1.107 2004/10/26 05:01:02 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 ;;\ @@ -137,7 +137,7 @@ macppc|mvmeppc) \ echo powerpc ;;\ sgi) \ - echo mips ;;\ + echo mips64 ;;\ *) \ (echo Unknown arch ${TARGET} >&2) ; exit 1;; \ esac > ${CROSSDIR}/TARGET_ARCH @@ -174,26 +174,27 @@ ${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 +237,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 +254,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 +313,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