freebsd-nq/share/mk/bsd.subdir.mk
Poul-Henning Kamp 55ff8fb132 Add a new "distribute" target. This is a variant of install, which will
put the stuff into the right "distribution".  As default things end up
in "bindist".

Normal (ie: most) makefiles know naught of this.

More commits will follow, which will direct various parts of the tree
into the distribution we want them in.

Some of the grief of being release-engineer is supposed to go away with this.
1994-11-13 21:05:28 +00:00

89 lines
1.5 KiB
Makefile

# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91
# $Id: bsd.subdir.mk,v 1.4 1994/09/16 14:30:25 jkh Exp $
.MAIN: all
.if !defined(DEBUG_FLAGS)
STRIP?= -s
.endif
BINGRP?= bin
BINOWN?= bin
BINMODE?= 555
_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
.if !target(all)
all: _SUBDIRUSE
.endif
.if !target(clean)
clean: _SUBDIRUSE
.endif
.if !target(cleandir)
cleandir: _SUBDIRUSE
.endif
.if !target(depend)
depend: _SUBDIRUSE
.endif
.if !target (maninstall)
maninstall: _SUBDIRUSE
.endif
DISTRIBUTION?= bindist
.if !target(afterdistribute)
afterdistribute:
.endif
.if !target(distribute)
distribute: _SUBDIRUSE
cd ${.CURDIR} ; ${MAKE} afterdistribute DESTDIR=${RELEASEDIR}/${DISTRIBUTION}
.endif
.if !target(install)
.if !target(beforeinstall)
beforeinstall:
.endif
.if !target(afterinstall)
afterinstall:
.endif
install: afterinstall
afterinstall: realinstall
realinstall: beforeinstall _SUBDIRUSE
.endif
.if !target(lint)
lint: _SUBDIRUSE
.endif
.if !target(obj)
obj: _SUBDIRUSE
.endif
.if !target(tags)
tags: _SUBDIRUSE
.endif