diff options
author | jkh <jkh@FreeBSD.org> | 1994-08-22 18:46:38 +0800 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1994-08-22 18:46:38 +0800 |
commit | ca7675fd0fdb4a1e2dd9f027bb8a83501eaa635c (patch) | |
tree | bc263ee4a4a0acca7b9e6f54c2757415bc0b74b9 | |
parent | 41e936aaf77eee4ce4dfbb588437d00512e3d336 (diff) | |
download | freebsd-ports-gnome-ca7675fd0fdb4a1e2dd9f027bb8a83501eaa635c.tar.gz freebsd-ports-gnome-ca7675fd0fdb4a1e2dd9f027bb8a83501eaa635c.tar.zst freebsd-ports-gnome-ca7675fd0fdb4a1e2dd9f027bb8a83501eaa635c.zip |
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:
-rw-r--r-- | Mk/bsd.port.mk | 10 | ||||
-rw-r--r-- | Mk/bsd.port.subdir.mk | 84 |
2 files changed, 91 insertions, 3 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 5933bc1cec1d..336a818869d1 100644 --- a/Mk/bsd.port.mk +++ b/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/Mk/bsd.port.subdir.mk b/Mk/bsd.port.subdir.mk new file mode 100644 index 000000000000..16bba7c802b8 --- /dev/null +++ b/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 |