Makefile revision 12485
12061Sjkh# 212485Sjkh# $Id: Makefile,v 1.68 1995/11/25 01:28:07 peter Exp $ 32061Sjkh# 42061Sjkh# Make command line options: 58854Srgrimes# -DCLOBBER will remove /usr/include and MOST of /usr/lib 62061Sjkh# -DMAKE_LOCAL to add ./local to the SUBDIR list 72061Sjkh# -DMAKE_PORTS to add ./ports to the SUBDIR list 83197Scsgr# -DMAKE_EBONES to build eBones (KerberosIV) 93197Scsgr# 102061Sjkh# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir 1112483Speter# -DNOCLEAN do not clean at all 122160Scsgr# -DNOCRYPT will prevent building of crypt versions 132834Swollman# -DNOLKM do not build loadable kernel modules 142061Sjkh# -DNOOBJDIR do not run ``${MAKE} obj'' 152061Sjkh# -DNOPROFILE do not build profiled libraries 162160Scsgr# -DNOSECURE do not go into secure subdir 171594Srgrimes 182061Sjkh# Put initial settings here. 192061SjkhSUBDIR= 201594Srgrimes 217407Srgrimes# We must do include and lib first so that the perl *.ph generation 227407Srgrimes# works correctly as it uses the header files installed by this. 237108Sphk.if exists(include) 247108SphkSUBDIR+= include 257108Sphk.endif 267407Srgrimes.if exists(lib) 277407SrgrimesSUBDIR+= lib 287407Srgrimes.endif 297108Sphk 302061Sjkh.if exists(bin) 312061SjkhSUBDIR+= bin 322061Sjkh.endif 332061Sjkh.if exists(contrib) 342061SjkhSUBDIR+= contrib 352061Sjkh.endif 362061Sjkh.if exists(games) 372061SjkhSUBDIR+= games 382061Sjkh.endif 392061Sjkh.if exists(gnu) 402061SjkhSUBDIR+= gnu 412061Sjkh.endif 423197Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 432626ScsgrSUBDIR+= eBones 442626Scsgr.endif 452061Sjkh.if exists(libexec) 462061SjkhSUBDIR+= libexec 472061Sjkh.endif 482061Sjkh.if exists(sbin) 492061SjkhSUBDIR+= sbin 502061Sjkh.endif 512061Sjkh.if exists(share) 522061SjkhSUBDIR+= share 532061Sjkh.endif 542061Sjkh.if exists(sys) 552061SjkhSUBDIR+= sys 562061Sjkh.endif 572061Sjkh.if exists(usr.bin) 582061SjkhSUBDIR+= usr.bin 592061Sjkh.endif 602061Sjkh.if exists(usr.sbin) 612061SjkhSUBDIR+= usr.sbin 622061Sjkh.endif 632834Swollman.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 642834SwollmanSUBDIR+= secure 652834Swollman.endif 662834Swollman.if exists(lkm) && !defined(NOLKM) 672834SwollmanSUBDIR+= lkm 682834Swollman.endif 691594Srgrimes 704486Sphk# etc must be last for "distribute" to work 714486Sphk.if exists(etc) && make(distribute) 724486SphkSUBDIR+= etc 734486Sphk.endif 744486Sphk 752061Sjkh# These are last, since it is nice to at least get the base system 762061Sjkh# rebuilt before you do them. 772061Sjkh.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 782061SjkhSUBDIR+= local 792061Sjkh.endif 802061Sjkh.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 812061SjkhSUBDIR+= ports 822061Sjkh.endif 832061Sjkh 842061Sjkh# Handle the -DNOOBJDIR and -DNOCLEANDIR 852061Sjkh.if defined(NOOBJDIR) 862061SjkhOBJDIR= 872061Sjkh.else 882061SjkhOBJDIR= obj 892061Sjkh.endif 9012483Speter 9112483Speter.if defined(NOCLEAN) 9212483SpeterCLEANDIR= 9312483SpeterWORLD_CLEANDIST=obj 9412483Speter.else 9512483SpeterWORLD_CLEANDIST=cleandist 962061Sjkh.if defined(NOCLEANDIR) 972061SjkhCLEANDIR= clean 988854Srgrimes.else 992061SjkhCLEANDIR= cleandir 1002061Sjkh.endif 10112483Speter.endif 1022061Sjkh 10312483Speterworld: hierarchy mk $(WORLD_CLEANDIST) includes lib-tools libraries build-tools 1042061Sjkh @echo "--------------------------------------------------------------" 1052061Sjkh @echo " Rebuilding ${DESTDIR} The whole thing" 1062061Sjkh @echo "--------------------------------------------------------------" 1072061Sjkh @echo 1082061Sjkh ${MAKE} depend all install 1092061Sjkh cd ${.CURDIR}/share/man && ${MAKE} makedb 1102061Sjkh 11112483Speterreinstall: hierarchy mk includes 11212483Speter @echo "--------------------------------------------------------------" 11312483Speter @echo " Reinstall ${DESTDIR} The whole thing" 11412483Speter @echo "--------------------------------------------------------------" 11512483Speter @echo 11612483Speter ${MAKE} install 11712483Speter cd ${.CURDIR}/share/man && ${MAKE} makedb 11812483Speter 1193030Srgrimeshierarchy: 1202061Sjkh @echo "--------------------------------------------------------------" 1213030Srgrimes @echo " Making hierarchy" 1222061Sjkh @echo "--------------------------------------------------------------" 1236722Sphk cd ${.CURDIR}/etc && ${MAKE} distrib-dirs 1242061Sjkh 1252302Spaulupdate: 1262302Spaul.if defined(SUP_UPDATE) 1272302Spaul @echo "--------------------------------------------------------------" 1282302Spaul @echo "Running sup" 1292302Spaul @echo "--------------------------------------------------------------" 1302302Spaul @sup -v ${SUPFILE} 13110760Sache.if defined(SUPFILE1) 13210760Sache @sup -v ${SUPFILE1} 1332302Spaul.endif 13410760Sache.if defined(SUPFILE2) 13510760Sache @sup -v ${SUPFILE2} 13610760Sache.endif 13710760Sache.endif 1382302Spaul.if defined(CVS_UPDATE) 1392302Spaul @echo "--------------------------------------------------------------" 1402302Spaul @echo "Updating /usr/src from cvs repository" ${CVSROOT} 1412302Spaul @echo "--------------------------------------------------------------" 1422302Spaul cd ${.CURDIR} && cvs update -P -d 1432302Spaul.endif 1442302Spaul 1452061Sjkhcleandist: 1462061Sjkh.if !defined(NOCLEANDIR) 1472061Sjkh @echo "--------------------------------------------------------------" 1482061Sjkh @echo " Cleaning up the source tree, and rebuilding the obj tree" 1492061Sjkh @echo "--------------------------------------------------------------" 1502061Sjkh @echo 1512061Sjkh here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ 1522061Sjkh if test -d /usr/obj -a ! -d $$dest; then \ 1532061Sjkh mkdir -p $$dest; \ 1542061Sjkh else \ 1552061Sjkh true; \ 1562061Sjkh fi; \ 1572061Sjkh cd $$dest && rm -rf ${SUBDIR} 1582061Sjkh find . -name obj | xargs rm -rf 1592061Sjkh.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 1602061Sjkh # The cd is done as local may well be a symbolic link 1612061Sjkh -cd local && find . -name obj | xargs rm -rf 1622061Sjkh.endif 1632061Sjkh.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 1642061Sjkh # The cd is done as local may well be a symbolic link 1652061Sjkh -cd ports && find . -name obj | xargs rm -rf 1662061Sjkh.endif 1672061Sjkh ${MAKE} cleandir 1682061Sjkh ${MAKE} obj 1692061Sjkh.endif 1702061Sjkh 1713626Swollmaninstallmost: 1723626Swollman @echo "--------------------------------------------------------------" 1733626Swollman @echo " Installing programs only" 1743626Swollman @echo "--------------------------------------------------------------" 1753626Swollman cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} install 1763626Swollman cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} install 1773626Swollman cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} install 1783626Swollman cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} install 1793626Swollman cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} install 1803626Swollman cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} install 1813626Swollman cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} install 1827059Sroberto cd ${.CURDIR}/gnu/usr.sbin && ${MAKE} ${.MAKEFLAGS} install 1833626Swollman#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 1843626Swollman# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} installmost 1853626Swollman#.endif 1863626Swollman#.if !defined(NOSECURE) && !defined(NOCRYPT) 1873626Swollman# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} installmost 1883626Swollman#.endif 1893626Swollman 1903626Swollmanmost: 1913626Swollman @echo "--------------------------------------------------------------" 1923626Swollman @echo " Building programs only" 1933626Swollman @echo "--------------------------------------------------------------" 1943626Swollman cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} all 1953626Swollman cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} all 1963626Swollman cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} all 1973626Swollman cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} all 1983626Swollman cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} all 1993626Swollman cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} all 2003626Swollman cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} all 2017446Ssos cd ${.CURDIR}/gnu/usr.sbin && ${MAKE} ${.MAKEFLAGS} all 2023626Swollman#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 2033626Swollman# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} most 2043626Swollman#.endif 2053626Swollman#.if !defined(NOSECURE) && !defined(NOCRYPT) 2063626Swollman# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} most 2073626Swollman#.endif 2083626Swollman 2092061Sjkhmk: 2102061Sjkh @echo "--------------------------------------------------------------" 2112061Sjkh @echo " Rebuilding ${DESTDIR}/usr/share/mk" 2122061Sjkh @echo "--------------------------------------------------------------" 2132061Sjkh cd ${.CURDIR}/share/mk && ${MAKE} install 2142061Sjkh 2152061Sjkhincludes: 2162061Sjkh @echo "--------------------------------------------------------------" 2172061Sjkh @echo " Rebuilding ${DESTDIR}/usr/include" 2182061Sjkh @echo "--------------------------------------------------------------" 2192061Sjkh @echo 2202061Sjkh.if defined(CLOBBER) 2217130Srgrimes rm -rf ${DESTDIR}/usr/include/* 2227130Srgrimes mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ 2237130Srgrimes -p ${DESTDIR}/usr/include 2242061Sjkh.endif 2252061Sjkh cd ${.CURDIR}/include && ${MAKE} install 2264249Sache cd ${.CURDIR}/gnu/include && ${MAKE} install 2272685Srgrimes cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall 2286927Snate cd ${.CURDIR}/gnu/lib/libregex && ${MAKE} beforeinstall 2292685Srgrimes cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall 2303518Sache cd ${.CURDIR}/gnu/lib/libdialog && ${MAKE} beforeinstall 2313197Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 2323197Scsgr cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall 23312166Sjkh cd ${.CURDIR}/eBones/lib/libkrb && ${MAKE} beforeinstall 23412485Sjkh cd ${.CURDIR}/eBones/lib/libkadm && ${MAKE} beforeinstall 2353197Scsgr.endif 2362061Sjkh cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall 2372061Sjkh cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall 2382061Sjkh cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall 2392883Sphk cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall 2403429Sache cd ${.CURDIR}/lib/libmytinfo && ${MAKE} beforeinstall 2413429Sache cd ${.CURDIR}/lib/libncurses && ${MAKE} beforeinstall 2427281Srgrimes.if !defined(WANT_CSRG_LIBM) 2433242Spaul cd ${.CURDIR}/lib/msun && ${MAKE} beforeinstall 2443242Spaul.endif 2457171Sats cd ${.CURDIR}/lib/libpcap && ${MAKE} beforeinstall 2462061Sjkh cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall 2473213Spst cd ${.CURDIR}/lib/libskey && ${MAKE} beforeinstall 2484942Sache cd ${.CURDIR}/lib/libtermcap && ${MAKE} beforeinstall 2495749Swollman cd ${.CURDIR}/lib/libcom_err && ${MAKE} beforeinstall 2505772Swollman cd ${.CURDIR}/lib/libss && ${MAKE} beforeinstall 2515865Sache cd ${.CURDIR}/lib/libforms && ${MAKE} beforeinstall 2525866Sache cd ${.CURDIR}/lib/libscsi && ${MAKE} beforeinstall 2532061Sjkh 2545366Snatelib-tools: 2555366Snate @echo "--------------------------------------------------------------" 2566934Sse @echo " Rebuilding tools needed to build the libraries" 2575366Snate @echo "--------------------------------------------------------------" 2585366Snate @echo 2597292Srgrimes cd ${.CURDIR}/gnu/usr.bin/ld && \ 2607292Srgrimes ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2615366Snate cd ${.CURDIR}/usr.bin/ar && \ 2625366Snate ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2635366Snate cd ${.CURDIR}/usr.bin/ranlib && \ 2645366Snate ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2655366Snate cd ${.CURDIR}/usr.bin/nm && \ 2665366Snate ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2675772Swollman cd ${.CURDIR}/usr.bin/lex/lib && \ 2685772Swollman ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2695728Swollman cd ${.CURDIR}/usr.bin/compile_et && \ 2705728Swollman ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} && \ 2715728Swollman rm -f /usr/sbin/compile_et 2725728Swollman cd ${.CURDIR}/usr.bin/mk_cmds && \ 2735728Swollman ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2745366Snate 2752061Sjkhlibraries: 2762061Sjkh @echo "--------------------------------------------------------------" 2772061Sjkh @echo " Rebuilding ${DESTDIR}/usr/lib" 2782061Sjkh @echo "--------------------------------------------------------------" 2792061Sjkh @echo 2802061Sjkh.if defined(CLOBBER) 2812061Sjkh find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \ 2822061Sjkh xargs rm -rf 2832061Sjkh.endif 2848295Srgrimes.if exists(lib/libcompat) 2858295Srgrimes cd ${.CURDIR}/lib/libcompat && \ 28611772Snate ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2878295Srgrimes.endif 2888489Srgrimes.if exists(lib/libncurses) 2898489Srgrimes cd ${.CURDIR}/lib/libncurses && \ 29011772Snate ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2918489Srgrimes.endif 2928489Srgrimes.if exists(lib/libtermcap) 2938489Srgrimes cd ${.CURDIR}/lib/libtermcap && \ 29411772Snate ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2958489Srgrimes.endif 2968295Srgrimes.if exists(gnu) 2972468Spaul cd ${.CURDIR}/gnu/lib && \ 2982061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2992273Spaul cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \ 3002061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 3018295Srgrimes.endif 3022160Scsgr.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 3032160Scsgr cd ${.CURDIR}/secure/lib && \ 3042160Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 3052160Scsgr.endif 3062279Spaul.if exists(lib) 3074054Spst cd ${.CURDIR}/lib/csu/i386 && \ 3084054Spst ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 3092061Sjkh cd ${.CURDIR}/lib && \ 3102061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 3112279Spaul.endif 31211772Snate.if exists(usr.sbin/lex/lib) 3132468Spaul cd ${.CURDIR}/usr.bin/lex/lib && \ 3142468Spaul ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 31511772Snate.endif 3163197Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 3172626Scsgr cd ${.CURDIR}/eBones/des && \ 3182626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 31910838Sjkh cd ${.CURDIR}/eBones/lib && \ 3202626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 3212626Scsgr.endif 3228304Srgrimes.if exists(usr.sbin/pcvt/keycap) 3238304Srgrimes cd ${.CURDIR}/usr.sbin/pcvt/keycap && \ 32411772Snate ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 3258304Srgrimes.endif 3262061Sjkh 32711806Sphkbuild-tools: 3282061Sjkh @echo "--------------------------------------------------------------" 32912106Sjfieber @echo " Rebuilding ${DESTDIR} C compiler, make, symorder, sgmlfmt and zic(8)" 3302061Sjkh @echo "--------------------------------------------------------------" 3312061Sjkh @echo 3322273Spaul cd ${.CURDIR}/gnu/usr.bin/cc && \ 3332061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 3342061Sjkh cd ${.CURDIR}/usr.bin/make && \ 3352061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 33611769Sphk cd ${.CURDIR}/usr.bin/symorder && \ 33711769Sphk ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 33812106Sjfieber cd ${.CURDIR}/usr.bin/sgmlfmt && \ 33912106Sjfieber ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 34012106Sjfieber cd ${.CURDIR}/share/sgml && \ 34112106Sjfieber ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 34210479Sdg cd ${.CURDIR}/usr.sbin/zic && \ 34310479Sdg ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 3442061Sjkh 3451594Srgrimes.include <bsd.subdir.mk> 346