Makefile revision 16866
1139743Simp# 239212Sgibbs# $Id: Makefile,v 1.88 1996/06/28 05:36:00 phk Exp $ 339212Sgibbs# 439212Sgibbs# Make command line options: 539212Sgibbs# -DCLOBBER will remove /usr/include 639212Sgibbs# -DMAKE_LOCAL to add ./local to the SUBDIR list 739212Sgibbs# -DMAKE_PORTS to add ./ports to the SUBDIR list 839212Sgibbs# -DMAKE_EBONES to build eBones (KerberosIV) 939212Sgibbs# 1039212Sgibbs# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir 1139212Sgibbs# -DNOCLEAN do not clean at all 1239212Sgibbs# -DNOCRYPT will prevent building of crypt versions 1339212Sgibbs# -DNOLKM do not build loadable kernel modules 1439212Sgibbs# -DNOOBJDIR do not run ``${MAKE} obj'' 1539212Sgibbs# -DNOPROFILE do not build profiled libraries 1639212Sgibbs# -DNOSECURE do not go into secure subdir 1739212Sgibbs 1839212Sgibbs# Put initial settings here. 1939212SgibbsSUBDIR= 2039212Sgibbs 2139212Sgibbs# We must do include and lib first so that the perl *.ph generation 2239212Sgibbs# works correctly as it uses the header files installed by this. 2339212Sgibbs.if exists(include) 2439212SgibbsSUBDIR+= include 2539212Sgibbs.endif 2639212Sgibbs.if exists(lib) 2739212SgibbsSUBDIR+= lib 28116161Sobrien.endif 29116161Sobrien 30116161Sobrien.if exists(bin) 31116161SobrienSUBDIR+= bin 3239212Sgibbs.endif 3374840Sken#.if exists(contrib) 3474840Sken#SUBDIR+= contrib 3589114Smsmith#.endif 3689114Smsmith.if exists(games) 3774840SkenSUBDIR+= games 3874840Sken.endif 3974840Sken.if exists(gnu) 40216088SkenSUBDIR+= gnu 41194189Sed.endif 4274840Sken.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 4374840SkenSUBDIR+= eBones 4439212Sgibbs.endif 4574840Sken.if exists(libexec) 4674840SkenSUBDIR+= libexec 47216088Sken.endif 4874840Sken.if exists(sbin) 4939212SgibbsSUBDIR+= sbin 5074840Sken.endif 5174840Sken.if exists(share) 52195534SscottlSUBDIR+= share 5374840Sken.endif 54219028Snetchild.if exists(sys) 55219028SnetchildSUBDIR+= sys 56219028Snetchild.endif 5774840Sken.if exists(usr.bin) 5874840SkenSUBDIR+= usr.bin 5974840Sken.endif 6074840Sken.if exists(usr.sbin) 6174840SkenSUBDIR+= usr.sbin 6274840Sken.endif 6374840Sken.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 6474840SkenSUBDIR+= secure 6574840Sken.endif 6674840Sken.if exists(lkm) && !defined(NOLKM) 67210779SbcrSUBDIR+= lkm 6874840Sken.endif 6974840Sken 7074840Sken# etc must be last for "distribute" to work 7174840Sken.if exists(etc) && make(distribute) 7274840SkenSUBDIR+= etc 7374840Sken.endif 7474840Sken 7574840Sken# These are last, since it is nice to at least get the base system 7674840Sken# rebuilt before you do them. 7774840Sken.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 7874840SkenSUBDIR+= local 7974840Sken.endif 8074840Sken.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 8174840SkenSUBDIR+= ports 8274840Sken.endif 8374840Sken 8474840Sken# Handle the -DNOOBJDIR and -DNOCLEANDIR 8574840Sken.if defined(NOOBJDIR) 8674840SkenOBJDIR= 8774840Sken.else 8874840SkenOBJDIR= obj 8974840Sken.endif 90195534Sscottl 91216088Sken.if defined(NOCLEAN) 92216088SkenCLEANDIR= 9374840SkenWORLD_CLEANDIST=obj 9474840Sken.else 9574840SkenWORLD_CLEANDIST=cleandist 9674840Sken.if defined(NOCLEANDIR) 9774840SkenCLEANDIR= clean 9874840Sken.else 9974840SkenCLEANDIR= cleandir 10074840Sken.endif 10174840Sken.endif 10274840Sken 10374840SkenMK_FLAGS= -DNOMAN -DNOPROFILE 10474840Sken 10574840Sken.if !target(pre-world) 10674840Skenpre-world: 10774840Sken @/usr/bin/true 10874840Sken.endif 10974840Sken 11074840Skenworld: pre-world hierarchy mk $(WORLD_CLEANDIST) bootstrap include-tools includes lib-tools libraries build-tools 11189114Smsmith @echo "--------------------------------------------------------------" 11289114Smsmith @echo " Rebuilding ${DESTDIR} The whole thing" 113251301Ssmh @echo "--------------------------------------------------------------" 114251301Ssmh @echo 115251301Ssmh cd ${.CURDIR} && ${MAKE} depend all install 11689114Smsmith cd ${.CURDIR}/share/man && ${MAKE} makedb 11789114Smsmith.if target(post-world) 118251301Ssmh cd ${.CURDIR} && ${MAKE} post-world 119251301Ssmh.endif 120251301Ssmh @echo "make world completed on `date`" 121251301Ssmh 122251301Ssmhbootstrap: 123251301Ssmh cd ${.CURDIR}/usr.bin/make && ${MAKE} ${MK_FLAGS} all install 12439212Sgibbs cd ${.CURDIR}/usr.bin/xlint && ${MAKE} ${MK_FLAGS} lint1 lint2 xlint 12539212Sgibbs cd ${.CURDIR}/usr.bin/xlint/lint1 && ${MAKE} ${MK_FLAGS} install 12639212Sgibbs cd ${.CURDIR}/usr.bin/xlint/lint2 && ${MAKE} ${MK_FLAGS} install 12739212Sgibbs cd ${.CURDIR}/usr.bin/xlint/xlint && ${MAKE} ${MK_FLAGS} install 12839552Sgibbs cd ${.CURDIR}/usr.bin/lex && ${MAKE} ${MK_FLAGS} bootstrap && \ 12939212Sgibbs ${MAKE} ${MK_FLAGS} all install 13039212Sgibbs 13139552Sgibbsreinstall: hierarchy mk includes 13239552Sgibbs @echo "--------------------------------------------------------------" 13339212Sgibbs @echo " Reinstall ${DESTDIR} The whole thing" 13439212Sgibbs @echo "--------------------------------------------------------------" 13539212Sgibbs @echo 13639212Sgibbs cd ${.CURDIR} && ${MAKE} install 13739212Sgibbs cd ${.CURDIR}/share/man && ${MAKE} makedb 13839212Sgibbs 13939212Sgibbshierarchy: 14039212Sgibbs @echo "--------------------------------------------------------------" 14139212Sgibbs @echo " Making hierarchy" 14239212Sgibbs @echo "--------------------------------------------------------------" 14339212Sgibbs cd ${.CURDIR}/etc && ${MAKE} distrib-dirs 14439212Sgibbs 14539212Sgibbsupdate: 14639212Sgibbs.if defined(SUP_UPDATE) 14739212Sgibbs @echo "--------------------------------------------------------------" 14839212Sgibbs @echo "Running sup" 14939212Sgibbs @echo "--------------------------------------------------------------" 15039212Sgibbs @sup -v ${SUPFILE} 15139212Sgibbs.if defined(SUPFILE1) 15239212Sgibbs @sup -v ${SUPFILE1} 15339212Sgibbs.endif 15439212Sgibbs.if defined(SUPFILE2) 15539212Sgibbs @sup -v ${SUPFILE2} 15639212Sgibbs.endif 15739212Sgibbs.endif 15839212Sgibbs.if defined(CVS_UPDATE) 15939212Sgibbs @echo "--------------------------------------------------------------" 16039212Sgibbs @echo "Updating /usr/src from cvs repository" ${CVSROOT} 16139212Sgibbs @echo "--------------------------------------------------------------" 16239212Sgibbs cd ${.CURDIR} && cvs -q update -P -d 16339212Sgibbs.endif 16439212Sgibbs 16539212Sgibbscleandist: 16639212Sgibbs.if !defined(NOCLEANDIR) 16739212Sgibbs @echo "--------------------------------------------------------------" 16839212Sgibbs @echo " Cleaning up the source tree, and rebuilding the obj tree" 16939212Sgibbs @echo "--------------------------------------------------------------" 17039212Sgibbs cd ${.CURDIR} && ${MAKE} cleandir 17139212Sgibbs cd ${.CURDIR} && ${MAKE} obj 17239212Sgibbs.endif 17339212Sgibbs 17439212Sgibbsinstallmost: 17539212Sgibbs @echo "--------------------------------------------------------------" 17639212Sgibbs @echo " Installing programs only" 17739212Sgibbs @echo "--------------------------------------------------------------" 17839212Sgibbs cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} install 17939212Sgibbs cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} install 18039212Sgibbs cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} install 18139212Sgibbs cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} install 18239212Sgibbs cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} install 18339212Sgibbs cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} install 184199178Smav cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} install 185199178Smav cd ${.CURDIR}/gnu/usr.sbin && ${MAKE} ${.MAKEFLAGS} install 18639212Sgibbs#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 187199178Smav# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} installmost 188199178Smav#.endif 189199178Smav#.if !defined(NOSECURE) && !defined(NOCRYPT) 19039212Sgibbs# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} installmost 19139212Sgibbs#.endif 19239212Sgibbs 19339212Sgibbsmost: 19439212Sgibbs @echo "--------------------------------------------------------------" 19539212Sgibbs @echo " Building programs only" 19639212Sgibbs @echo "--------------------------------------------------------------" 19739212Sgibbs cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} all 19839212Sgibbs cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} all 19939212Sgibbs cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} all 20039212Sgibbs cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} all 20139212Sgibbs cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} all 20239212Sgibbs cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} all 20339212Sgibbs cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} all 20474840Sken cd ${.CURDIR}/gnu/usr.sbin && ${MAKE} ${.MAKEFLAGS} all 20574840Sken#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 20674840Sken# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} most 20774840Sken#.endif 20874840Sken#.if !defined(NOSECURE) && !defined(NOCRYPT) 20974840Sken# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} most 21074840Sken#.endif 21174840Sken 21274840Skenmk: 21374840Sken @echo "--------------------------------------------------------------" 21474840Sken @echo " Rebuilding ${DESTDIR}/usr/share/mk" 21574840Sken @echo "--------------------------------------------------------------" 21674840Sken cd ${.CURDIR}/share/mk && ${MAKE} install 21774840Sken 21874840Skenincludes: 21974840Sken @echo "--------------------------------------------------------------" 22074840Sken @echo " Rebuilding ${DESTDIR}/usr/include" 22174840Sken @echo "--------------------------------------------------------------" 22274840Sken @echo 22374840Sken.if defined(CLOBBER) 22474840Sken rm -rf ${DESTDIR}/usr/include/* 22574840Sken mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ 22674840Sken -p ${DESTDIR}/usr/include 22774840Sken.endif 22874840Sken cd ${.CURDIR}/include && ${MAKE} install 22974840Sken cd ${.CURDIR}/gnu/include && ${MAKE} install 23074840Sken cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall 23174840Sken cd ${.CURDIR}/gnu/lib/libregex && ${MAKE} beforeinstall 23274840Sken cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall 23374840Sken cd ${.CURDIR}/gnu/lib/libdialog && ${MAKE} beforeinstall 23474840Sken.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 23574840Sken cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall 23674840Sken cd ${.CURDIR}/eBones/lib/libkrb && ${MAKE} beforeinstall 23774840Sken cd ${.CURDIR}/eBones/lib/libkadm && ${MAKE} beforeinstall 23874840Sken.endif 23974840Sken cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall 24074840Sken cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall 24174840Sken cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall 24274840Sken cd ${.CURDIR}/lib/libftpio && ${MAKE} beforeinstall 24374840Sken cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall 24474840Sken cd ${.CURDIR}/lib/libmytinfo && ${MAKE} beforeinstall 24574840Sken cd ${.CURDIR}/lib/libncurses && ${MAKE} beforeinstall 24674840Sken.if !defined(WANT_CSRG_LIBM) 24774840Sken cd ${.CURDIR}/lib/msun && ${MAKE} beforeinstall 24874840Sken.endif 24974840Sken cd ${.CURDIR}/lib/libpcap && ${MAKE} beforeinstall 25074840Sken cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall 25174840Sken cd ${.CURDIR}/lib/libskey && ${MAKE} beforeinstall 252198849Smav cd ${.CURDIR}/lib/libtcl && ${MAKE} beforeinstall 253198849Smav cd ${.CURDIR}/lib/libtermcap && ${MAKE} beforeinstall 254198849Smav cd ${.CURDIR}/lib/libcom_err && ${MAKE} beforeinstall 255198849Smav cd ${.CURDIR}/lib/libss && ${MAKE} beforeinstall 256198849Smav cd ${.CURDIR}/lib/libscsi && ${MAKE} beforeinstall 257198849Smav cd ${.CURDIR}/lib/libutil && ${MAKE} beforeinstall 258198849Smav 259198849Smavlib-tools: 260198849Smav @echo "--------------------------------------------------------------" 261198849Smav @echo " Rebuilding tools needed to build the libraries" 262198849Smav @echo "--------------------------------------------------------------" 263198849Smav @echo 264198849Smav cd ${.CURDIR}/usr.bin/xinstall && \ 265198849Smav ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 266198849Smav cd ${.CURDIR}/gnu/usr.bin/ld && \ 26774840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 26874840Sken cd ${.CURDIR}/usr.bin/ar && \ 26974840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 27074840Sken cd ${.CURDIR}/usr.bin/ranlib && \ 27174840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 27274840Sken cd ${.CURDIR}/usr.bin/nm && \ 27374840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 27474840Sken cd ${.CURDIR}/usr.bin/lex/lib && \ 27574840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 27674840Sken cd ${.CURDIR}/usr.bin/compile_et && \ 277115562Sphk ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} && \ 27874840Sken rm -f /usr/sbin/compile_et 27974840Sken cd ${.CURDIR}/usr.bin/mk_cmds && \ 28074840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 28174840Sken 282216088Skenlibraries: 283216088Sken @echo "--------------------------------------------------------------" 284216088Sken @echo " Rebuilding ${DESTDIR}/usr/lib" 285216088Sken @echo "--------------------------------------------------------------" 286216088Sken @echo 287216088Sken.if exists(lib/libcompat) 288216088Sken cd ${.CURDIR}/lib/libcompat && \ 289216088Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 290216088Sken.endif 291216088Sken.if exists(lib/libncurses) 292216088Sken cd ${.CURDIR}/lib/libncurses && \ 293216088Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 294216088Sken.endif 295216088Sken.if exists(lib/libtermcap) 296216088Sken cd ${.CURDIR}/lib/libtermcap && \ 29774840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 29874840Sken.endif 29974840Sken.if exists(gnu) 30074840Sken cd ${.CURDIR}/gnu/lib && \ 30174840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 30274840Sken cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \ 30374840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 30474840Sken.endif 30574840Sken.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 30674840Sken cd ${.CURDIR}/secure/lib && \ 30774840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 30874840Sken.endif 30974840Sken.if exists(lib) 31074840Sken cd ${.CURDIR}/lib/csu/i386 && \ 311198849Smav ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 312198849Smav cd ${.CURDIR}/lib && \ 313198849Smav ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 314198849Smav.endif 31574840Sken.if exists(usr.sbin/lex/lib) 31674840Sken cd ${.CURDIR}/usr.bin/lex/lib && \ 31774840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 31874840Sken.endif 31974840Sken.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 32074840Sken cd ${.CURDIR}/eBones/lib && \ 32174840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 32274840Sken.endif 323216088Sken.if exists(usr.sbin/pcvt/keycap) 324216088Sken cd ${.CURDIR}/usr.sbin/pcvt/keycap && \ 325216088Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 326216088Sken.endif 327216088Sken 328216088Skeninclude-tools: 32974840Sken @echo "--------------------------------------------------------------" 33074840Sken @echo " Rebuild tools necessary to build the include files" 33174840Sken @echo "--------------------------------------------------------------" 33274840Sken @echo 33374840Sken cd ${.CURDIR}/usr.bin/xinstall && \ 33474840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 33574840Sken cd ${.CURDIR}/usr.bin/rpcgen && \ 33674840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 33774840Sken 33874840Skenbuild-tools: 33974840Sken @echo "--------------------------------------------------------------" 34074840Sken @echo " Rebuilding ${DESTDIR} C compiler, make, symorder, sgmlfmt and zic(8)" 34174840Sken @echo "--------------------------------------------------------------" 34274840Sken @echo 34374840Sken cd ${.CURDIR}/gnu/usr.bin/cc && \ 34474840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 345203108Smav cd ${.CURDIR}/usr.bin/make && \ 34674840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 34774840Sken cd ${.CURDIR}/usr.bin/symorder && \ 348203108Smav ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 34974840Sken cd ${.CURDIR}/usr.bin/sgmlfmt && \ 35074840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 35174840Sken cd ${.CURDIR}/share/sgml && \ 35274840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 35374840Sken cd ${.CURDIR}/usr.sbin/zic && \ 35474840Sken ${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR} 355198849Smav 356198849Smav.include <bsd.subdir.mk> 357198849Smav