=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/Makefile,v retrieving revision 1.77 retrieving revision 1.86 diff -u -r1.77 -r1.86 --- src/Makefile 2001/09/07 19:35:37 1.77 +++ src/Makefile 2002/08/11 22:48:05 1.86 @@ -1,12 +1,12 @@ -# $OpenBSD: Makefile,v 1.77 2001/09/07 19:35:37 mickey Exp $ +# $OpenBSD: Makefile,v 1.86 2002/08/11 22:48:05 art Exp $ # # For more information on building in tricky environments, please see # the list of possible environment variables described in # /usr/share/mk/bsd.README. -# +# # Building recommendations: -# +# # 1) If at all possible, put this source tree in /usr/src. If /usr/src # must be a symbolic link, setenv BSDSRCDIR to point to the real location. # @@ -25,7 +25,7 @@ # "make build" target supplied here. Good luck. # # 5) If you want to setup a cross-build environment, there is a "cross-tools" -# target available which upon completion of "make TARGET= cross-tools" +# target available which upon completion of "make TARGET= cross-tools" # (where is one of the names in the /sys/arch directory) will produce # a set of compilation tools along with the includes in the /usr/cross/ # directory. @@ -47,17 +47,13 @@ .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 + @cd ${.CURDIR}/regress && ${MAKE} depend && exec ${MAKE} regress .endif includes: @@ -107,28 +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} + @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 @@ -136,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 @@ -162,13 +161,13 @@ ${MAKE} DESTDIR=${CROSSDIR} includes .if ${TARGET} == "macppc" || ${TARGET} == "alpha" || ${TARGET} == "hppa" || \ - ${TARGET} == "sparc64"|| ${TARGET} == "mvmeppc" + ${TARGET} == "sparc64"|| ${TARGET} == "mvmeppc" || ${TARGET} == "sparc" cross-binutils: cross-binutils-new cross-binutils-links .else 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 \ @@ -179,16 +178,13 @@ --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 \ + for cmd in ar as ld nm ranlib objcopy objdump size strings strip; do \ 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 ;\ @@ -203,9 +199,9 @@ BSDOBJDIR=${CROSSDIR}/usr/obj \ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ - TARGET_MACHINE_ARCH=${TARGET} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} depend all; \ - 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 \ @@ -216,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= depend all; \ - 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 \ @@ -252,9 +248,11 @@ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= depend all; \ + ${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 @@ -264,7 +262,8 @@ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= depend all; \ + ${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 \ @@ -276,7 +275,8 @@ BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ ${MAKE} obj; \ MAKEOBJDIR=obj.${MACHINE}.${TARGET} \ - ${MAKE} TARGET_MACHINE_ARCH=${TARGET} NOMAN= depend all; \ + ${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 \ @@ -290,15 +290,18 @@ (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/cpp \ ${CROSSDIR}/usr/libexec/cpp