Makefile revision 3626
12061Sjkh# 23626Swollman# $Id: Makefile,v 1.26 1994/10/11 23:33:00 ache Exp $ 32061Sjkh# 42061Sjkh# Make command line options: 52061Sjkh# -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# XXX1 -DMAKE_KERBEROS to build KerberosIV 93197Scsgr# -DMAKE_EBONES to build eBones (KerberosIV) 103197Scsgr# 112061Sjkh# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir 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 172061Sjkh# 183197Scsgr# 193197Scsgr# XXX1 The kerberos IV off the 4.4-Lite tape (src/kerberosIV) 203197Scsgr# will not build successfully yet. MAKE_KERBEROS should not be 213197Scsgr# defined. 221594Srgrimes 232061Sjkh# Put initial settings here. 242061SjkhSUBDIR= 251594Srgrimes 262061Sjkh.if exists(bin) 272061SjkhSUBDIR+= bin 282061Sjkh.endif 292061Sjkh.if exists(contrib) 302061SjkhSUBDIR+= contrib 312061Sjkh.endif 322061Sjkh.if exists(etc) 333029Srgrimes# XXX until etc vs release conversion is done 343029Srgrimes# SUBDIR+= etc 352061Sjkh.endif 362061Sjkh.if exists(games) 372061SjkhSUBDIR+= games 382061Sjkh.endif 392061Sjkh.if exists(gnu) 402061SjkhSUBDIR+= gnu 412061Sjkh.endif 422061Sjkh.if exists(include) 432061SjkhSUBDIR+= include 442061Sjkh.endif 452061Sjkh.if exists(lib) 462061SjkhSUBDIR+= lib 472061Sjkh.endif 483197Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS) 492061SjkhSUBDIR+= kerberosIV 502061Sjkh.endif 513197Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 522626ScsgrSUBDIR+= eBones 532626Scsgr.endif 542061Sjkh.if exists(libexec) 552061SjkhSUBDIR+= libexec 562061Sjkh.endif 572061Sjkh.if exists(sbin) 582061SjkhSUBDIR+= sbin 592061Sjkh.endif 602061Sjkh.if exists(share) 612061SjkhSUBDIR+= share 622061Sjkh.endif 632061Sjkh.if exists(sys) 642061SjkhSUBDIR+= sys 652061Sjkh.endif 662061Sjkh.if exists(usr.bin) 672061SjkhSUBDIR+= usr.bin 682061Sjkh.endif 692061Sjkh.if exists(usr.sbin) 702061SjkhSUBDIR+= usr.sbin 712061Sjkh.endif 722834Swollman.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 732834SwollmanSUBDIR+= secure 742834Swollman.endif 752834Swollman.if exists(lkm) && !defined(NOLKM) 762834SwollmanSUBDIR+= lkm 772834Swollman.endif 781594Srgrimes 792061Sjkh# These are last, since it is nice to at least get the base system 802061Sjkh# rebuilt before you do them. 812061Sjkh.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 822061SjkhSUBDIR+= local 832061Sjkh.endif 842061Sjkh.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 852061SjkhSUBDIR+= ports 862061Sjkh.endif 872061Sjkh 882061Sjkh# Handle the -DNOOBJDIR and -DNOCLEANDIR 892061Sjkh.if defined(NOOBJDIR) 902061SjkhOBJDIR= 912061Sjkh.else 922061SjkhOBJDIR= obj 932061Sjkh.endif 942061Sjkh.if defined(NOCLEANDIR) 952061SjkhCLEANDIR= clean 962061Sjkh.else 972061SjkhCLEANDIR= cleandir 982061Sjkh.endif 992061Sjkh 1003030Srgrimesworld: hierarchy cleandist mk includes libraries tools 1012061Sjkh @echo "--------------------------------------------------------------" 1022061Sjkh @echo " Rebuilding ${DESTDIR} The whole thing" 1032061Sjkh @echo "--------------------------------------------------------------" 1042061Sjkh @echo 1052061Sjkh ${MAKE} depend all install 1062061Sjkh cd ${.CURDIR}/share/man && ${MAKE} makedb 1072061Sjkh 1082302Spaul 1093030Srgrimeshierarchy: 1102061Sjkh @echo "--------------------------------------------------------------" 1113030Srgrimes @echo " Making hierarchy" 1122061Sjkh @echo "--------------------------------------------------------------" 1133030Srgrimes cd ${.CURDIR}/release && ${MAKE} hierarchy 1142061Sjkh 1152302Spaulupdate: 1162302Spaul.if defined(SUP_UPDATE) 1172302Spaul @echo "--------------------------------------------------------------" 1182302Spaul @echo "Running sup" 1192302Spaul @echo "--------------------------------------------------------------" 1202302Spaul @sup -v ${SUPFILE} 1212302Spaul.endif 1222302Spaul.if defined(CVS_UPDATE) 1232302Spaul @echo "--------------------------------------------------------------" 1242302Spaul @echo "Updating /usr/src from cvs repository" ${CVSROOT} 1252302Spaul @echo "--------------------------------------------------------------" 1262302Spaul cd ${.CURDIR} && cvs update -P -d 1272302Spaul.endif 1282302Spaul 1292061Sjkhcleandist: 1302061Sjkh.if !defined(NOCLEANDIR) 1312061Sjkh @echo "--------------------------------------------------------------" 1322061Sjkh @echo " Cleaning up the source tree, and rebuilding the obj tree" 1332061Sjkh @echo "--------------------------------------------------------------" 1342061Sjkh @echo 1352061Sjkh here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ 1362061Sjkh if test -d /usr/obj -a ! -d $$dest; then \ 1372061Sjkh mkdir -p $$dest; \ 1382061Sjkh else \ 1392061Sjkh true; \ 1402061Sjkh fi; \ 1412061Sjkh cd $$dest && rm -rf ${SUBDIR} 1422061Sjkh find . -name obj | xargs rm -rf 1432061Sjkh.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 1442061Sjkh # The cd is done as local may well be a symbolic link 1452061Sjkh -cd local && find . -name obj | xargs rm -rf 1462061Sjkh.endif 1472061Sjkh.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 1482061Sjkh # The cd is done as local may well be a symbolic link 1492061Sjkh -cd ports && find . -name obj | xargs rm -rf 1502061Sjkh.endif 1512061Sjkh ${MAKE} cleandir 1522061Sjkh ${MAKE} obj 1532061Sjkh.endif 1542061Sjkh 1553626Swollmaninstallmost: 1563626Swollman @echo "--------------------------------------------------------------" 1573626Swollman @echo " Installing programs only" 1583626Swollman @echo "--------------------------------------------------------------" 1593626Swollman cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} install 1603626Swollman cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} install 1613626Swollman cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} install 1623626Swollman cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} install 1633626Swollman cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} install 1643626Swollman cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} install 1653626Swollman cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} install 1663626Swollman#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 1673626Swollman# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} installmost 1683626Swollman#.endif 1693626Swollman#.if !defined(NOSECURE) && !defined(NOCRYPT) 1703626Swollman# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} installmost 1713626Swollman#.endif 1723626Swollman 1733626Swollmanmost: 1743626Swollman @echo "--------------------------------------------------------------" 1753626Swollman @echo " Building programs only" 1763626Swollman @echo "--------------------------------------------------------------" 1773626Swollman cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} all 1783626Swollman cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} all 1793626Swollman cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} all 1803626Swollman cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} all 1813626Swollman cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} all 1823626Swollman cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} all 1833626Swollman cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} all 1843626Swollman#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 1853626Swollman# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} most 1863626Swollman#.endif 1873626Swollman#.if !defined(NOSECURE) && !defined(NOCRYPT) 1883626Swollman# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} most 1893626Swollman#.endif 1903626Swollman 1912061Sjkhmk: 1922061Sjkh @echo "--------------------------------------------------------------" 1932061Sjkh @echo " Rebuilding ${DESTDIR}/usr/share/mk" 1942061Sjkh @echo "--------------------------------------------------------------" 1952061Sjkh cd ${.CURDIR}/share/mk && ${MAKE} install 1962061Sjkh 1972061Sjkhincludes: 1982061Sjkh @echo "--------------------------------------------------------------" 1992061Sjkh @echo " Rebuilding ${DESTDIR}/usr/include" 2002061Sjkh @echo "--------------------------------------------------------------" 2012061Sjkh @echo 2022061Sjkh.if defined(CLOBBER) 2032061Sjkh rm -rf ${DESTDIR}/usr/include 2042061Sjkh mkdir ${DESTDIR}/usr/include 2052061Sjkh chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include 2062061Sjkh chmod 755 ${DESTDIR}/usr/include 2072061Sjkh.endif 2082061Sjkh cd ${.CURDIR}/include && ${MAKE} install 2092685Srgrimes cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall 2102685Srgrimes cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall 2113518Sache cd ${.CURDIR}/gnu/lib/libdialog && ${MAKE} beforeinstall 2123197Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS) 2132061Sjkh cd ${.CURDIR}/kerberosIV/include && ${MAKE} install 2142061Sjkh.endif 2153197Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 2163197Scsgr cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall 2173197Scsgr.endif 2182061Sjkh cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall 2192061Sjkh cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall 2202061Sjkh cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall 2212883Sphk cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall 2223429Sache cd ${.CURDIR}/lib/libmytinfo && ${MAKE} beforeinstall 2233429Sache cd ${.CURDIR}/lib/libncurses && ${MAKE} beforeinstall 2243242Spaul.if defined(WANT_MSUN) 2253242Spaul cd ${.CURDIR}/lib/msun && ${MAKE} beforeinstall 2263242Spaul.endif 2272061Sjkh cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall 2283213Spst cd ${.CURDIR}/lib/libskey && ${MAKE} beforeinstall 2292061Sjkh 2302061Sjkhlibraries: 2312061Sjkh @echo "--------------------------------------------------------------" 2322061Sjkh @echo " Rebuilding ${DESTDIR}/usr/lib" 2332061Sjkh @echo "--------------------------------------------------------------" 2342061Sjkh @echo 2352061Sjkh.if defined(CLOBBER) 2362061Sjkh find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \ 2372061Sjkh xargs rm -rf 2382061Sjkh.endif 2392468Spaul cd ${.CURDIR}/gnu/lib && \ 2402061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2412273Spaul cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \ 2422061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2432160Scsgr.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 2442160Scsgr cd ${.CURDIR}/secure/lib && \ 2452160Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2462160Scsgr.endif 2472279Spaul.if exists(lib) 2482061Sjkh cd ${.CURDIR}/lib && \ 2492061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2502279Spaul.endif 2512468Spaul cd ${.CURDIR}/usr.bin/lex/lib && \ 2522468Spaul ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2533197Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS) 2542061Sjkh cd ${.CURDIR}/kerberosIV/acl && \ 2552061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2562061Sjkh cd ${.CURDIR}/kerberosIV/des && \ 2572061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2582061Sjkh cd ${.CURDIR}/kerberosIV/kdb && \ 2592061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2602061Sjkh cd ${.CURDIR}/kerberosIV/krb && \ 2612061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2622061Sjkh.endif 2633197Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 2642626Scsgr cd ${.CURDIR}/eBones/des && \ 2652626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2662626Scsgr cd ${.CURDIR}/eBones/acl && \ 2672626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2682626Scsgr cd ${.CURDIR}/eBones/kdb && \ 2692626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2702626Scsgr cd ${.CURDIR}/eBones/krb && \ 2712626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2722626Scsgr.endif 2732061Sjkh 2742061Sjkhtools: 2752061Sjkh @echo "--------------------------------------------------------------" 2762061Sjkh @echo " Rebuilding ${DESTDIR} Compiler and Make" 2772061Sjkh @echo "--------------------------------------------------------------" 2782061Sjkh @echo 2792273Spaul cd ${.CURDIR}/gnu/usr.bin/cc && \ 2802061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2812061Sjkh cd ${.CURDIR}/usr.bin/make && \ 2822061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2832061Sjkh 2841594Srgrimes.include <bsd.subdir.mk> 285