Makefile revision 2685
12061Sjkh# 22685Srgrimes# $Id: Makefile,v 1.16 1994/09/09 20:29:20 csgr 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 112061Sjkh# -DNOOBJDIR do not run ``${MAKE} obj'' 122061Sjkh# -DNOPROFILE do not build profiled libraries 132160Scsgr# -DNOSECURE do not go into secure subdir 142626Scsgr# -DNOEBONES do not make eBones (kerberosIV) 152061Sjkh# 162160Scsgr# XXX2 Mandatory, and Kerberos will not build sucessfully yet 171594Srgrimes 182061Sjkh# Put initial settings here. 192160ScsgrNOKERBEROS= yes 202061SjkhSUBDIR= 211594Srgrimes 222061Sjkh.if exists(bin) 232061SjkhSUBDIR+= bin 242061Sjkh.endif 252061Sjkh.if exists(contrib) 262061SjkhSUBDIR+= contrib 272061Sjkh.endif 282061Sjkh.if exists(etc) 292061SjkhSUBDIR+= etc 302061Sjkh.endif 312061Sjkh.if exists(games) 322061SjkhSUBDIR+= games 332061Sjkh.endif 342061Sjkh.if exists(gnu) 352061SjkhSUBDIR+= gnu 362061Sjkh.endif 372061Sjkh.if exists(include) 382061SjkhSUBDIR+= include 392061Sjkh.endif 402061Sjkh.if exists(lib) 412061SjkhSUBDIR+= lib 422061Sjkh.endif 432160Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 442061SjkhSUBDIR+= kerberosIV 452061Sjkh.endif 462626Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) \ 472626Scsgr && !defined(NOEBONES) 482626ScsgrSUBDIR+= eBones 492626Scsgr.endif 502061Sjkh.if exists(libexec) 512061SjkhSUBDIR+= libexec 522061Sjkh.endif 532061Sjkh.if exists(sbin) 542061SjkhSUBDIR+= sbin 552061Sjkh.endif 562160Scsgr.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 572160ScsgrSUBDIR+= secure 582160Scsgr.endif 592061Sjkh.if exists(share) 602061SjkhSUBDIR+= share 612061Sjkh.endif 622061Sjkh.if exists(sys) 632061SjkhSUBDIR+= sys 642061Sjkh.endif 652061Sjkh.if exists(usr.bin) 662061SjkhSUBDIR+= usr.bin 672061Sjkh.endif 682061Sjkh.if exists(usr.sbin) 692061SjkhSUBDIR+= usr.sbin 702061Sjkh.endif 711594Srgrimes 722061Sjkh# These are last, since it is nice to at least get the base system 732061Sjkh# rebuilt before you do them. 742061Sjkh.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 752061SjkhSUBDIR+= local 762061Sjkh.endif 772061Sjkh.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 782061SjkhSUBDIR+= ports 792061Sjkh.endif 802061Sjkh 812061Sjkh# Handle the -DNOOBJDIR and -DNOCLEANDIR 822061Sjkh.if defined(NOOBJDIR) 832061SjkhOBJDIR= 842061Sjkh.else 852061SjkhOBJDIR= obj 862061Sjkh.endif 872061Sjkh.if defined(NOCLEANDIR) 882061SjkhCLEANDIR= clean 892061Sjkh.else 902061SjkhCLEANDIR= cleandir 912061Sjkh.endif 922061Sjkh 932468Spaulworld: directories cleandist mk includes libraries tools 942061Sjkh @echo "--------------------------------------------------------------" 952061Sjkh @echo " Rebuilding ${DESTDIR} The whole thing" 962061Sjkh @echo "--------------------------------------------------------------" 972061Sjkh @echo 982061Sjkh ${MAKE} depend all install 992061Sjkh cd ${.CURDIR}/share/man && ${MAKE} makedb 1002061Sjkh 1012302Spaul 1022061Sjkhdirectories: 1032061Sjkh @echo "--------------------------------------------------------------" 1042061Sjkh @echo " Making directories" 1052061Sjkh @echo "--------------------------------------------------------------" 1062302Spaul cd ${.CURDIR}/etc && ${MAKE} distrib-dirs 1072061Sjkh 1082302Spaulupdate: 1092302Spaul.if defined(SUP_UPDATE) 1102302Spaul @echo "--------------------------------------------------------------" 1112302Spaul @echo "Running sup" 1122302Spaul @echo "--------------------------------------------------------------" 1132302Spaul @sup -v ${SUPFILE} 1142302Spaul.endif 1152302Spaul.if defined(CVS_UPDATE) 1162302Spaul @echo "--------------------------------------------------------------" 1172302Spaul @echo "Updating /usr/src from cvs repository" ${CVSROOT} 1182302Spaul @echo "--------------------------------------------------------------" 1192302Spaul cd ${.CURDIR} && cvs update -P -d 1202302Spaul.endif 1212302Spaul 1222061Sjkhcleandist: 1232061Sjkh.if !defined(NOCLEANDIR) 1242061Sjkh @echo "--------------------------------------------------------------" 1252061Sjkh @echo " Cleaning up the source tree, and rebuilding the obj tree" 1262061Sjkh @echo "--------------------------------------------------------------" 1272061Sjkh @echo 1282061Sjkh here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ 1292061Sjkh if test -d /usr/obj -a ! -d $$dest; then \ 1302061Sjkh mkdir -p $$dest; \ 1312061Sjkh else \ 1322061Sjkh true; \ 1332061Sjkh fi; \ 1342061Sjkh cd $$dest && rm -rf ${SUBDIR} 1352061Sjkh find . -name obj | xargs rm -rf 1362061Sjkh.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 1372061Sjkh # The cd is done as local may well be a symbolic link 1382061Sjkh -cd local && find . -name obj | xargs rm -rf 1392061Sjkh.endif 1402061Sjkh.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 1412061Sjkh # The cd is done as local may well be a symbolic link 1422061Sjkh -cd ports && find . -name obj | xargs rm -rf 1432061Sjkh.endif 1442061Sjkh ${MAKE} cleandir 1452061Sjkh ${MAKE} obj 1462061Sjkh.endif 1472061Sjkh 1482061Sjkhmk: 1492061Sjkh @echo "--------------------------------------------------------------" 1502061Sjkh @echo " Rebuilding ${DESTDIR}/usr/share/mk" 1512061Sjkh @echo "--------------------------------------------------------------" 1522061Sjkh cd ${.CURDIR}/share/mk && ${MAKE} install 1532061Sjkh 1542061Sjkhincludes: 1552061Sjkh @echo "--------------------------------------------------------------" 1562061Sjkh @echo " Rebuilding ${DESTDIR}/usr/include" 1572061Sjkh @echo "--------------------------------------------------------------" 1582061Sjkh @echo 1592061Sjkh.if defined(CLOBBER) 1602061Sjkh rm -rf ${DESTDIR}/usr/include 1612061Sjkh mkdir ${DESTDIR}/usr/include 1622061Sjkh chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include 1632061Sjkh chmod 755 ${DESTDIR}/usr/include 1642061Sjkh.endif 1652061Sjkh cd ${.CURDIR}/include && ${MAKE} install 1662685Srgrimes cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall 1672685Srgrimes cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall 1682626Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 1692061Sjkh cd ${.CURDIR}/kerberosIV/include && ${MAKE} install 1702061Sjkh.endif 1712061Sjkh cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall 1722061Sjkh cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall 1732061Sjkh cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall 1742061Sjkh cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall 1752626Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \ 1762626Scsgr !defined(NOEBONES) 1772626Scsgr cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall 1782626Scsgr.endif 1792061Sjkh 1802061Sjkhlibraries: 1812061Sjkh @echo "--------------------------------------------------------------" 1822061Sjkh @echo " Rebuilding ${DESTDIR}/usr/lib" 1832061Sjkh @echo "--------------------------------------------------------------" 1842061Sjkh @echo 1852061Sjkh.if defined(CLOBBER) 1862061Sjkh find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \ 1872061Sjkh xargs rm -rf 1882061Sjkh.endif 1892468Spaul cd ${.CURDIR}/gnu/lib && \ 1902061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 1912273Spaul cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \ 1922061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 1932160Scsgr.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 1942160Scsgr cd ${.CURDIR}/secure/lib && \ 1952160Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 1962160Scsgr.endif 1972279Spaul.if exists(lib) 1982061Sjkh cd ${.CURDIR}/lib && \ 1992061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2002279Spaul.endif 2012468Spaul cd ${.CURDIR}/usr.bin/lex/lib && \ 2022468Spaul ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2032626Scsgr.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 2042061Sjkh cd ${.CURDIR}/kerberosIV/acl && \ 2052061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2062061Sjkh cd ${.CURDIR}/kerberosIV/des && \ 2072061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2082061Sjkh cd ${.CURDIR}/kerberosIV/kdb && \ 2092061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2102061Sjkh cd ${.CURDIR}/kerberosIV/krb && \ 2112061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2122061Sjkh.endif 2132626Scsgr.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \ 2142626Scsgr !defined(NOEBONES) 2152626Scsgr cd ${.CURDIR}/eBones/des && \ 2162626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2172626Scsgr cd ${.CURDIR}/eBones/acl && \ 2182626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2192626Scsgr cd ${.CURDIR}/eBones/kdb && \ 2202626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2212626Scsgr cd ${.CURDIR}/eBones/krb && \ 2222626Scsgr ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2232626Scsgr.endif 2242061Sjkh 2252061Sjkhtools: 2262061Sjkh @echo "--------------------------------------------------------------" 2272061Sjkh @echo " Rebuilding ${DESTDIR} Compiler and Make" 2282061Sjkh @echo "--------------------------------------------------------------" 2292061Sjkh @echo 2302273Spaul cd ${.CURDIR}/gnu/usr.bin/cc && \ 2312061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2322061Sjkh cd ${.CURDIR}/usr.bin/make && \ 2332061Sjkh ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 2342061Sjkh 2351594Srgrimes.include <bsd.subdir.mk> 236