X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/b1098fedcb27f9133115fb92ae0df6b42ed61a24..bdd68a4503870aee97f7d03bb7023726daf71a3f:/Makefile diff --git a/Makefile b/Makefile index 3a65e720d8..c0fb30099b 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # @(#)Makefile 5.1.1.2 (Berkeley) 5/9/91 # -# $Id: Makefile,v 1.28 1993/12/15 02:10:14 jkh Exp $ +# $Id: Makefile,v 1.38 1994/02/04 21:38:47 rgrimes Exp $ # SUBDIR= @@ -38,6 +38,16 @@ SUBDIR+= usr.bin SUBDIR+= usr.sbin .endif +# This is for people who want to have src/ports, src/local built +# automatically. +.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) +SUBDIR+= local +.endif +.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) +SUBDIR+= ports +.endif + + # Special cases: etc sys # Not ported: kerberosIV @@ -50,13 +60,12 @@ CLEANDIR= CLEANDIR= cleandir .endif -world: directories cleandist mk includes bootstrapld libraries tools mdec +world: directories cleandist mk includes libraries tools mdec @echo "--------------------------------------------------------------" @echo " Rebuilding ${DESTDIR} The whole thing" @echo "--------------------------------------------------------------" @echo make depend all install - cd ${.CURDIR}/usr.sbin/sendmail/src; make install cd ${.CURDIR}/share/man; make makedb directories: @@ -68,9 +77,22 @@ cleandist: @echo " Cleaning up the source tree, and rebuilding the obj tree" @echo "--------------------------------------------------------------" @echo - here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src,,'`; \ + here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ + if test -d /usr/obj -a ! -d $$dest; then \ + mkdir -p $$dest; \ + else \ + true; \ + fi; cd $$dest; rm -rf ${SUBDIR} find . -name obj | xargs -n30 rm -rf +.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) + # The cd is done as local may well be a symbolic link + -cd local ; find . -name obj | xargs -n30 rm -rf +.endif +.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) + # The cd is done as local may well be a symbolic link + -cd ports ; find . -name obj | xargs -n30 rm -rf +.endif make cleandir make obj .endif @@ -79,10 +101,12 @@ mk: @echo "--------------------------------------------------------------" @echo " Rebuilding ${DESTDIR}/usr/share/mk" @echo "--------------------------------------------------------------" +.if defined(CLOBBER) # DONT DO THIS!! rm -rf ${DESTDIR}/usr/share/mk # DONT DO THIS!! mkdir ${DESTDIR}/usr/share/mk - chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/share/mk - chmod 755 ${DESTDIR}/usr/share/mk + # DONT DO THIS!! chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/share/mk + # DONT DO THIS!! chmod 755 ${DESTDIR}/usr/share/mk +.endif cd ${.CURDIR}/share/mk; make install; includes: @@ -97,32 +121,32 @@ includes: chmod 755 ${DESTDIR}/usr/include .endif cd ${.CURDIR}/include; make install - cd ${.CURDIR}/gnu/gcc2/libobjc; make beforeinstall - cd ${.CURDIR}/gnu/libg++; make beforeinstall - cd ${.CURDIR}/gnu/libregex; make beforeinstall + cd ${.CURDIR}/gnu/usr.bin/cc/libobjc; make beforeinstall + cd ${.CURDIR}/gnu/lib/libg++; make beforeinstall cd ${.CURDIR}/lib/libcurses; make beforeinstall cd ${.CURDIR}/lib/libc; make beforeinstall -# XXX -- This will go away later -- hack to get up to speed with shlibs -# setenv NOBOOTSTRAPLD to prevent building new shlib tools. -# This is to save build time if you've already done it before, -# you MUST run it the first time you get the new sources. +# You MUST run this the first time you get the new sources to boot strap +# the shared library tools onto you system. This target should only +# need to be run once on a system. -bootstrapld: -.if !defined(NOBOOTSTRAPLD) +bootstrapld: directories cleandist mk includes @echo "--------------------------------------------------------------" @echo " Building new shlib compiler tools" @echo "--------------------------------------------------------------" - cd ${.CURDIR}/usr.bin/strip; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/usr.bin/mkdep; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/gas; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/gcc2; make -DNOPIC depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/ld; make -DNOPIC depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/gcc2/libgcc; make all install ${CLEANDIR} obj - cd ${.CURDIR}/lib/libc; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/lib/csu.i386; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/ld/rtld; make depend all install ${CLEANDIR} obj -.endif + # These tools need to be built very early due to a.out.h changes: + # It is possible that ar is needed + cd ${.CURDIR}/usr.bin/mkdep; make -DNOPIC depend all install ${CLEANDIR} obj + cd ${.CURDIR}/usr.bin/nm; make -DNOPIC depend all install ${CLEANDIR} obj + cd ${.CURDIR}/usr.bin/ranlib; make -DNOPIC depend all install ${CLEANDIR} obj + cd ${.CURDIR}/usr.bin/strip; make -DNOPIC depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/usr.bin/ld; make -DNOPIC depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/usr.bin/as; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/usr.bin/cc; make -DNOPIC depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/usr.bin/cc/libgcc; make all install ${CLEANDIR} obj + cd ${.CURDIR}/lib/csu.i386; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/lib/libc; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/usr.bin/ld/rtld; make depend all install ${CLEANDIR} obj libraries: # setenv NOPROFILE if you do not want profiled libraries @@ -133,11 +157,11 @@ libraries: .if defined(CLOBBER) find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | xargs -n30 rm -rf .endif - cd ${.CURDIR}/lib; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/gcc2/libgcc; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/libg++; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/libregex; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/gnu/libmalloc; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/lib; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/usr.bin/cc/libgcc; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/lib/libg++; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/lib/libregex; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/lib/libmalloc; make depend all install ${CLEANDIR} obj cd ${.CURDIR}/usr.bin/lex; make depend all install ${CLEANDIR} obj tools: @@ -145,8 +169,8 @@ tools: @echo " Rebuilding ${DESTDIR} Compiler and Make" @echo "--------------------------------------------------------------" @echo - cd ${.CURDIR}/gnu/gcc2; make depend all install ${CLEANDIR} obj - cd ${.CURDIR}/usr.bin/make; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/gnu/usr.bin/cc; make depend all install ${CLEANDIR} obj + cd ${.CURDIR}/usr.bin/make; make depend all install ${CLEANDIR} obj mdec: @echo "--------------------------------------------------------------"