diff --git a/Makefile.inc1 b/Makefile.inc1 index edaec2306261..7a154a76162e 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -105,48 +105,47 @@ CLEANDIR= cleandir SUP?= cvsup SUPFLAGS?= -g -L 2 -P - -# -# Define the location of the temporary installation directory. Note that -# MAKEOBJDIRPREFIX normally isn't defined so if the current directory is -# /usr/src, then the world temporary directory is /usr/obj/usr/src/tmp. -# -# During the transition from aout to elf format on i386, MAKEOBJDIRPREFIX -# is set by the parent makefile (Makefile.inc0) to be /usr/obj/${OBJFORMAT} -# in order to keep aout and elf format files apart. -# -.if defined(MAKEOBJDIRPREFIX) -WORLDTMP= ${MAKEOBJDIRPREFIX}${.CURDIR}/tmp -.else -WORLDTMP= /usr/obj${.CURDIR}/tmp -.endif - +MAKEOBJDIRPREFIX?= /usr/obj +BUILD_ARCH!= sysctl -n hw.machine_arch +OBJTREE= ${MAKEOBJDIRPREFIX}/${MACHINE_ARCH} +WORLDTMP= ${OBJTREE}${.CURDIR}/${BUILD_ARCH} STRICTTMPPATH= ${WORLDTMP}/bin:${WORLDTMP}/usr/bin TMPPATH= ${STRICTTMPPATH}:${PATH} -BUILD_ARCH!= sysctl -n hw.machine_arch - -BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ +# bootstrap/tools make +BMAKEENV= MAKEOBJDIRPREFIX=${WORLDTMP} \ + DESTDIR=${WORLDTMP} \ + INSTALL="sh ${.CURDIR}/tools/install.sh" \ TARGET_ARCH=${MACHINE_ARCH} \ MACHINE_ARCH=${BUILD_ARCH} \ PATH=${TMPPATH} +BMAKE= ${BMAKEENV} ${MAKE} -f Makefile.inc1 -DNOMAN -DNOINFO \ + -DNO_FORTRAN -DNO_GDB -DNO_OBJC -XMAKEENV= COMPILER_PATH=${WORLDTMP}/usr/libexec:${WORLDTMP}/usr/bin \ +CROSSENV= COMPILER_PATH=${WORLDTMP}/usr/libexec:${WORLDTMP}/usr/bin \ LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib \ OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \ CFLAGS="-nostdinc ${CFLAGS}" \ - PERL5LIB=${DESTDIR}/usr/libdata/perl/5.00503 \ - PATH=${TMPPATH} - -# bootstrap make -BMAKE= ${BMAKEENV} ${MAKE} DESTDIR=${WORLDTMP} -DNOMAN -DNOINFO \ - -DNO_FORTRAN -DNO_GDB -DNO_OBJC + PERL5LIB=${WORLDTMP}/usr/libdata/perl/5.00503 \ + MAKEOBJDIRPREFIX=${OBJTREE} # cross make used for compilation -XMAKE= ${XMAKEENV} ${MAKE} DESTDIR=${WORLDTMP} \ - INSTALL="sh ${.CURDIR}/tools/install.sh" +XMAKEENV= ${CROSSENV} \ + DESTDIR=${WORLDTMP} \ + INSTALL="sh ${.CURDIR}/tools/install.sh" \ + PATH=${TMPPATH} +XMAKE= ${XMAKEENV} ${MAKE} -f Makefile.inc1 # cross make used for final installation -IXMAKE= ${XMAKEENV} ${MAKE} +IMAKEENV= ${CROSSENV} \ + DESTDIR=/usr1/release \ + PATH=${STRICTTMPPATH} +IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 + +USRDIRS= usr/bin usr/lib/compat/aout usr/games usr/libdata/ldscripts \ + usr/libexec/${OBJFORMAT} usr/share/misc + +INCDIRS= arpa g++/std objc protocols readline rpc rpcsvc security ss # # buildworld @@ -154,70 +153,67 @@ IXMAKE= ${XMAKEENV} ${MAKE} # Attempt to rebuild the entire system, with reasonable chance of # success, regardless of how old your existing system is. # -USRDIRS= usr/bin usr/lib/compat/aout usr/games usr/libdata/ldscripts \ - usr/libexec/${OBJFORMAT} usr/share/misc - -INCDIRS= arpa cam/scsi g++/std isofs/cd9660 machine msdosfs net \ - netatalk netatm netgraph netinet netinet6 netipx netkey \ - netncp netns nfs ntfs nwfs objc pccard posix4 protocols \ - readline rpc rpcsvc security ss sys ufs/ffs ufs/mfs ufs/ufs vm - buildworld: @echo @echo "--------------------------------------------------------------" - @echo ">>> Cleaning up the temporary build tree" + @echo ">>> Rebuilding the temporary build tree" @echo "--------------------------------------------------------------" +.if !defined(NOCLEAN) rm -rf ${WORLDTMP} +.endif .for _dir in ${USRDIRS} mkdir -p ${WORLDTMP}/${_dir} .endfor .for _dir in ${INCDIRS} mkdir -p ${WORLDTMP}/usr/include/${_dir} .endfor +.if defined(NOCLEAN) + rm -f ${WORLDTMP}/sys +.endif ln -sf ${.CURDIR}/sys ${WORLDTMP}/sys + @echo + @echo "--------------------------------------------------------------" + @echo ">>> Rebuilding tools" + @echo "--------------------------------------------------------------" + cd ${.CURDIR}; ${BMAKE} tools .if !defined(NOCLEAN) @echo @echo "--------------------------------------------------------------" @echo ">>> Cleaning up the object tree" @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} + cd ${.CURDIR}; ${XMAKE} ${CLEANDIR:S/^/par-/} .endif @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding the object tree" @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 par-obj + cd ${.CURDIR}; ${XMAKE} par-obj @echo @echo "--------------------------------------------------------------" - @echo ">>> Rebuilding tools" + @echo ">>> Rebuilding ${WORLDTMP}/usr/include" @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 -DNOINFO -DNOMAN tools - @echo - @echo "--------------------------------------------------------------" - @echo ">>> Rebuilding ${DESTDIR}/usr/include" - @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 includes + cd ${.CURDIR}; ${XMAKE} includes @echo @echo "--------------------------------------------------------------" @echo ">>> Rebuilding dependencies" @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 par-depend + cd ${.CURDIR}; ${XMAKE} par-depend @echo @echo "--------------------------------------------------------------" @echo ">>> Building libraries" @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${XMAKE} -DNOINFO -DNOMAN -f Makefile.inc1 libraries + cd ${.CURDIR}; ${XMAKE} -DNOINFO -DNOMAN libraries @echo @echo "--------------------------------------------------------------" @echo ">>> Building everything.." @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 all + cd ${.CURDIR}; ${XMAKE} all everything: @echo "--------------------------------------------------------------" @echo ">>> Building everything.." @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${XMAKE} -f Makefile.inc1 all + cd ${.CURDIR}; ${XMAKE} all # # installworld @@ -225,7 +221,7 @@ everything: # Installs everything compiled by a 'buildworld'. # installworld: - cd ${.CURDIR}; ${IXMAKE} -f Makefile.inc1 reinstall + cd ${.CURDIR}; ${IMAKE} reinstall # # reinstall @@ -298,12 +294,6 @@ most: cd ${.CURDIR}/gnu/libexec; ${MAKE} all cd ${.CURDIR}/gnu/usr.bin; ${MAKE} all cd ${.CURDIR}/gnu/usr.sbin; ${MAKE} all -#.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT) -# cd ${.CURDIR}/kerberosIV; ${MAKE} most -#.endif -#.if !defined(NOSECURE) && !defined(NOCRYPT) -# cd ${.CURDIR}/secure; ${MAKE} most -#.endif # # installmost @@ -323,12 +313,6 @@ installmost: cd ${.CURDIR}/gnu/libexec; ${MAKE} install cd ${.CURDIR}/gnu/usr.bin; ${MAKE} install cd ${.CURDIR}/gnu/usr.sbin; ${MAKE} install -#.if defined(MAKE_KERBEROS4) && !defined(NOCRYPT) -# cd ${.CURDIR}/kerberosIV; ${MAKE} installmost -#.endif -#.if !defined(NOSECURE) && !defined(NOCRYPT) -# cd ${.CURDIR}/secure; ${MAKE} installmost -#.endif # # ------------------------------------------------------------------------ @@ -344,15 +328,14 @@ installmost: # # tools - Build tools needed to run the actual build. # -tools: +tools:: .for _tool in games/fortune/strfile gnu/usr.bin/binutils usr.bin/objformat \ usr.bin/yacc gnu/usr.bin/bison gnu/usr.bin/cc cd ${.CURDIR}/${_tool}; \ + ${MAKE} obj; \ ${MAKE} depend; \ ${MAKE} all; \ - ${MAKE} install; \ - ${MAKE} cleandir; \ - ${MAKE} obj + ${MAKE} install .endfor #