I had to bite the bullet: There's now a port.subdir.mk that does the right

thing with recursive build, configure, bundle or extract targets.
Reviewed by:
Submitted by:
This commit is contained in:
Jordan K. Hubbard 1994-08-22 10:46:38 +00:00
parent 2494a00b49
commit 44204c43cc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=2202
2 changed files with 91 additions and 3 deletions

View File

@ -1,7 +1,7 @@
# bsd.port.mk - 940820 Jordan K. Hubbard.
# This file is in the public domain.
#
# $Id: bsd.port.mk,v 1.7 1994/08/21 17:42:24 jkh Exp $
# $Id: bsd.port.mk,v 1.8 1994/08/21 18:26:10 jkh Exp $
#
# Supported Variables and their behaviors:
@ -171,6 +171,10 @@ clean:
@rm -rf ${WRKDIR}
.endif
.if !target(cleandir)
cleandir: clean
# Depend is generally meaningless for arbitrary ports, but if someone wants
# one they can override this. This is just to catch people who've gotten into
# the habit of typing `make depend all install' as a matter of course.
#
.if !target(depend)
depend:
.endif

View File

@ -0,0 +1,84 @@
# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91
# $Id$
.MAIN: all
STRIP?= -s
BINGRP?= bin
BINOWN?= bin
BINMODE?= 555
_SUBDIRUSE: .USE
@for entry in ${SUBDIR}; do \
(if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \
echo "===> ${DIRPRFX}$${entry}.${MACHINE}"; \
edir=$${entry}.${MACHINE}; \
cd ${.CURDIR}/$${edir}; \
else \
echo "===> ${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(extract)
extract: _SUBDIRUSE
.endif
.if !target(configure)
configure: _SUBDIRUSE
.endif
.if !target(build)
build: _SUBDIRUSE
.endif
.if !target(clean)
clean: _SUBDIRUSE
.endif
.if !target(depend)
depend: _SUBDIRUSE
.endif
.if !target (maninstall)
maninstall: _SUBDIRUSE
.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