Makefile revision 5749
197403Sobrien# 297403Sobrien# $Id: Makefile,v 1.35 1995/01/19 22:41:25 wollman Exp $ 3169691Skan# 497403Sobrien# Make command line options: 597403Sobrien# -DCLOBBER will remove /usr/include and MOST of /usr/lib 697403Sobrien# -DMAKE_LOCAL to add ./local to the SUBDIR list 797403Sobrien# -DMAKE_PORTS to add ./ports to the SUBDIR list 897403Sobrien# -DMAKE_EBONES to build eBones (KerberosIV) 997403Sobrien# 1097403Sobrien# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir 1197403Sobrien# -DNOCRYPT will prevent building of crypt versions 1297403Sobrien# -DNOLKM do not build loadable kernel modules 1397403Sobrien# -DNOOBJDIR do not run ``${MAKE} obj'' 1497403Sobrien# -DNOPROFILE do not build profiled libraries 1597403Sobrien# -DNOSECURE do not go into secure subdir 1697403Sobrien 1797403Sobrien# Put initial settings here. 1897403SobrienSUBDIR= 19169691Skan 2097403Sobrien# Must be first for "distribute" to work 2197403Sobrien.if exists(release) 2297403SobrienSUBDIR+= release 2397403Sobrien.endif 2497403Sobrien 2597403Sobrien.if exists(bin) 2697403SobrienSUBDIR+= bin 2797403Sobrien.endif 2897403Sobrien.if exists(contrib) 2997403SobrienSUBDIR+= contrib 3097403Sobrien.endif 31169691Skan.if exists(games) 3297403SobrienSUBDIR+= games 3397403Sobrien.endif 3497403Sobrien.if exists(gnu) 3597403SobrienSUBDIR+= gnu 3697403Sobrien.endif 37169691Skan.if exists(include) 38169691SkanSUBDIR+= include 3997403Sobrien.endif 4097403Sobrien.if exists(lib) 41169691SkanSUBDIR+= lib 42169691Skan.endif 43169691Skan.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 44169691SkanSUBDIR+= eBones 45132720Skan.endif 46132720Skan.if exists(libexec) 4797403SobrienSUBDIR+= libexec 4897403Sobrien.endif 4997403Sobrien.if exists(sbin) 5097403SobrienSUBDIR+= sbin 5197403Sobrien.endif 5297403Sobrien.if exists(share) 53169691SkanSUBDIR+= share 54169691Skan.endif 55169691Skan.if exists(sys) 56169691SkanSUBDIR+= sys 57169691Skan.endif 58169691Skan.if exists(usr.bin) 59169691SkanSUBDIR+= usr.bin 60169691Skan.endif 61169691Skan.if exists(usr.sbin) 62169691SkanSUBDIR+= usr.sbin 63169691Skan.endif 64169691Skan.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 65169691SkanSUBDIR+= secure 66169691Skan.endif 67169691Skan.if exists(lkm) && !defined(NOLKM) 68169691SkanSUBDIR+= lkm 69169691Skan.endif 70169691Skan 71169691Skan# etc must be last for "distribute" to work 7297403Sobrien.if exists(etc) && make(distribute) 7397403SobrienSUBDIR+= etc 7497403Sobrien.endif 7597403Sobrien 7697403Sobrien# These are last, since it is nice to at least get the base system 7797403Sobrien# rebuilt before you do them. 7897403Sobrien.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 7997403SobrienSUBDIR+= local 8097403Sobrien.endif 8197403Sobrien.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 8297403SobrienSUBDIR+= ports 8397403Sobrien.endif 8497403Sobrien 8597403Sobrien# Handle the -DNOOBJDIR and -DNOCLEANDIR 8697403Sobrien.if defined(NOOBJDIR) 8797403SobrienOBJDIR= 8897403Sobrien.else 8997403SobrienOBJDIR= obj 9097403Sobrien.endif 9197403Sobrien.if defined(NOCLEANDIR) 9297403SobrienCLEANDIR= clean 9397403Sobrien.else 9497403SobrienCLEANDIR= cleandir 9597403Sobrien.endif 9697403Sobrien 9797403Sobrienworld: hierarchy mk cleandist includes lib-tools libraries tools 9897403Sobrien @echo "--------------------------------------------------------------" 9997403Sobrien @echo " Rebuilding ${DESTDIR} The whole thing" 10097403Sobrien @echo "--------------------------------------------------------------" 10197403Sobrien @echo 10297403Sobrien ${MAKE} depend all install 10397403Sobrien cd ${.CURDIR}/share/man && ${MAKE} makedb 104169691Skan 105169691Skan 10697403Sobrienhierarchy: 10797403Sobrien @echo "--------------------------------------------------------------" 10897403Sobrien @echo " Making hierarchy" 10997403Sobrien @echo "--------------------------------------------------------------" 11097403Sobrien cd ${.CURDIR}/release && ${MAKE} hierarchy 11197403Sobrien 11297403Sobrienupdate: 11397403Sobrien.if defined(SUP_UPDATE) 11497403Sobrien @echo "--------------------------------------------------------------" 11597403Sobrien @echo "Running sup" 11697403Sobrien @echo "--------------------------------------------------------------" 11797403Sobrien @sup -v ${SUPFILE} 11897403Sobrien.endif 11997403Sobrien.if defined(CVS_UPDATE) 12097403Sobrien @echo "--------------------------------------------------------------" 12197403Sobrien @echo "Updating /usr/src from cvs repository" ${CVSROOT} 12297403Sobrien @echo "--------------------------------------------------------------" 12397403Sobrien cd ${.CURDIR} && cvs update -P -d 124132720Skan.endif 12597403Sobrien 12697403Sobriencleandist: 12797403Sobrien.if !defined(NOCLEANDIR) 128132720Skan @echo "--------------------------------------------------------------" 12997403Sobrien @echo " Cleaning up the source tree, and rebuilding the obj tree" 13097403Sobrien @echo "--------------------------------------------------------------" 13197403Sobrien @echo 13297403Sobrien here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ 13397403Sobrien if test -d /usr/obj -a ! -d $$dest; then \ 13497403Sobrien mkdir -p $$dest; \ 13597403Sobrien else \ 13697403Sobrien true; \ 137132720Skan fi; \ 13897403Sobrien cd $$dest && rm -rf ${SUBDIR} 13997403Sobrien find . -name obj | xargs rm -rf 140132720Skan.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 14197403Sobrien # The cd is done as local may well be a symbolic link 142132720Skan -cd local && find . -name obj | xargs rm -rf 14397403Sobrien.endif 14497403Sobrien.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 14597403Sobrien # The cd is done as local may well be a symbolic link 14697403Sobrien -cd ports && find . -name obj | xargs rm -rf 14797403Sobrien.endif 148169691Skan ${MAKE} cleandir 149169691Skan ${MAKE} obj 150132720Skan.endif 15197403Sobrien 15297403Sobrieninstallmost: 15397403Sobrien @echo "--------------------------------------------------------------" 15497403Sobrien @echo " Installing programs only" 15597403Sobrien @echo "--------------------------------------------------------------" 15697403Sobrien cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} install 15797403Sobrien cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} install 15897403Sobrien cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} install 15997403Sobrien cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} install 16097403Sobrien cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} install 161169691Skan cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} install 162169691Skan cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} install 163132720Skan#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 16497403Sobrien# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} installmost 165117397Skan#.endif 166132720Skan#.if !defined(NOSECURE) && !defined(NOCRYPT) 167117397Skan# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} installmost 168117397Skan#.endif 169132720Skan 17097403Sobrienmost: 171117397Skan @echo "--------------------------------------------------------------" 17297403Sobrien @echo " Building programs only" 173132720Skan @echo "--------------------------------------------------------------" 17497403Sobrien cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} all 17597403Sobrien cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} all 176169691Skan cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} all 177169691Skan cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} all 17897403Sobrien cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} all 179132720Skan cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} all 18097403Sobrien cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} all 18197403Sobrien#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 18297403Sobrien# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} most 183169691Skan#.endif 184117397Skan#.if !defined(NOSECURE) && !defined(NOCRYPT) 18597403Sobrien# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} most 186132720Skan#.endif 187117397Skan 188117397Skanmk: 189117397Skan @echo "--------------------------------------------------------------" 190117397Skan @echo " Rebuilding ${DESTDIR}/usr/share/mk" 191117397Skan @echo "--------------------------------------------------------------" 192117397Skan cd ${.CURDIR}/share/mk && ${MAKE} install 193132720Skan 19497403Sobrienincludes: 19597403Sobrien @echo "--------------------------------------------------------------" 19697403Sobrien @echo " Rebuilding ${DESTDIR}/usr/include" 197117397Skan @echo "--------------------------------------------------------------" 198117397Skan @echo 199132720Skan.if defined(CLOBBER) 20097403Sobrien rm -rf ${DESTDIR}/usr/include 201169691Skan mkdir ${DESTDIR}/usr/include 202169691Skan chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include 203169691Skan chmod 755 ${DESTDIR}/usr/include 204169691Skan.endif 205132720Skan cd ${.CURDIR}/include && ${MAKE} install 206169691Skan cd ${.CURDIR}/gnu/include && ${MAKE} install 207117397Skan cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall 208169691Skan cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall 209169691Skan cd ${.CURDIR}/gnu/lib/libdialog && ${MAKE} beforeinstall 210132720Skan.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 211169691Skan cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall 212169691Skan.endif 213169691Skan cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall 214117397Skan cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall 215169691Skan cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall 216169691Skan cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall 217169691Skan cd ${.CURDIR}/lib/libmytinfo && ${MAKE} beforeinstall 218169691Skan cd ${.CURDIR}/lib/libncurses && ${MAKE} beforeinstall 219169691Skan.if defined(WANT_MSUN) 22097403Sobrien cd ${.CURDIR}/lib/msun && ${MAKE} beforeinstall 221169691Skan.endif 222169691Skan cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall 223169691Skan cd ${.CURDIR}/lib/libskey && ${MAKE} beforeinstall 224169691Skan cd ${.CURDIR}/lib/libtermcap && ${MAKE} beforeinstall 225169691Skan cd ${.CURDIR}/lib/libcom_err && ${MAKE} beforeinstall 226169691Skan 227132720Skanlib-tools: 228 @echo "--------------------------------------------------------------" 229 @echo " Rebuilding tools needed to build the libraries 230 @echo "--------------------------------------------------------------" 231 @echo 232 cd ${.CURDIR}/usr.bin/ar && \ 233 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 234 cd ${.CURDIR}/usr.bin/ranlib && \ 235 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 236 cd ${.CURDIR}/usr.bin/nm && \ 237 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 238 cd ${.CURDIR}/usr.bin/compile_et && \ 239 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} && \ 240 rm -f /usr/sbin/compile_et 241 cd ${.CURDIR}/usr.bin/mk_cmds && \ 242 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 243 244libraries: 245 @echo "--------------------------------------------------------------" 246 @echo " Rebuilding ${DESTDIR}/usr/lib" 247 @echo "--------------------------------------------------------------" 248 @echo 249.if defined(CLOBBER) 250 find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \ 251 xargs rm -rf 252.endif 253 cd ${.CURDIR}/gnu/lib && \ 254 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 255 cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \ 256 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 257.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 258 cd ${.CURDIR}/secure/lib && \ 259 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 260.endif 261.if exists(lib) 262 cd ${.CURDIR}/lib/csu/i386 && \ 263 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 264 cd ${.CURDIR}/lib && \ 265 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 266.endif 267 cd ${.CURDIR}/usr.bin/lex/lib && \ 268 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 269.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 270 cd ${.CURDIR}/eBones/des && \ 271 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 272 cd ${.CURDIR}/eBones/acl && \ 273 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 274 cd ${.CURDIR}/eBones/kdb && \ 275 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 276 cd ${.CURDIR}/eBones/krb && \ 277 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 278.endif 279 280tools: 281 @echo "--------------------------------------------------------------" 282 @echo " Rebuilding ${DESTDIR} Compiler and Make" 283 @echo "--------------------------------------------------------------" 284 @echo 285 cd ${.CURDIR}/gnu/usr.bin/cc && \ 286 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 287 cd ${.CURDIR}/usr.bin/make && \ 288 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 289 290.include <bsd.subdir.mk> 291