From 272d37cbf8eb798303851800217a6ec81702ba43 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 25 Nov 1995 01:28:07 +0000 Subject: Add -DNOCLEAN option which totally and utterly disables any form of cleaning during a make. This may give you more rope to hang yourself if you are caught with some subtle dependency on installed binaries in your build, but if you are doing daily 'make -DNOCLEAN world' it's not too bad at all. It could take as little as 30 minutes to do an entire sync-up of your binaries if everything's up to date, especially if you are using 'INSTALL=install -C' in /etc/make.conf (highly recomended!). Also, add a "reinstall" target. You can do a 'make DESTDIR=/mnt reinstall' where /mnt is the nfs root of a machine and you get the install parts of the make world run on it. I saw this on -hackers quite some time ago and included it in my Makefile and have been using it on and off for a while. Alas, I cannot find the actual message with the author's name... --- Makefile | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 69c77fa..bd7a1ef 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.66 1995/11/05 18:42:23 jfieber Exp $ +# $Id: Makefile,v 1.67 1995/11/09 09:58:17 jkh Exp $ # # Make command line options: # -DCLOBBER will remove /usr/include and MOST of /usr/lib @@ -8,6 +8,7 @@ # -DMAKE_EBONES to build eBones (KerberosIV) # # -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir +# -DNOCLEAN do not clean at all # -DNOCRYPT will prevent building of crypt versions # -DNOLKM do not build loadable kernel modules # -DNOOBJDIR do not run ``${MAKE} obj'' @@ -86,13 +87,20 @@ OBJDIR= .else OBJDIR= obj .endif + +.if defined(NOCLEAN) +CLEANDIR= +WORLD_CLEANDIST=obj +.else +WORLD_CLEANDIST=cleandist .if defined(NOCLEANDIR) CLEANDIR= clean .else CLEANDIR= cleandir .endif +.endif -world: hierarchy mk cleandist includes lib-tools libraries build-tools +world: hierarchy mk $(WORLD_CLEANDIST) includes lib-tools libraries build-tools @echo "--------------------------------------------------------------" @echo " Rebuilding ${DESTDIR} The whole thing" @echo "--------------------------------------------------------------" @@ -100,6 +108,14 @@ world: hierarchy mk cleandist includes lib-tools libraries build-tools ${MAKE} depend all install cd ${.CURDIR}/share/man && ${MAKE} makedb +reinstall: hierarchy mk includes + @echo "--------------------------------------------------------------" + @echo " Reinstall ${DESTDIR} The whole thing" + @echo "--------------------------------------------------------------" + @echo + ${MAKE} install + cd ${.CURDIR}/share/man && ${MAKE} makedb + hierarchy: @echo "--------------------------------------------------------------" @echo " Making hierarchy" -- cgit v1.1