summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1994-08-22 10:46:38 +0000
committerjkh <jkh@FreeBSD.org>1994-08-22 10:46:38 +0000
commit0d91866e580b117b9f5b1b371962589ef849112d (patch)
treef6a7c7d98f4366bf4329a822acd3a18ed89b3bd9 /share
parent447559671396aca75ea1d7806d453b891e9026a7 (diff)
downloadFreeBSD-src-0d91866e580b117b9f5b1b371962589ef849112d.zip
FreeBSD-src-0d91866e580b117b9f5b1b371962589ef849112d.tar.gz
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:
Diffstat (limited to 'share')
-rw-r--r--share/mk/bsd.port.mk10
-rw-r--r--share/mk/bsd.port.subdir.mk84
2 files changed, 91 insertions, 3 deletions
diff --git a/share/mk/bsd.port.mk b/share/mk/bsd.port.mk
index 5933bc1..336a818 100644
--- a/share/mk/bsd.port.mk
+++ b/share/mk/bsd.port.mk
@@ -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
diff --git a/share/mk/bsd.port.subdir.mk b/share/mk/bsd.port.subdir.mk
new file mode 100644
index 0000000..16bba7c
--- /dev/null
+++ b/share/mk/bsd.port.subdir.mk
@@ -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
OpenPOWER on IntegriCloud