=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/Makefile,v retrieving revision 1.92 retrieving revision 1.107 diff -u -r1.92 -r1.107 --- src/Makefile 2003/05/17 20:58:52 1.92 +++ src/Makefile 2004/10/26 05:01:02 1.107 @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.92 2003/05/17 20:58:52 millert Exp $ +# $OpenBSD: Makefile,v 1.107 2004/10/26 05:01:02 mickey Exp $ # # For more information on building in tricky environments, please see @@ -76,10 +76,6 @@ NOMAN=1 exec ${SUDO} ${MAKE} install cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \ NOMAN=1 exec ${SUDO} ${MAKE} install -.if (${KERBEROS5:L} == "yes") - cd ${.CURDIR}/kerberosV/lib && ${MAKE} depend && ${MAKE} && \ - NOMAN=1 exec ${SUDO} ${MAKE} install -.endif ${MAKE} depend && ${MAKE} && exec ${SUDO} ${MAKE} install .if !defined(TARGET) @@ -132,16 +128,16 @@ ${CROSSDIRS}: @-mkdir -p ${CROSSDIR} @case ${TARGET} in \ - sparc|i386|m68k|alpha|hppa|powerpc|sparc64|m88k|vax) \ + alpha|amd64|hppa|hppa64|i386|m68k|m88k|powerpc|sparc|sparc64|vax) \ echo ${TARGET} ;;\ - amiga|sun3|mac68k|hp300|mvme68k) \ + amiga|hp300|mac68k|mvme68k) \ echo m68k ;;\ - mvme88k) \ + luna88k|mvme88k) \ echo m88k ;;\ - mvmeppc|macppc) \ + macppc|mvmeppc) \ echo powerpc ;;\ sgi) \ - echo mips ;;\ + echo mips64 ;;\ *) \ (echo Unknown arch ${TARGET} >&2) ; exit 1;; \ esac > ${CROSSDIR}/TARGET_ARCH @@ -178,44 +174,41 @@ ${MAKE} DESTDIR=${CROSSDIR} includes) @touch ${CROSSINCLUDES} -.if ${TARGET} == "alpha" || ${TARGET} == "hppa" || ${TARGET} == "i386" || \ - ${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || ${TARGET} == "sgi" || \ - ${TARGET} == "sparc" || ${TARGET} == "sparc64" +.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 size 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` \ - MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \ TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/as \ ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/as (cd ${.CURDIR}/gnu/usr.bin/ld; \ TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOPIC= NOMAN= depend all; \ TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOPIC= NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/ld \ @@ -235,33 +228,22 @@ (cd ${.CURDIR}/usr.bin/strip; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ NOMAN= depend all; \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/strip \ ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip - (cd ${.CURDIR}/usr.bin/size; \ - MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - NOMAN= depend all; \ - DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} NOMAN= install) - ln -sf ${CROSSDIR}/usr/bin/size \ - ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size +.endif (cd ${.CURDIR}/usr.bin/nm; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ - 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 \ ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/nm -.endif + ln -sf ${CROSSDIR}/usr/bin/size \ + ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/size @for cmd in ${BINUTILS}; do \ if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a \ -e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \ @@ -272,20 +254,52 @@ 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 \ - --prefix ${CROSSDIR}/usr \ + --with-gnu-as --with-gnu-ld --prefix ${CROSSDIR}/usr \ --target `cat ${CROSSDIR}/TARGET_CANON` \ + --enable-languages="c,c++" --enable-cpp --disable-nls \ --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \ 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" && \ ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \ 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) ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \ ${CROSSDIR}/usr/bin/cc @@ -299,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 @@ -308,27 +323,20 @@ (cd ${.CURDIR}/lib; \ for lib in csu libc; do \ (cd $$lib; \ - ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ + eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} depend all install); \ done; \ - ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - SKIPDIR="${NO_CROSS} libocurses/PSD.doc" \ + eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ + SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \ ${MAKE} depend all install) -.if (${KERBEROS5:L} == "yes") - MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \ - export MACHINE MACHINE_ARCH; \ - cd kerberosV/lib; \ - ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} depend all install -.endif cross-bin: ${CROSSOBJ} MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \ export MACHINE MACHINE_ARCH; \ for i in libexec bin sbin usr.bin usr.sbin; do \ (cd ${.CURDIR}/$$i; \ - ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - SKIPDIR="${BINUTILS} ${NO_CROSS}" \ + eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ + SKIPDIR=\"${BINUTILS} ${NO_CROSS}\" \ ${MAKE} depend all install); \ done