Makefile revision 2883
12061Sjkh# 22883Sphk# $Id: Makefile,v 1.18 1994/09/16 20:24:15 wollman 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 82061Sjkh# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir 92160Scsgr# -DNOCRYPT will prevent building of crypt versions 102160Scsgr# XXX2 -DNOKERBEROS do not build Kerberos 112834Swollman# -DNOLKM do not build loadable kernel modules 122061Sjkh# -DNOOBJDIR do not run ``${MAKE} obj'' 132061Sjkh# -DNOPROFILE do not build profiled libraries 142160Scsgr# -DNOSECURE do not go into secure subdir 152626Scsgr# -DNOEBONES do not make eBones (kerberosIV) 162061Sjkh# 172160Scsgr# XXX2 Mandatory, and Kerberos will not build sucessfully yet 181594Srgrimes 192061Sjkh# Put initial settings here. 202160ScsgrNOKERBEROS= yes 212061SjkhSUBDIR= 221594Srgrimes 232061Sjkh.if exists(bin) 242061SjkhSUBDIR+= bin 252061Sjkh.endif 262061Sjkh.if exists(contrib) 272061SjkhSUBDIR+= contrib 282061Sjkh.endif 292061Sjkh.if exists(etc) 302061SjkhSUBDIR+= etc 312061Sjkh.endif 322061Sjkh.if exists(games) 332061SjkhSUBDIR+= games 342061Sjkh.endif 352061Sjkh.if exists(gnu) 362061SjkhSUBDIR+= gnu 372061Sjkh.endif 382061Sjkh.if exists(include) 392061SjkhSUBDIR+= include 402061Sjkh.endif 412061Sjkh.if exists(lib) 422061SjkhSUBDIR+= lib 432061Sjkh.endif 442160Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 452061SjkhSUBDIR+= kerberosIV 462061Sjkh.endif 472626Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) \ 482626Scsgr && !defined(NOEBONES) 492626ScsgrSUBDIR+= eBones 502626Scsgr.endif 512061Sjkh.if exists(libexec) 522061SjkhSUBDIR+= libexec 532061Sjkh.endif 542061Sjkh.if exists(sbin) 552061SjkhSUBDIR+= sbin 562061Sjkh.endif 572061Sjkh.if exists(share) 582061SjkhSUBDIR+= share 592061Sjkh.endif 602061Sjkh.if exists(sys) 612061SjkhSUBDIR+= sys 622061Sjkh.endif 632061Sjkh.if exists(usr.bin) 642061SjkhSUBDIR+= usr.bin 652061Sjkh.endif 662061Sjkh.if exists(usr.sbin) 672061SjkhSUBDIR+= usr.sbin 682061Sjkh.endif 692834Swollman.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 702834SwollmanSUBDIR+= secure 712834Swollman.endif 722834Swollman.if exists(lkm) && !defined(NOLKM) 732834SwollmanSUBDIR+= lkm 742834Swollman.endif 751594Srgrimes 762061Sjkh# These are last, since it is nice to at least get the base system 772061Sjkh# rebuilt before you do them. 782061Sjkh.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 792061SjkhSUBDIR+= local 802061Sjkh.endif 812061Sjkh.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 822061SjkhSUBDIR+= ports 832061Sjkh.endif 842061Sjkh 852061Sjkh# Handle the -DNOOBJDIR and -DNOCLEANDIR 862061Sjkh.if defined(NOOBJDIR) 872061SjkhOBJDIR= 882061Sjkh.else 892061SjkhOBJDIR= obj 902061Sjkh.endif 912061Sjkh.if defined(NOCLEANDIR) 922061SjkhCLEANDIR= clean 932061Sjkh.else 942061SjkhCLEANDIR= cleandir 952061Sjkh.endif 962061Sjkh 972468Spaulworld: directories cleandist mk includes libraries tools 982061Sjkh @echo "--------------------------------------------------------------" 992061Sjkh @echo " Rebuilding ${DESTDIR} The whole thing" 1002061Sjkh @echo "--------------------------------------------------------------" 1012061Sjkh @echo 1022061Sjkh ${MAKE} depend all install 1032061Sjkh cd ${.CURDIR}/share/man && ${MAKE} makedb 1042061Sjkh 1052302Spaul 1062061Sjkhdirectories: 1072061Sjkh @echo "--------------------------------------------------------------" 1082061Sjkh @echo " Making directories" 1092061Sjkh @echo "--------------------------------------------------------------" 1102302Spaul cd ${.CURDIR}/etc && ${MAKE} distrib-dirs 1112061Sjkh 1122302Spaulupdate: 1132302Spaul.if defined(SUP_UPDATE) 1142302Spaul @echo "--------------------------------------------------------------" 1152302Spaul @echo "Running sup" 1162302Spaul @echo "--------------------------------------------------------------" 1172302Spaul @sup -v ${SUPFILE} 1182302Spaul.endif 1192302Spaul.if defined(CVS_UPDATE) 1202302Spaul @echo "--------------------------------------------------------------" 1212302Spaul @echo "Updating /usr/src from cvs repository" ${CVSROOT} 1222302Spaul @echo "--------------------------------------------------------------" 1232302Spaul cd ${.CURDIR} && cvs update -P -d 1242302Spaul.endif 1252302Spaul 1262061Sjkhcleandist: 1272061Sjkh.if !defined(NOCLEANDIR) 1282061Sjkh @echo "--------------------------------------------------------------" 1292061Sjkh @echo " Cleaning up the source tree, and rebuilding the obj tree" 1302061Sjkh @echo "--------------------------------------------------------------" 1312061Sjkh @echo 1322061Sjkh here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ 1332061Sjkh if test -d /usr/obj -a ! -d $$dest; then \ 1342061Sjkh mkdir -p $$dest; \ 1352061Sjkh else \ 1362061Sjkh true; \ 1372061Sjkh fi; \ 1382061Sjkh cd $$dest && rm -rf ${SUBDIR} 1392061Sjkh find . -name obj | xargs rm -rf 1402061Sjkh.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 1412061Sjkh # The cd is done as local may well be a symbolic link 1422061Sjkh -cd local && find . -name obj | xargs rm -rf 1432061Sjkh.endif 1442061Sjkh.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 1452061Sjkh # The cd is done as local may well be a symbolic link 1462061Sjkh -cd ports && find . -name obj | xargs rm -rf 1472061Sjkh.endif 1482061Sjkh ${MAKE} cleandir 1492061Sjkh ${MAKE} obj 1502061Sjkh.endif 1512061Sjkh 1522061Sjkhmk: 1532061Sjkh @echo "--------------------------------------------------------------" 1542061Sjkh @echo " Rebuilding ${DESTDIR}/usr/share/mk" 1552061Sjkh @echo "--------------------------------------------------------------" 1562061Sjkh cd ${.CURDIR}/share/mk && ${MAKE} install 1572061Sjkh 1582061Sjkhincludes: 1592061Sjkh @echo "--------------------------------------------------------------" 1602061Sjkh @echo " Rebuilding ${DESTDIR}/usr/include" 1612061Sjkh @echo "--------------------------------------------------------------" 1622061Sjkh @echo 1632061Sjkh.if defined(CLOBBER) 1642061Sjkh rm -rf ${DESTDIR}/usr/include 1652061Sjkh mkdir ${DESTDIR}/usr/include 1662061Sjkh chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include 1672061Sjkh chmod 755 ${DESTDIR}/usr/include 1682061Sjkh.endif 1692061Sjkh cd ${.CURDIR}/include && ${MAKE} install 1702685Srgrimes cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall 1712685Srgrimes cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall 1722626Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 1732061Sjkh cd ${.CURDIR}/kerberosIV/include && ${MAKE} install 1742061Sjkh.endif 1752061Sjkh cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall 1762061Sjkh cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall 1772061Sjkh cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall 1782883Sphk cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall 1792061Sjkh cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall 1802626Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \ 1812626Scsgr !defined(NOEBONES) 1822626Scsgr cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall 1832626Scsgr.endif 1842061Sjkh 1852061Sjkhlibraries: 1862061Sjkh @echo "--------------------------------------------------------------" 1872061Sjkh @echo " Rebuilding ${DESTDIR}/usr/lib" 1882061Sjkh @echo "--------------------------------------------------------------" 1892061Sjkh @echo 1902061Sjkh.if defined(CLOBBER) 1912061Sjkh find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \ 1922061Sjkh xargs rm -rf 1932061Sjkh.endif 1942468Spaul cd ${.CURDIR}/gnu/lib && \ 1952061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 1962273Spaul cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \ 1972061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 1982160Scsgr.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 1992160Scsgr cd ${.CURDIR}/secure/lib && \ 2002160Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2012160Scsgr.endif 2022279Spaul.if exists(lib) 2032061Sjkh cd ${.CURDIR}/lib && \ 2042061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2052279Spaul.endif 2062468Spaul cd ${.CURDIR}/usr.bin/lex/lib && \ 2072468Spaul ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2082626Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 2092061Sjkh cd ${.CURDIR}/kerberosIV/acl && \ 2102061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2112061Sjkh cd ${.CURDIR}/kerberosIV/des && \ 2122061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2132061Sjkh cd ${.CURDIR}/kerberosIV/kdb && \ 2142061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2152061Sjkh cd ${.CURDIR}/kerberosIV/krb && \ 2162061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2172061Sjkh.endif 2182626Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \ 2192626Scsgr !defined(NOEBONES) 2202626Scsgr cd ${.CURDIR}/eBones/des && \ 2212626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2222626Scsgr cd ${.CURDIR}/eBones/acl && \ 2232626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2242626Scsgr cd ${.CURDIR}/eBones/kdb && \ 2252626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2262626Scsgr cd ${.CURDIR}/eBones/krb && \ 2272626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2282626Scsgr.endif 2292061Sjkh 2302061Sjkhtools: 2312061Sjkh @echo "--------------------------------------------------------------" 2322061Sjkh @echo " Rebuilding ${DESTDIR} Compiler and Make" 2332061Sjkh @echo "--------------------------------------------------------------" 2342061Sjkh @echo 2352273Spaul cd ${.CURDIR}/gnu/usr.bin/cc && \ 2362061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2372061Sjkh cd ${.CURDIR}/usr.bin/make && \ 2382061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2392061Sjkh 2401594Srgrimes.include <bsd.subdir.mk> 241