Makefile revision 26504
150565Sphk#
250565Sphk#	$Id: Makefile,v 1.128 1997/05/26 05:27:37 peter Exp $
350565Sphk#
450565Sphk# Make command line options:
550565Sphk#	-DCLOBBER will remove /usr/include
650565Sphk#	-DMAKE_EBONES to build eBones (KerberosIV)
750565Sphk#	-DALLLANG to build documentation for all languages
850565Sphk#	  (where available -- see share/doc/Makefile)
950565Sphk#
1050565Sphk#	-DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
1150565Sphk#	-DNOCLEAN do not clean at all
1250565Sphk#	-DNOCRYPT will prevent building of crypt versions
1350565Sphk#	-DNOLKM do not build loadable kernel modules
1450565Sphk#	-DNOOBJDIR do not run ``${MAKE} obj''
1550565Sphk#	-DNOPROFILE do not build profiled libraries
1650565Sphk#	-DNOSECURE do not go into secure subdir
1750565Sphk#	-DNOGAMES do not go into games subdir
1850565Sphk#	-DNOSHARE do not go into share subdir
1950565Sphk#       -DNOINFO do not make or install info files
2050728Sphk#       -DNOLIBC_R do not build libc_r.
2150728Sphk#	LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
2250565Sphk
2350565Sphk#
2450565Sphk# The intended user-driven targets are:
2550565Sphk# world       - rebuild *everything*, including glue to help do upgrades.
2650565Sphk# reinstall   - use an existing (eg: NFS mounted) build to do an update.
2750565Sphk# update      - convenient way to update your source tree (eg: sup/cvs)
2850565Sphk# most        - build user commands, no libraries or include files
2950565Sphk# installmost - install user commands, no libraries or include files
3050565Sphk#
3150565Sphk# Standard targets (not defined here) are documented in the makefiles in
3250565Sphk# /usr/share/mk.  These include:
3350565Sphk#		obj depend all install clean cleandepend cleanobj
3450565Sphk
3550565Sphk.MAKEFLAGS:=	${.MAKEFLAGS} -m ${.CURDIR}/share/mk
3650565Sphk
3750565Sphk# Put initial settings here.
3850565SphkSUBDIR=
3950565Sphk
4050565Sphk# We must do share/info early so that installation of info `dir'
4150565Sphk# entries works correctly.  Do it first since it is less likely to
4250565Sphk# grow dependencies on include and lib than vice versa.
4350565Sphk.if exists(share/info)
4450565SphkSUBDIR+= share/info
4550565Sphk.endif
4650565Sphk
4750565Sphk# We must do include and lib early so that the perl *.ph generation
4850565Sphk# works correctly as it uses the header files installed by this.
4950565Sphk.if exists(include)
5050565SphkSUBDIR+= include
5150565Sphk.endif
5250565Sphk.if exists(lib)
5350565SphkSUBDIR+= lib
5450728Sphk.endif
5550565Sphk
5650565Sphk.if exists(bin)
5750565SphkSUBDIR+= bin
5850565Sphk.endif
5950565Sphk.if exists(games) && !defined(NOGAMES)
6050565SphkSUBDIR+= games
6150565Sphk.endif
6250565Sphk.if exists(gnu)
6350565SphkSUBDIR+= gnu
6450565Sphk.endif
6550728Sphk.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
6650728SphkSUBDIR+= eBones
6750728Sphk.endif
6850728Sphk.if exists(libexec)
6950728SphkSUBDIR+= libexec
7050565Sphk.endif
7150565Sphk.if exists(sbin)
7250565SphkSUBDIR+= sbin
7350565Sphk.endif
7450565Sphk.if exists(share) && !defined(NOSHARE)
7550565SphkSUBDIR+= share
7650565Sphk.endif
7750565Sphk.if exists(sys)
7850728SphkSUBDIR+= sys
7950728Sphk.endif
8050565Sphk.if exists(usr.bin)
8150565SphkSUBDIR+= usr.bin
8250728Sphk.endif
8350565Sphk.if exists(usr.sbin)
8450565SphkSUBDIR+= usr.sbin
8550565Sphk.endif
8650728Sphk.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
8750728SphkSUBDIR+= secure
8850728Sphk.endif
8950728Sphk.if exists(lkm) && !defined(NOLKM)
9050728SphkSUBDIR+= lkm
9150728Sphk.endif
9250728Sphk
9350728Sphk# etc must be last for "distribute" to work
9450728Sphk.if exists(etc) && make(distribute)
9550728SphkSUBDIR+= etc
9650728Sphk.endif
9750728Sphk
9850728Sphk# These are last, since it is nice to at least get the base system
9950728Sphk# rebuilt before you do them.
10050728Sphk.if defined(LOCAL_DIRS)
10150728Sphk.for _DIR in ${LOCAL_DIRS}
10250728Sphk.if exists(${_DIR}) & exists(${_DIR}/Makefile)
10350728SphkSUBDIR+= ${_DIR}
10450728Sphk.endif
10550728Sphk.endfor
10650728Sphk.endif
10750728Sphk
10850728Sphk# Handle -DNOOBJDIR, -DNOCLEAN and -DNOCLEANDIR
10950728Sphk.if defined(NOOBJDIR)
11050728SphkOBJDIR=
11150728Sphk.else
11250728SphkOBJDIR=		obj
11350728Sphk.endif
11450728Sphk
11550728Sphk.if defined(NOCLEAN)
11650728SphkCLEANDIR=
11750728Sphk.else
11850728Sphk.if defined(NOCLEANDIR)
11950565SphkCLEANDIR=	clean
12050565Sphk.else
12150565SphkCLEANDIR=	cleandir
12250565Sphk.endif
12350565Sphk.endif
12450565Sphk
12550728SphkSUP?=           sup
12650728SphkSUPFLAGS?=      -v
12750728Sphk
12850728Sphk#
12950565Sphk# While building tools for bootstrapping, we dont need to waste time on
13050565Sphk# profiled libraries or man pages.  This speeds things up somewhat.
13150565Sphk#
13250565SphkMK_FLAGS=	-DNOINFO -DNOMAN -DNOPROFILE
13350565Sphk
13450565Sphk#
13550565Sphk# world
13650728Sphk#
13750565Sphk# Attempt to rebuild and reinstall *everything*, with reasonable chance of
13850728Sphk# success, regardless of how old your existing system is.
13950565Sphk#
14050565Sphk# >> Beware, it overwrites the local build environment! <<
14150565Sphk#
14250728Sphkworld:
14350565Sphk	@echo "--------------------------------------------------------------"
14450728Sphk	@echo "make world started on `LC_TIME=C date`"
14550728Sphk	@echo "--------------------------------------------------------------"
14650728Sphk.if target(pre-world)
14750728Sphk	@echo "--------------------------------------------------------------"
14850565Sphk	@echo " Making 'pre-world' target"
14950565Sphk	@echo "--------------------------------------------------------------"
15050728Sphk	cd ${.CURDIR} && ${MAKE} pre-world
15150728Sphk	@echo
15250728Sphk.endif
15350728Sphk	@echo "--------------------------------------------------------------"
15450565Sphk	@echo " Making hierarchy"
15550728Sphk	@echo "--------------------------------------------------------------"
15650565Sphk	cd ${.CURDIR} && ${MAKE} hierarchy
15750728Sphk	@echo
15850565Sphk	@echo "--------------------------------------------------------------"
15950565Sphk	@echo " Cleaning up the source tree"
16050565Sphk	@echo "--------------------------------------------------------------"
16150565Sphk.if defined(NOCLEAN)
16250565Sphk	@echo "Not cleaning anything! I sure hope you know what you are doing!"
16350565Sphk.else
16450565Sphk	cd ${.CURDIR} && ${MAKE} ${CLEANDIR}
16550565Sphk.endif
16650565Sphk	@echo
16750565Sphk.if !defined(NOOBJDIR)
16850565Sphk	@echo "--------------------------------------------------------------"
16950565Sphk	@echo " Rebuilding the obj tree"
17050728Sphk	@echo "--------------------------------------------------------------"
17150565Sphk	cd ${.CURDIR} && ${MAKE} obj
17250565Sphk	@echo
17350565Sphk.endif
17450565Sphk	@echo "--------------------------------------------------------------"
17550565Sphk	@echo " Rebuilding bootstrap tools"
17650565Sphk	@echo "--------------------------------------------------------------"
17750565Sphk	cd ${.CURDIR} && ${MAKE} bootstrap
17850565Sphk	@echo
17950565Sphk	@echo "--------------------------------------------------------------"
18050565Sphk	@echo " Rebuilding tools necessary to build the include files"
18150565Sphk	@echo "--------------------------------------------------------------"
18250565Sphk	cd ${.CURDIR} && ${MAKE} include-tools
18350565Sphk	@echo
18450565Sphk	@echo "--------------------------------------------------------------"
18550565Sphk	@echo " Rebuilding /usr/include"
18650565Sphk	@echo "--------------------------------------------------------------"
18750565Sphk	cd ${.CURDIR} && ${MAKE} includes
18850565Sphk	@echo
18950565Sphk	@echo "--------------------------------------------------------------"
19050565Sphk	@echo " Rebuilding tools needed to build the libraries"
19150565Sphk	@echo "--------------------------------------------------------------"
19250565Sphk	cd ${.CURDIR} && ${MAKE} lib-tools
19350565Sphk	@echo
19450565Sphk	@echo "--------------------------------------------------------------"
19550565Sphk	@echo " Rebuilding /usr/lib"
19650565Sphk	@echo "--------------------------------------------------------------"
19750565Sphk	cd ${.CURDIR} && ${MAKE} libraries
19850565Sphk	@echo
19950565Sphk	@echo "--------------------------------------------------------------"
20050565Sphk	@echo " Rebuilding sgml tools, symorder, groff and zic(8)"
20150565Sphk	@echo "--------------------------------------------------------------"
20250565Sphk	cd ${.CURDIR} && ${MAKE} build-tools
20350565Sphk	@echo
20450565Sphk	@echo "--------------------------------------------------------------"
20550565Sphk	@echo " Rebuilding dependencies"
20650565Sphk	@echo "--------------------------------------------------------------"
20750565Sphk	cd ${.CURDIR} && ${MAKE} depend
20850565Sphk	@echo
20950565Sphk	@echo "--------------------------------------------------------------"
21050565Sphk	@echo " Building everything.."
21150565Sphk	@echo "--------------------------------------------------------------"
21250565Sphk	cd ${.CURDIR} && ${MAKE} all
21350565Sphk	@echo
21450565Sphk	@echo "--------------------------------------------------------------"
21550565Sphk	@echo " Installing everything.."
21650565Sphk	@echo "--------------------------------------------------------------"
21750565Sphk	cd ${.CURDIR} && ${MAKE} install
21850565Sphk	@echo
21950565Sphk	@echo "--------------------------------------------------------------"
22050565Sphk	@echo " Rebuilding man page indexes"
22150565Sphk	@echo "--------------------------------------------------------------"
22250565Sphk	cd ${.CURDIR}/share/man && ${MAKE} makedb
22350565Sphk.if target(post-world)
22450565Sphk	@echo
22550565Sphk	@echo "--------------------------------------------------------------"
22650728Sphk	@echo " Making 'post-world' target"
22750565Sphk	@echo "--------------------------------------------------------------"
22850565Sphk	cd ${.CURDIR} && ${MAKE} post-world
22950728Sphk.endif
23050728Sphk	@echo
23150728Sphk	@echo "--------------------------------------------------------------"
23250728Sphk	@echo "make world completed on `LC_TIME=C date`"
23350728Sphk	@echo "--------------------------------------------------------------"
23450728Sphk
23550728Sphk#
23650565Sphk# reinstall
23750565Sphk#
238# If you have a build server, you can NFS mount the source and obj directories
239# and do a 'make reinstall' on the *client* to install new binaries from the
240# most recent server build.
241#
242reinstall:
243	@echo "--------------------------------------------------------------"
244	@echo " Making hierarchy"
245	@echo "--------------------------------------------------------------"
246	cd ${.CURDIR} && ${MAKE} hierarchy
247	@echo
248	@echo "--------------------------------------------------------------"
249	@echo " Installing everything.."
250	@echo "--------------------------------------------------------------"
251	cd ${.CURDIR} && ${MAKE} install
252	@echo
253	@echo "--------------------------------------------------------------"
254	@echo " Rebuilding man page indexes"
255	@echo "--------------------------------------------------------------"
256	cd ${.CURDIR}/share/man && ${MAKE} makedb
257
258
259#
260# update
261#
262# Update the source tree, by running sup and/or running cvs to update to the
263# latest copy.
264#
265update:
266.if defined(SUP_UPDATE)
267	@echo "--------------------------------------------------------------"
268	@echo "Running sup"
269	@echo "--------------------------------------------------------------"
270	@${SUP} ${SUPFLAGS} ${SUPFILE}
271.if defined(SUPFILE1)
272	@${SUP} ${SUPFLAGS} ${SUPFILE1}
273.endif
274.if defined(SUPFILE2)
275	@${SUP} ${SUPFLAGS} ${SUPFILE2}
276.endif
277.endif
278.if defined(CVS_UPDATE)
279	@echo "--------------------------------------------------------------"
280	@echo "Updating /usr/src from cvs repository" ${CVSROOT}
281	@echo "--------------------------------------------------------------"
282	cd ${.CURDIR} &&  cvs -q update -P -d
283.endif
284
285
286#
287# most
288#
289# Build most of the user binaries on the existing system libs and includes.
290#
291most:
292	@echo "--------------------------------------------------------------"
293	@echo " Building programs only"
294	@echo "--------------------------------------------------------------"
295	cd ${.CURDIR}/bin	&&	${MAKE} ${.MAKEFLAGS} all
296	cd ${.CURDIR}/sbin	&&	${MAKE} ${.MAKEFLAGS} all
297	cd ${.CURDIR}/libexec	&&	${MAKE} ${.MAKEFLAGS} all
298	cd ${.CURDIR}/usr.bin	&&	${MAKE} ${.MAKEFLAGS} all
299	cd ${.CURDIR}/usr.sbin	&&	${MAKE} ${.MAKEFLAGS} all
300	cd ${.CURDIR}/gnu/libexec &&	${MAKE} ${.MAKEFLAGS} all
301	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} ${.MAKEFLAGS} all
302	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} ${.MAKEFLAGS} all
303#.if defined(MAKE_EBONES) && !defined(NOCRYPT)
304#	cd ${.CURDIR}/eBones	&&	${MAKE} ${.MAKEFLAGS} most
305#.endif
306#.if !defined(NOSECURE) && !defined(NOCRYPT)
307#	cd ${.CURDIR}/secure	&&	${MAKE} ${.MAKEFLAGS} most
308#.endif
309
310#
311# installmost
312#
313# Install the binaries built by the 'most' target.  This does not include
314# libraries or include files.
315#
316installmost:
317	@echo "--------------------------------------------------------------"
318	@echo " Installing programs only"
319	@echo "--------------------------------------------------------------"
320	cd ${.CURDIR}/bin	&&	${MAKE} ${.MAKEFLAGS} install
321	cd ${.CURDIR}/sbin	&&	${MAKE} ${.MAKEFLAGS} install
322	cd ${.CURDIR}/libexec	&&	${MAKE} ${.MAKEFLAGS} install
323	cd ${.CURDIR}/usr.bin	&&	${MAKE} ${.MAKEFLAGS} install
324	cd ${.CURDIR}/usr.sbin	&&	${MAKE} ${.MAKEFLAGS} install
325	cd ${.CURDIR}/gnu/libexec &&	${MAKE} ${.MAKEFLAGS} install
326	cd ${.CURDIR}/gnu/usr.bin &&	${MAKE} ${.MAKEFLAGS} install
327	cd ${.CURDIR}/gnu/usr.sbin &&	${MAKE} ${.MAKEFLAGS} install
328#.if defined(MAKE_EBONES) && !defined(NOCRYPT)
329#	cd ${.CURDIR}/eBones	&&	${MAKE} ${.MAKEFLAGS} installmost
330#.endif
331#.if !defined(NOSECURE) && !defined(NOCRYPT)
332#	cd ${.CURDIR}/secure	&&	${MAKE} ${.MAKEFLAGS} installmost
333#.endif
334
335#
336# ------------------------------------------------------------------------
337#
338# From here onwards are utility targets used by the 'make world' and
339# related targets.  If your 'world' breaks, you may like to try to fix
340# the problem and manually run the following targets to attempt to
341# complete the build.  Beware, this is *not* guaranteed to work, you
342# need to have a pretty good grip on the current state of the system
343# to attempt to manually finish it.  If in doubt, 'make world' again.
344#
345
346#
347# heirarchy - ensure that all the needed directories are present
348#
349hierarchy:
350	cd ${.CURDIR}/etc &&		${MAKE} distrib-dirs
351
352#
353# bootstrap - [re]build tools needed to run the actual build, this includes
354# tools needed by 'make depend', as some tools are needed to generate source
355# for the dependency information to be gathered from.
356#
357bootstrap:
358	cd ${.CURDIR}/usr.bin/make && ${MAKE} depend && \
359		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
360	cd ${.CURDIR}/usr.bin/xinstall && ${MAKE} depend && \
361		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
362	cd ${.CURDIR}/usr.bin/lex && ${MAKE} bootstrap && ${MAKE} depend && \
363		${MAKE} ${MK_FLAGS} -DNOLIB all install ${CLEANDIR} ${OBJDIR}
364
365#
366# include-tools - generally the same as 'bootstrap', except that it's for
367# things that are specifically needed to generate include files.
368#
369# XXX should be merged with bootstrap, it's not worth keeeping them seperate
370#
371include-tools:
372	cd ${.CURDIR}/usr.bin/rpcgen && ${MAKE} depend && \
373		${MAKE} ${MK_FLAGS} depend all install ${CLEANDIR} ${OBJDIR}
374
375#
376# includes - possibly generate and install the include files.
377#
378includes:
379.if defined(CLOBBER)
380	rm -rf ${DESTDIR}/usr/include/*
381	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
382		-p ${DESTDIR}/usr/include
383.endif
384	cd ${.CURDIR}/include &&		${MAKE} all install
385	cd ${.CURDIR}/gnu/include &&		${MAKE} install
386	cd ${.CURDIR}/gnu/lib/libreadline &&	${MAKE} beforeinstall
387	cd ${.CURDIR}/gnu/lib/libregex &&	${MAKE} beforeinstall
388	cd ${.CURDIR}/gnu/lib/libstdc++ &&      ${MAKE} beforeinstall
389	cd ${.CURDIR}/gnu/lib/libg++ &&         ${MAKE} beforeinstall
390	cd ${.CURDIR}/gnu/lib/libdialog &&      ${MAKE} beforeinstall
391	cd ${.CURDIR}/gnu/lib/libmp &&		${MAKE} beforeinstall
392.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
393	cd ${.CURDIR}/eBones/include &&		${MAKE} beforeinstall
394	cd ${.CURDIR}/eBones/lib/libkrb &&	${MAKE} beforeinstall
395	cd ${.CURDIR}/eBones/lib/libkadm &&	${MAKE} beforeinstall
396.endif
397	cd ${.CURDIR}/lib/csu/i386 &&		${MAKE} beforeinstall
398	cd ${.CURDIR}/lib/libalias &&		${MAKE} beforeinstall
399	cd ${.CURDIR}/lib/libc &&		${MAKE} beforeinstall
400	cd ${.CURDIR}/lib/libcurses &&		${MAKE} beforeinstall
401	cd ${.CURDIR}/lib/libedit &&		${MAKE} beforeinstall
402	cd ${.CURDIR}/lib/libftpio &&		${MAKE} beforeinstall
403	cd ${.CURDIR}/lib/libmd &&		${MAKE} beforeinstall
404	cd ${.CURDIR}/lib/libmytinfo &&         ${MAKE} beforeinstall
405	cd ${.CURDIR}/lib/libncurses &&		${MAKE} beforeinstall
406.if !defined(WANT_CSRG_LIBM)
407	cd ${.CURDIR}/lib/msun &&		${MAKE} beforeinstall
408.endif
409	cd ${.CURDIR}/lib/libpcap &&		${MAKE} beforeinstall
410	cd ${.CURDIR}/lib/librpcsvc &&		${MAKE} beforeinstall
411	cd ${.CURDIR}/lib/libskey &&		${MAKE} beforeinstall
412	cd ${.CURDIR}/lib/libtcl &&		${MAKE} beforeinstall
413	cd ${.CURDIR}/lib/libtermcap &&		${MAKE} beforeinstall
414	cd ${.CURDIR}/lib/libcom_err &&		${MAKE} beforeinstall
415	cd ${.CURDIR}/lib/libss &&		${MAKE} beforeinstall
416	cd ${.CURDIR}/lib/libscsi &&		${MAKE} beforeinstall
417	cd ${.CURDIR}/lib/libutil &&		${MAKE} beforeinstall
418	cd ${.CURDIR}/lib/libz &&		${MAKE} beforeinstall
419
420#
421# lib-tools - build tools to compile and install the libraries.
422#
423lib-tools:
424	cd ${.CURDIR}/usr.bin/tsort && ${MAKE} depend && \
425		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
426	cd ${.CURDIR}/gnu/usr.bin/ld && ${MAKE} depend && \
427		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
428	cd ${.CURDIR}/gnu/usr.bin/as && ${MAKE} depend && \
429		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
430	cd ${.CURDIR}/usr.bin/ar && ${MAKE} depend && \
431		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
432	cd ${.CURDIR}/usr.bin/ranlib && ${MAKE} depend && \
433		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
434	cd ${.CURDIR}/usr.bin/nm && ${MAKE} depend && \
435		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
436	cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
437		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
438	cd ${.CURDIR}/usr.bin/compile_et && ${MAKE} depend && \
439		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR} && \
440		rm -f /usr/sbin/compile_et
441	cd ${.CURDIR}/usr.bin/mk_cmds && ${MAKE} depend && \
442		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
443	cd ${.CURDIR}/usr.bin/uudecode && ${MAKE} depend && \
444		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
445	cd ${.CURDIR}/gnu/usr.bin/bison && ${MAKE} depend && \
446		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
447	cd ${.CURDIR}/gnu/usr.bin/gperf && ${MAKE} depend && \
448		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
449	cd ${.CURDIR}/gnu/usr.bin/cc && ${MAKE} depend && \
450		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
451
452#
453# libraries - build and install the libraries
454#
455libraries:
456.if exists(lib/csu/i386)
457	cd ${.CURDIR}/lib/csu/i386 && ${MAKE} depend && \
458		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
459.endif
460.if exists(lib/libcompat)
461	cd ${.CURDIR}/lib/libcompat && ${MAKE} depend && \
462		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
463.endif
464.if exists(lib/libncurses)
465	cd ${.CURDIR}/lib/libncurses && ${MAKE} depend && \
466		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
467.endif
468.if exists(lib/libtermcap)
469	cd ${.CURDIR}/lib/libtermcap && ${MAKE} depend && \
470		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
471.endif
472.if exists(gnu)
473	cd ${.CURDIR}/gnu/lib && ${MAKE} depend && \
474		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
475.endif
476.if exists(secure) && !defined(NOCRYPT) && !defined(NOSECURE)
477	cd ${.CURDIR}/secure/lib && ${MAKE} depend && \
478		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
479.endif
480.if exists(lib)
481	cd ${.CURDIR}/lib && ${MAKE} depend && \
482		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
483.endif
484.if exists(usr.bin/lex/lib)
485	cd ${.CURDIR}/usr.bin/lex/lib && ${MAKE} depend && \
486		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
487.endif
488.if exists(eBones) && !defined(NOCRYPT) && defined(MAKE_EBONES)
489	cd ${.CURDIR}/eBones/lib && ${MAKE} depend && \
490		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
491.endif
492.if exists(usr.sbin/pcvt/keycap)
493	cd ${.CURDIR}/usr.sbin/pcvt/keycap && ${MAKE} depend && \
494		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
495.endif
496
497#
498# build-tools - build and install any other tools needed to complete the
499# compile and install.
500#
501build-tools:
502.for d in				\
503		share/info		\
504		gnu/usr.bin/texinfo     \
505		usr.bin/symorder	\
506		usr.bin/sgmls		\
507		usr.bin/sgmlfmt		\
508		share/sgml		\
509		usr.sbin/zic		\
510		gnu/usr.bin/awk		\
511		gnu/usr.bin/groff
512	cd ${.CURDIR}/$d && ${MAKE} depend && \
513		${MAKE} ${MK_FLAGS} all install ${CLEANDIR} ${OBJDIR}
514.endfor
515
516.include <bsd.subdir.mk>
517