diff options
author | jkh <jkh@FreeBSD.org> | 1994-08-22 10:46:38 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1994-08-22 10:46:38 +0000 |
commit | 0d91866e580b117b9f5b1b371962589ef849112d (patch) | |
tree | f6a7c7d98f4366bf4329a822acd3a18ed89b3bd9 /share | |
parent | 447559671396aca75ea1d7806d453b891e9026a7 (diff) | |
download | FreeBSD-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.mk | 10 | ||||
-rw-r--r-- | share/mk/bsd.port.subdir.mk | 84 |
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 |