Makefile revision 4249
1# 2# $Id: Makefile,v 1.28 1994/11/01 19:52:38 pst Exp $ 3# 4# Make command line options: 5# -DCLOBBER will remove /usr/include and MOST of /usr/lib 6# -DMAKE_LOCAL to add ./local to the SUBDIR list 7# -DMAKE_PORTS to add ./ports to the SUBDIR list 8# XXX1 -DMAKE_KERBEROS to build KerberosIV 9# -DMAKE_EBONES to build eBones (KerberosIV) 10# 11# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir 12# -DNOCRYPT will prevent building of crypt versions 13# -DNOLKM do not build loadable kernel modules 14# -DNOOBJDIR do not run ``${MAKE} obj'' 15# -DNOPROFILE do not build profiled libraries 16# -DNOSECURE do not go into secure subdir 17# 18# 19# XXX1 The kerberos IV off the 4.4-Lite tape (src/kerberosIV) 20# will not build successfully yet. MAKE_KERBEROS should not be 21# defined. 22 23# Put initial settings here. 24SUBDIR= 25 26.if exists(bin) 27SUBDIR+= bin 28.endif 29.if exists(contrib) 30SUBDIR+= contrib 31.endif 32.if exists(etc) 33# XXX until etc vs release conversion is done 34# SUBDIR+= etc 35.endif 36.if exists(games) 37SUBDIR+= games 38.endif 39.if exists(gnu) 40SUBDIR+= gnu 41.endif 42.if exists(include) 43SUBDIR+= include 44.endif 45.if exists(lib) 46SUBDIR+= lib 47.endif 48.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS) 49SUBDIR+= kerberosIV 50.endif 51.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 52SUBDIR+= eBones 53.endif 54.if exists(libexec) 55SUBDIR+= libexec 56.endif 57.if exists(sbin) 58SUBDIR+= sbin 59.endif 60.if exists(share) 61SUBDIR+= share 62.endif 63.if exists(sys) 64SUBDIR+= sys 65.endif 66.if exists(usr.bin) 67SUBDIR+= usr.bin 68.endif 69.if exists(usr.sbin) 70SUBDIR+= usr.sbin 71.endif 72.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 73SUBDIR+= secure 74.endif 75.if exists(lkm) && !defined(NOLKM) 76SUBDIR+= lkm 77.endif 78 79# These are last, since it is nice to at least get the base system 80# rebuilt before you do them. 81.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 82SUBDIR+= local 83.endif 84.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 85SUBDIR+= ports 86.endif 87 88# Handle the -DNOOBJDIR and -DNOCLEANDIR 89.if defined(NOOBJDIR) 90OBJDIR= 91.else 92OBJDIR= obj 93.endif 94.if defined(NOCLEANDIR) 95CLEANDIR= clean 96.else 97CLEANDIR= cleandir 98.endif 99 100world: hierarchy cleandist mk includes libraries tools 101 @echo "--------------------------------------------------------------" 102 @echo " Rebuilding ${DESTDIR} The whole thing" 103 @echo "--------------------------------------------------------------" 104 @echo 105 ${MAKE} depend all install 106 cd ${.CURDIR}/share/man && ${MAKE} makedb 107 108 109hierarchy: 110 @echo "--------------------------------------------------------------" 111 @echo " Making hierarchy" 112 @echo "--------------------------------------------------------------" 113 cd ${.CURDIR}/release && ${MAKE} hierarchy 114 115update: 116.if defined(SUP_UPDATE) 117 @echo "--------------------------------------------------------------" 118 @echo "Running sup" 119 @echo "--------------------------------------------------------------" 120 @sup -v ${SUPFILE} 121.endif 122.if defined(CVS_UPDATE) 123 @echo "--------------------------------------------------------------" 124 @echo "Updating /usr/src from cvs repository" ${CVSROOT} 125 @echo "--------------------------------------------------------------" 126 cd ${.CURDIR} && cvs update -P -d 127.endif 128 129cleandist: 130.if !defined(NOCLEANDIR) 131 @echo "--------------------------------------------------------------" 132 @echo " Cleaning up the source tree, and rebuilding the obj tree" 133 @echo "--------------------------------------------------------------" 134 @echo 135 here=`pwd`; dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; \ 136 if test -d /usr/obj -a ! -d $$dest; then \ 137 mkdir -p $$dest; \ 138 else \ 139 true; \ 140 fi; \ 141 cd $$dest && rm -rf ${SUBDIR} 142 find . -name obj | xargs rm -rf 143.if defined(MAKE_LOCAL) & exists(local) & exists(local/Makefile) 144 # The cd is done as local may well be a symbolic link 145 -cd local && find . -name obj | xargs rm -rf 146.endif 147.if defined(MAKE_PORTS) & exists(ports) & exists(ports/Makefile) 148 # The cd is done as local may well be a symbolic link 149 -cd ports && find . -name obj | xargs rm -rf 150.endif 151 ${MAKE} cleandir 152 ${MAKE} obj 153.endif 154 155installmost: 156 @echo "--------------------------------------------------------------" 157 @echo " Installing programs only" 158 @echo "--------------------------------------------------------------" 159 cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} install 160 cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} install 161 cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} install 162 cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} install 163 cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} install 164 cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} install 165 cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} install 166#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 167# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} installmost 168#.endif 169#.if !defined(NOSECURE) && !defined(NOCRYPT) 170# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} installmost 171#.endif 172 173most: 174 @echo "--------------------------------------------------------------" 175 @echo " Building programs only" 176 @echo "--------------------------------------------------------------" 177 cd ${.CURDIR}/bin && ${MAKE} ${.MAKEFLAGS} all 178 cd ${.CURDIR}/sbin && ${MAKE} ${.MAKEFLAGS} all 179 cd ${.CURDIR}/libexec && ${MAKE} ${.MAKEFLAGS} all 180 cd ${.CURDIR}/usr.bin && ${MAKE} ${.MAKEFLAGS} all 181 cd ${.CURDIR}/usr.sbin && ${MAKE} ${.MAKEFLAGS} all 182 cd ${.CURDIR}/gnu/libexec && ${MAKE} ${.MAKEFLAGS} all 183 cd ${.CURDIR}/gnu/usr.bin && ${MAKE} ${.MAKEFLAGS} all 184#.if defined(MAKE_EBONES) && !defined(NOCRYPT) 185# cd ${.CURDIR}/eBones && ${MAKE} ${.MAKEFLAGS} most 186#.endif 187#.if !defined(NOSECURE) && !defined(NOCRYPT) 188# cd ${.CURDIR}/secure && ${MAKE} ${.MAKEFLAGS} most 189#.endif 190 191mk: 192 @echo "--------------------------------------------------------------" 193 @echo " Rebuilding ${DESTDIR}/usr/share/mk" 194 @echo "--------------------------------------------------------------" 195 cd ${.CURDIR}/share/mk && ${MAKE} install 196 197includes: 198 @echo "--------------------------------------------------------------" 199 @echo " Rebuilding ${DESTDIR}/usr/include" 200 @echo "--------------------------------------------------------------" 201 @echo 202.if defined(CLOBBER) 203 rm -rf ${DESTDIR}/usr/include 204 mkdir ${DESTDIR}/usr/include 205 chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include 206 chmod 755 ${DESTDIR}/usr/include 207.endif 208 cd ${.CURDIR}/include && ${MAKE} install 209 cd ${.CURDIR}/gnu/include && ${MAKE} install 210 cd ${.CURDIR}/gnu/lib/libreadline && ${MAKE} beforeinstall 211 cd ${.CURDIR}/gnu/lib/libg++ && ${MAKE} beforeinstall 212 cd ${.CURDIR}/gnu/lib/libdialog && ${MAKE} beforeinstall 213.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS) 214 cd ${.CURDIR}/kerberosIV/include && ${MAKE} install 215.endif 216.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 217 cd ${.CURDIR}/eBones/include && ${MAKE} beforeinstall 218.endif 219 cd ${.CURDIR}/lib/libc && ${MAKE} beforeinstall 220 cd ${.CURDIR}/lib/libcurses && ${MAKE} beforeinstall 221 cd ${.CURDIR}/lib/libedit && ${MAKE} beforeinstall 222 cd ${.CURDIR}/lib/libmd && ${MAKE} beforeinstall 223 cd ${.CURDIR}/lib/libmytinfo && ${MAKE} beforeinstall 224 cd ${.CURDIR}/lib/libncurses && ${MAKE} beforeinstall 225.if defined(WANT_MSUN) 226 cd ${.CURDIR}/lib/msun && ${MAKE} beforeinstall 227.endif 228 cd ${.CURDIR}/lib/librpcsvc && ${MAKE} beforeinstall 229 cd ${.CURDIR}/lib/libskey && ${MAKE} beforeinstall 230 231libraries: 232 @echo "--------------------------------------------------------------" 233 @echo " Rebuilding ${DESTDIR}/usr/lib" 234 @echo "--------------------------------------------------------------" 235 @echo 236.if defined(CLOBBER) 237 find ${DESTDIR}/usr/lib \! -name '*.s[ao].*' -a \! -type d | \ 238 xargs rm -rf 239.endif 240 cd ${.CURDIR}/gnu/lib && \ 241 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 242 cd ${.CURDIR}/gnu/usr.bin/cc/libgcc && \ 243 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 244.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE) 245 cd ${.CURDIR}/secure/lib && \ 246 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 247.endif 248.if exists(lib) 249 cd ${.CURDIR}/lib/csu/i386 && \ 250 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 251 cd ${.CURDIR}/lib && \ 252 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 253.endif 254 cd ${.CURDIR}/usr.bin/lex/lib && \ 255 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 256.if exists(kerberosIV) && !defined(NOCRYPT) && defined(MAKE_KERBEROS) 257 cd ${.CURDIR}/kerberosIV/acl && \ 258 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 259 cd ${.CURDIR}/kerberosIV/des && \ 260 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 261 cd ${.CURDIR}/kerberosIV/kdb && \ 262 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 263 cd ${.CURDIR}/kerberosIV/krb && \ 264 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 265.endif 266.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES) 267 cd ${.CURDIR}/eBones/des && \ 268 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 269 cd ${.CURDIR}/eBones/acl && \ 270 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 271 cd ${.CURDIR}/eBones/kdb && \ 272 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 273 cd ${.CURDIR}/eBones/krb && \ 274 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 275.endif 276 277tools: 278 @echo "--------------------------------------------------------------" 279 @echo " Rebuilding ${DESTDIR} Compiler and Make" 280 @echo "--------------------------------------------------------------" 281 @echo 282 cd ${.CURDIR}/gnu/usr.bin/cc && \ 283 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 284 cd ${.CURDIR}/usr.bin/make && \ 285 ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} 286 287.include <bsd.subdir.mk> 288