=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/Makefile,v retrieving revision 1.87 retrieving revision 1.106 diff -u -r1.87 -r1.106 --- src/Makefile 2002/08/16 02:04:58 1.87 +++ src/Makefile 2004/10/21 20:47:29 1.106 @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.87 2002/08/16 02:04:58 wcobb Exp $ +# $OpenBSD: Makefile,v 1.106 2004/10/21 20:47:29 grange Exp $ # # For more information on building in tricky environments, please see @@ -39,10 +39,6 @@ SUBDIR+= sys lkm -.if (${KERBEROS:L} == "yes") -SUBDIR+= kerberosIV -.endif - .if (${KERBEROS5:L} == "yes") SUBDIR+= kerberosV .endif @@ -80,18 +76,6 @@ NOMAN=1 exec ${SUDO} ${MAKE} install cd ${.CURDIR}/gnu/lib && ${MAKE} depend && ${MAKE} && \ NOMAN=1 exec ${SUDO} ${MAKE} install -.if (${KERBEROS:L} == "yes") - cd ${.CURDIR}/kerberosIV/lib && ${MAKE} depend && ${MAKE} && \ - NOMAN=1 exec ${SUDO} ${MAKE} install -.endif -.if (${KERBEROS5:L} == "yes") - cd ${.CURDIR}/kerberosV/lib && ${MAKE} depend && ${MAKE} && \ - NOMAN=1 exec ${SUDO} ${MAKE} install -.endif - cd ${.CURDIR}/gnu/usr.bin/perl && \ - ${MAKE} -f Makefile.bsd-wrapper depend && \ - ${MAKE} -f Makefile.bsd-wrapper perl.lib && \ - exec ${SUDO} ${MAKE} -f Makefile.bsd-wrapper install.lib ${MAKE} depend && ${MAKE} && exec ${SUDO} ${MAKE} install .if !defined(TARGET) @@ -114,12 +98,12 @@ LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \ LORDER=/usr/bin/lorder RANLIB=${CROSSDIR}/usr/bin/ranlib \ SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \ - HOSTCC="${CC}" HOSTCXX="${CXX}" NOMAN= DESTDIR=${CROSSDIR} \ - HOSTCFLAGS="${CFLAGS}" HOSTCXXFLAGS="${CXXFLAGS}" \ - HOSTLDFLAGS="${LDFLAGS}" \ - CFLAGS="${CROSSCFLAGS}" CPPFLAGS="${CROSSCPPFLAGS}" \ - CXXFLAGS="${CROSSCXXFLAGS}" \ - LDFLAGS="${CROSSLDFLAGS}" + HOSTCC=\"${CC}\" HOSTCXX=\"${CXX}\" NOMAN= DESTDIR=${CROSSDIR} \ + HOSTCFLAGS=\"${CFLAGS}\" HOSTCXXFLAGS=\"${CXXFLAGS}\" \ + HOSTLDFLAGS=\"${LDFLAGS} \" \ + CFLAGS=\"${CROSSCFLAGS}\" CPPFLAGS=\"${CROSSCPPFLAGS}\" \ + CXXFLAGS=\"${CROSSCXXFLAGS}\" \ + LDFLAGS=\"${CROSSLDFLAGS}\" CROSSPATH= ${PATH}:${CROSSDIR}/usr/bin CROSSLANGS?= c c++ @@ -144,16 +128,16 @@ ${CROSSDIRS}: @-mkdir -p ${CROSSDIR} @case ${TARGET} in \ - sparc|i386|m68k|alpha|hppa|powerpc|sparc64|m88k|vax) \ + alpha|hppa|i386|m68k|m88k|powerpc|sparc|sparc64|vax|amd64) \ 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 @@ -190,45 +174,44 @@ ${MAKE} DESTDIR=${CROSSDIR} includes) @touch ${CROSSINCLUDES} -.if ${TARGET} == "alpha" || ${TARGET} == "hppa" || ${TARGET} == "macppc" || \ - ${TARGET} == "mvmeppc" || ${TARGET} == "sgi" || ${TARGET} == "sparc" || \ - ${TARGET} == "sparc64" +.if ${TARGET} == "alpha" || ${TARGET} == "amd64" || ${TARGET} == "hppa" || \ + ${TARGET} == "i386" || ${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \ + ${TARGET} == "sparc" || ${TARGET} == "sparc64" || ${TARGET} == "sgi" 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 +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` \ - 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} NOMAN= depend all; \ + 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} NOMAN= install) + ${MAKE} NOPIC= NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/ld \ ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/ld (cd ${.CURDIR}/usr.bin/ar; \ @@ -246,33 +229,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 \ @@ -283,20 +255,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 @@ -310,6 +314,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 @@ -319,34 +324,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 (${KERBEROS:L} == "yes") - MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH`; \ - export MACHINE MACHINE_ARCH; \ - cd kerberosIV/lib; \ - ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} depend all install -.endif -.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