=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/Makefile,v retrieving revision 1.71 retrieving revision 1.82 diff -u -r1.71 -r1.82 --- src/Makefile 2001/08/31 12:47:57 1.71 +++ src/Makefile 2002/01/03 02:19:20 1.82 @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.71 2001/08/31 12:47:57 brad Exp $ +# $OpenBSD: Makefile,v 1.82 2002/01/03 02:19:20 art Exp $ # # For more information on building in tricky environments, please see @@ -47,14 +47,10 @@ .endif .if make(clean) || make(cleandir) || make(obj) -SUBDIR+= distrib +SUBDIR+= distrib regress .endif .if exists(regress) -.ifmake !(install) -SUBDIR+= regress -.endif - regression-tests: @echo Running regression tests... @cd ${.CURDIR}/regress && exec ${MAKE} regress @@ -107,25 +103,32 @@ CROSSDIR= ${DESTDIR}/usr/cross/${TARGET} CROSSENV= AR=${CROSSDIR}/usr/bin/ar AS=${CROSSDIR}/usr/bin/as \ CC=${CROSSDIR}/usr/bin/cc CPP=${CROSSDIR}/usr/bin/cpp \ + CXX=${CROSSDIR}/usr/bin/c++ \ LD=${CROSSDIR}/usr/bin/ld NM=${CROSSDIR}/usr/bin/nm \ - LORDER=${CROSSDIR}/usr/bin/lorder \ - RANLIB=${CROSSDIR}/usr/bin/ranlib \ + LORDER=/usr/bin/lorder RANLIB=${CROSSDIR}/usr/bin/ranlib \ SIZE=${CROSSDIR}/usr/bin/size STRIP=${CROSSDIR}/usr/bin/strip \ HOSTCC=cc CROSSPATH= ${PATH}:${CROSSDIR}/usr/bin -.if (${TARGET} == "sparc64") -CROSSENV+= CPPFLAGS=-D__arch64__ -CPPFLAGS=-D__arch64__ -.endif +cross-env: + @echo ${CROSSENV} DESTDIR=${CROSSDIR} MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` cross-helpers: @-mkdir -p ${CROSSDIR} - echo _MACHINE_ARCH | \ - cat ${.CURDIR}/sys/arch/${TARGET}/include/param.h - | \ - ${CPP} ${CPPFLAGS} -E -I${.CURDIR}/sys/arch | \ - sed -n '$$p' >${CROSSDIR}/TARGET_ARCH - eval `grep '^osr=' sys/conf/newvers.sh`; \ + @case ${TARGET} in \ + sparc|i386|m68k|alpha|hppa|powerpc|sparc64|m88k|vax) \ + echo ${TARGET} ;;\ + amiga|sun3|mac68k|hp300|mvme68k) \ + echo m68k ;;\ + mvme88k) \ + echo m88k ;;\ + mvmeppc|macppc) \ + echo powerpc ;;\ + *) \ + (echo Unknown arch ${TARGET} >&2) ; exit 1;; \ + esac > ${CROSSDIR}/TARGET_ARCH + @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH` + @eval `grep '^osr=' sys/conf/newvers.sh`; \ sed "s/\$$/-unknown-openbsd$$osr/" ${CROSSDIR}/TARGET_ARCH > \ ${CROSSDIR}/TARGET_CANON @@ -133,15 +136,14 @@ @-mkdir -p ${CROSSDIR} @-mkdir -p ${CROSSDIR}/usr/obj @-mkdir -p ${CROSSDIR}/usr/bin - @-mkdir -p ${CROSSDIR}/usr/include @-mkdir -p ${CROSSDIR}/usr/include/kerberosIV @-mkdir -p ${CROSSDIR}/usr/include/kerberosV - @-mkdir -p ${CROSSDIR}/usr/lib + @-mkdir -p ${CROSSDIR}/usr/lib/apache/include/xml @-mkdir -p ${CROSSDIR}/usr/libexec @-mkdir -p ${CROSSDIR}/var/db @-mkdir -p ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON` @ln -sf ${CROSSDIR}/usr/include \ - ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include + ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/include @ln -sf ${CROSSDIR}/usr/lib \ ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/lib @-mkdir -p ${CROSSDIR}/usr/obj @@ -158,14 +160,14 @@ MACHINE=${TARGET} MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ ${MAKE} DESTDIR=${CROSSDIR} includes -.if ${TARGET} == "powerpc" || ${TARGET} == "alpha" || ${TARGET} == "hppa" || \ - ${TARGET} == "sparc64" -cross-binutils: cross-binutils-new +.if ${TARGET} == "macppc" || ${TARGET} == "alpha" || ${TARGET} == "hppa" || \ + ${TARGET} == "sparc64"|| ${TARGET} == "mvmeppc" +cross-binutils: cross-binutils-new cross-binutils-links .else -cross-binutils: cross-binutils-old +cross-binutils: cross-binutils-old cross-binutils-links .endif -cross-binutils-new: cross-dirs +cross-binutils-new: cross-dirs export BSDSRCDIR=`pwd`; \ (cd ${.CURDIR}/gnu/usr.bin/binutils; \ BSDOBJDIR=${CROSSDIR}/usr/obj \ @@ -176,25 +178,30 @@ --prefix ${CROSSDIR}/usr \ --disable-nls --disable-gdbtk --disable-commonbfdlib \ --target `cat ${CROSSDIR}/TARGET_CANON` && \ - ${MAKE} CFLAGS=${CFLAGS} && ${MAKE} install ) && \ - ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 \ - ${.CURDIR}/usr.bin/lorder/lorder.sh \ - ${CROSSDIR}/usr/bin/lorder + ${MAKE} CFLAGS="${CFLAGS}" && ${MAKE} install ) cross-binutils-old: cross-gas cross-ar cross-ld cross-strip cross-size \ cross-ranlib cross-nm + +cross-binutils-links: cross-dirs for cmd in ar as ld nm ranlib size strip; do \ - ln -sf $$cmd \ - ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; done + if [ ! -e ${CROSSDIR}/usr/bin/$$cmd -a -e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \ + ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd \ + ${CROSSDIR}/usr/bin/$$cmd ;\ + elif [ -e ${CROSSDIR}/usr/bin/$$cmd -a ! -e ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd ]; then \ + ln -sf ${CROSSDIR}/usr/bin/$$cmd \ + ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-$$cmd; \ + fi ;\ + done cross-gas: cross-dirs (cd ${.CURDIR}/gnu/usr.bin/gas; \ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ - TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE}; \ - TARGET_MACHINE_ARCH=${TARGET} \ + TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} depend all; \ + TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/as \ @@ -205,9 +212,9 @@ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ - TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} NOMAN=; \ - TARGET_MACHINE_ARCH=${TARGET} \ + TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \ + TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/ld \ @@ -218,7 +225,7 @@ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ - MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \ + MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/ar \ @@ -229,7 +236,7 @@ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ - MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN=; \ + MAKEOBJDIR=obj.${MACHINE}.${TARGET} ${MAKE} NOMAN= depend all; \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/ranlib \ @@ -241,9 +248,11 @@ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \ + ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + NOMAN= depend all; \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= install) + ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/strip \ ${CROSSDIR}/usr/`cat ${CROSSDIR}/TARGET_CANON`/bin/strip @@ -253,7 +262,8 @@ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \ + ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + NOMAN= depend all; \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/size \ @@ -265,7 +275,8 @@ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN=; \ + ${MAKE} TARGET_MACHINE_ARCH=`cat ${CROSSDIR}/TARGET_ARCH` \ + NOMAN= depend all; \ DESTDIR=${CROSSDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} NOMAN= install) ln -sf ${CROSSDIR}/usr/bin/nm \ @@ -279,17 +290,20 @@ (cd ${CROSSDIR}/usr/obj/gnu/egcs/gcc; \ /bin/sh ${.CURDIR}/gnu/egcs/gcc/configure \ --prefix ${CROSSDIR}/usr \ - --target `cat ${CROSSDIR}/TARGET_CANON` && \ - PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES=c \ + --target `cat ${CROSSDIR}/TARGET_CANON` \ + --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \ + PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="c c++" \ LDFLAGS=${LDSTATIC} build_infodir=. \ GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \ - ${MAKE} BISON=yacc LANGUAGES=c LDFLAGS=${LDSTATIC} \ + ${MAKE} BISON=yacc LANGUAGES="c c++" LDFLAGS=${LDSTATIC} \ GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \ build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install) ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-gcc \ ${CROSSDIR}/usr/bin/cc + ln -sf ${CROSSDIR}/usr/bin/`cat ${CROSSDIR}/TARGET_CANON`-g++ \ + ${CROSSDIR}/usr/bin/c++ ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ - ${CROSSDIR}/usr/obj/gnu/egcs/gcc/xcpp \ + ${CROSSDIR}/usr/obj/gnu/egcs/gcc/cpp \ ${CROSSDIR}/usr/libexec/cpp sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/libexec/cpp#' \ -e 's#/usr/include#${CROSSDIR}/usr/include#' \