Makefile revision 2883
1177548Scsjp# 2177548Scsjp# $Id: Makefile,v 1.18 1994/09/16 20:24:15 wollman Exp $ 3177548Scsjp# 4177548Scsjp# Make command line options: 5234969Seadler# -DCLOBBER will remove /usr/include and MOST of /usr/lib 6177548Scsjp# -DMAKE_LOCAL to add ./local to the SUBDIR list 7177548Scsjp# -DMAKE_PORTS to add ./ports to the SUBDIR list 8177548Scsjp# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir 9177548Scsjp# -DNOCRYPT will prevent building of crypt versions 10177548Scsjp# XXX2 -DNOKERBEROS do not build Kerberos 11177548Scsjp# -DNOLKM do not build loadable kernel modules 12177548Scsjp# -DNOOBJDIR do not run ``${MAKE} obj'' 13177548Scsjp# -DNOPROFILE do not build profiled libraries 14177548Scsjp# -DNOSECURE do not go into secure subdir 15177548Scsjp# -DNOEBONES do not make eBones (kerberosIV) 16177548Scsjp# 17177548Scsjp# XXX2 Mandatory, and Kerberos will not build sucessfully yet 18177548Scsjp 19177548Scsjp# Put initial settings here. 20177548ScsjpNOKERBEROS= yes 21177548ScsjpSUBDIR= 22177548Scsjp 23177548Scsjp.if exists(bin) 24177548ScsjpSUBDIR+= bin 25177548Scsjp.endif 26177548Scsjp.if exists(contrib) 27177548ScsjpSUBDIR+= contrib 28177548Scsjp.endif 29177548Scsjp.if exists(etc) 30177548ScsjpSUBDIR+= etc 31177548Scsjp.endif 32177548Scsjp.if exists(games) 33177548ScsjpSUBDIR+= games 34177548Scsjp.endif 35177548Scsjp.if exists(gnu) 36177548ScsjpSUBDIR+= gnu 37177548Scsjp.endif 38177548Scsjp.if exists(include) 39177548ScsjpSUBDIR+= include 40177548Scsjp.endif 41177548Scsjp.if exists(lib) 42177548ScsjpSUBDIR+= lib 43177548Scsjp.endif 44177548Scsjp.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 45177548ScsjpSUBDIR+= kerberosIV 46177548Scsjp.endif 47177548Scsjp.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) \ 48177548Scsjp && !defined(NOEBONES) 49177548ScsjpSUBDIR+= eBones 50177548Scsjp.endif 51177548Scsjp.if exists(libexec) 52177548ScsjpSUBDIR+= libexec 53177548Scsjp.endif 54177548Scsjp.if exists(sbin) 55177548ScsjpSUBDIR+= sbin 56177548Scsjp.endif 57177548Scsjp.if exists(share) 58177548ScsjpSUBDIR+= share 59177548Scsjp.endif 60177548Scsjp.if exists(sys) 61177548ScsjpSUBDIR+= sys 62177548Scsjp.endif 63177548Scsjp.if exists(usr.bin) 64177548ScsjpSUBDIR+= usr.bin 65177548Scsjp.endif 66177548Scsjp.if exists(usr.sbin) 67177548ScsjpSUBDIR+= usr.sbin 68177548Scsjp.endif 69177548Scsjp.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 70177548ScsjpSUBDIR+= secure 71177548Scsjp.endif 72177548Scsjp.if exists(lkm) && !defined(NOLKM) 73177548ScsjpSUBDIR+= lkm 74177548Scsjp.endif 75177548Scsjp 76177548Scsjp# These are last, since it is nice to at least get the base system 77177548Scsjp# rebuilt before you do them. 78177548Scsjp.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 79177548ScsjpSUBDIR+= local 80177548Scsjp.endif 81177548Scsjp.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 82251756SghelmerSUBDIR+= ports 83251756Sghelmer.endif 84177548Scsjp 85177548Scsjp# Handle the -DNOOBJDIR and -DNOCLEANDIR 86177548Scsjp.if defined(NOOBJDIR) 87177548ScsjpOBJDIR= 88177548Scsjp.else 89177548ScsjpOBJDIR= obj 90177548Scsjp.endif 91177548Scsjp.if defined(NOCLEANDIR) 92177548ScsjpCLEANDIR= clean 93215792Smaxim.else 94177548ScsjpCLEANDIR= cleandir 95177548Scsjp.endif 96215792Smaxim 97177548Scsjpworld: directories cleandist mk includes libraries tools 98177548Scsjp @echo "--------------------------------------------------------------" 99177548Scsjp @echo " Rebuilding ${DESTDIR} The whole thing" 100177548Scsjp @echo "--------------------------------------------------------------" 101177548Scsjp @echo 102177548Scsjp ${MAKE} depend all install 103177548Scsjp cd ${.CURDIR}/share/man && ${MAKE} makedb 104177548Scsjp 105177548Scsjp 106177548Scsjpdirectories: 107177548Scsjp @echo "--------------------------------------------------------------" 108177548Scsjp @echo " Making directories" 109177548Scsjp @echo "--------------------------------------------------------------" 110177548Scsjp cd ${.CURDIR}/etc && ${MAKE} distrib-dirs 111177548Scsjp 112177548Scsjpupdate: 113177548Scsjp.if defined(SUP_UPDATE) 114177548Scsjp @echo "--------------------------------------------------------------" 115177548Scsjp @echo "Running sup" 116177548Scsjp @echo "--------------------------------------------------------------" 117177548Scsjp @sup -v ${SUPFILE} 118177548Scsjp.endif 119177548Scsjp.if defined(CVS_UPDATE) 120177548Scsjp @echo "--------------------------------------------------------------" 121177548Scsjp @echo "Updating /usr/src from cvs repository" ${CVSROOT} 122177548Scsjp @echo "--------------------------------------------------------------" 123177548Scsjp cd ${.CURDIR} && cvs update -P -d 124177548Scsjp.endif 125177548Scsjp 126177548Scsjpcleandist: 127177548Scsjp.if !defined(NOCLEANDIR) 128177548Scsjp @echo "--------------------------------------------------------------" 129177548Scsjp @echo " Cleaning up the source tree, and rebuilding the obj tree" 130177548Scsjp @echo "--------------------------------------------------------------" 131177548Scsjp @echo 132177548Scsjp here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ 133177548Scsjp if test -d /usr/obj -a ! -d $$dest; then \ 134177548Scsjp mkdir -p $$dest; \ 135177548Scsjp else \ 136177548Scsjp true; \ 137177548Scsjp fi; \ 138177548Scsjp cd $$dest && rm -rf ${SUBDIR} 139177548Scsjp find . -name obj | xargs rm -rf 140177548Scsjp.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 141177548Scsjp # The cd is done as local may well be a symbolic link 142177548Scsjp -cd local && find . -name obj | xargs rm -rf 143177548Scsjp.endif 144177548Scsjp.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 145177548Scsjp # The cd is done as local may well be a symbolic link 146177548Scsjp -cd ports && find . -name obj | xargs rm -rf 147177548Scsjp.endif 148177548Scsjp ${MAKE} cleandir 149177548Scsjp ${MAKE} obj 150177548Scsjp.endif 151177548Scsjp 152177548Scsjpmk: 153177548Scsjp @echo "--------------------------------------------------------------" 154177548Scsjp @echo " Rebuilding ${DESTDIR}/usr/share/mk" 155177548Scsjp @echo "--------------------------------------------------------------" 156177548Scsjp cd ${.CURDIR}/share/mk && ${MAKE} install 157177548Scsjp 158177548Scsjpincludes: 159177548Scsjp @echo "--------------------------------------------------------------" 160177548Scsjp @echo " Rebuilding ${DESTDIR}/usr/include" 161177548Scsjp @echo "--------------------------------------------------------------" 162177548Scsjp @echo 163177548Scsjp.if defined(CLOBBER) 164177548Scsjp rm -rf ${DESTDIR}/usr/include 165177548Scsjp mkdir ${DESTDIR}/usr/include 166177548Scsjp chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include 167177548Scsjp chmod 755 ${DESTDIR}/usr/include 168177548Scsjp.endif 169177548Scsjp cd ${.CURDIR}/include && ${MAKE} install 170177548Scsjp cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall 171177548Scsjp cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall 172177548Scsjp.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 173247629Smelifaro cd ${.CURDIR}/kerberosIV/include && ${MAKE} install 174177548Scsjp.endif 175247629Smelifaro cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall 176247629Smelifaro cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall 177247629Smelifaro cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall 178247629Smelifaro cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall 179247629Smelifaro cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall 180247629Smelifaro.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \ 181247629Smelifaro !defined(NOEBONES) 182247629Smelifaro cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall 183247629Smelifaro.endif 184247629Smelifaro 185177548Scsjplibraries: 186177548Scsjp @echo "--------------------------------------------------------------" 187247629Smelifaro @echo " Rebuilding ${DESTDIR}/usr/lib" 188177548Scsjp @echo "--------------------------------------------------------------" 189247629Smelifaro @echo 190247629Smelifaro.if defined(CLOBBER) 191177548Scsjp find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \ 192177548Scsjp xargs rm -rf 193247629Smelifaro.endif 194251756Sghelmer cd ${.CURDIR}/gnu/lib && \ 195251756Sghelmer ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 196251756Sghelmer cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \ 197247629Smelifaro ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 198247629Smelifaro.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 199247629Smelifaro cd ${.CURDIR}/secure/lib && \ 200247629Smelifaro ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 201247629Smelifaro.endif 202247629Smelifaro.if exists(lib) 203247629Smelifaro cd ${.CURDIR}/lib && \ 204177548Scsjp ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 205247629Smelifaro.endif 206247629Smelifaro cd ${.CURDIR}/usr.bin/lex/lib && \ 207247629Smelifaro ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 208247629Smelifaro.if exists(kerberosIV) && !defined(NOCRYPT) && !defined(NOKERBEROS) 209247629Smelifaro cd ${.CURDIR}/kerberosIV/acl && \ 210247629Smelifaro ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 211247629Smelifaro cd ${.CURDIR}/kerberosIV/des && \ 212177548Scsjp ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 213177548Scsjp cd ${.CURDIR}/kerberosIV/kdb && \ 214177548Scsjp ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 215177548Scsjp cd ${.CURDIR}/kerberosIV/krb && \ 216177548Scsjp ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 217177548Scsjp.endif 218177548Scsjp.if exists(eBones) && !defined(NOCRYPT) && defined(NOKERBEROS) && \ 219177548Scsjp !defined(NOEBONES) 220177548Scsjp cd ${.CURDIR}/eBones/des && \ 221177548Scsjp ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 222177548Scsjp cd ${.CURDIR}/eBones/acl && \ 223177548Scsjp ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 224177548Scsjp cd ${.CURDIR}/eBones/kdb && \ 225 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 226 cd ${.CURDIR}/eBones/krb && \ 227 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 228.endif 229 230tools: 231 @echo "--------------------------------------------------------------" 232 @echo " Rebuilding ${DESTDIR} Compiler and Make" 233 @echo "--------------------------------------------------------------" 234 @echo 235 cd ${.CURDIR}/gnu/usr.bin/cc && \ 236 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 237 cd ${.CURDIR}/usr.bin/make && \ 238 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 239 240.include <bsd.subdir.mk> 241