freebsd-dev/share/mk/bsd.subdir.mk
Eivind Eklund 69b87d3e06 Introduce the 'regress' target.
Silently approved by:	-hackers, -current
1998-03-12 20:02:17 +00:00

111 lines
2.6 KiB
Makefile

# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91
# $Id: bsd.subdir.mk,v 1.19 1997/11/15 13:09:52 wosch Exp $
#
# The include file <bsd.subdir.mk> contains the default targets
# for building subdirectories. It has the same seven targets
# as <bsd.prog.mk>:
# all, clean, cleandir, depend, install, lint, and tags.
#
# For all of the directories listed in the variable SUBDIRS, the
# specified directory will be visited and the target made. There is
# also a default target which allows the command "make subdir" where
# subdir is any directory listed in the variable SUBDIRS.
#
#
# +++ variables +++
#
# DISTRIBUTION Name of distribution. [bin]
#
# SUBDIR A list of subdirectories that should be built as well.
# Each of the targets will execute the same target in the
# subdirectories.
#
# +++ targets +++
#
# distribute:
# This is a variant of install, which will
# put the stuff into the right "distribution".
#
# afterdistribute, afterinstall, all, beforeinstall, checkdpadd,
# clean, cleandepend, cleandir, depend, install, lint, maninstall,
# obj, objlink, realinstall, tags
#
.MAIN: all
_SUBDIRUSE: .USE
@for entry in ${SUBDIR}; do \
(if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \
${ECHODIR} "===> ${DIRPRFX}$${entry}.${MACHINE}"; \
edir=$${entry}.${MACHINE}; \
cd ${.CURDIR}/$${edir}; \
else \
${ECHODIR} "===> ${DIRPRFX}$$entry"; \
edir=$${entry}; \
cd ${.CURDIR}/$${edir}; \
fi; \
${MAKE} ${.TARGET:realinstall=install} DIRPRFX=${DIRPRFX}$$edir/); \
done
${SUBDIR}::
@if test -d ${.TARGET}.${MACHINE}; then \
cd ${.CURDIR}/${.TARGET}.${MACHINE}; \
else \
cd ${.CURDIR}/${.TARGET}; \
fi; \
${MAKE} all
.for __target in all checkdpadd clean cleandir depend lint \
maninstall obj objlink regress
.if !target(${__target})
${__target}: _SUBDIRUSE
.endif
.endfor
.if !target(tags)
.if defined(TAGS)
tags:
@cd ${.CURDIR} && gtags ${GTAGSFLAGS}
.if defined(HTML)
@cd ${.CURDIR} && htags ${HTAGSFLAGS}
.endif
.else
tags: _SUBDIRUSE
.endif
.endif
.if !defined(cleandepend)
cleandepend: _SUBDIRUSE
.if defined(TAGS)
@rm -f ${.CURDIR}/GTAGS ${.CURDIR}/GRTAGS
.if defined(HTML)
@rm -rf ${.CURDIR}/HTML
.endif
.endif
.endif
.if !target(install)
.if !target(beforeinstall)
beforeinstall:
.endif
.if !target(afterinstall)
afterinstall:
.endif
install: afterinstall
afterinstall: realinstall
realinstall: beforeinstall _SUBDIRUSE
.endif
DISTRIBUTION?= bin
.if !target(afterdistribute)
afterdistribute:
.endif
.if !target(distribute)
distribute: _SUBDIRUSE
.for dist in ${DISTRIBUTION}
cd ${.CURDIR} ; ${MAKE} afterdistribute DESTDIR=${DISTDIR}/${dist}
.endfor
.endif