diff options
author | agc <agc@pkgsrc.org> | 1997-08-20 10:21:05 +0000 |
---|---|---|
committer | agc <agc@pkgsrc.org> | 1997-08-20 10:21:05 +0000 |
commit | f3a1a1f048f553082f837d1b40548d4426988d11 (patch) | |
tree | 124cd747911ef0c20d2f00d884b77f87c7a9510d /mk/bsd.port.subdir.mk | |
parent | 8a311b3069ee79731eec38ca13eb13772cc49223 (diff) | |
download | pkgsrc-f3a1a1f048f553082f837d1b40548d4426988d11.tar.gz |
Initial import of FreeBSD's ports makefiles.
Diffstat (limited to 'mk/bsd.port.subdir.mk')
-rw-r--r-- | mk/bsd.port.subdir.mk | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/mk/bsd.port.subdir.mk b/mk/bsd.port.subdir.mk new file mode 100644 index 00000000000..17d2732eed6 --- /dev/null +++ b/mk/bsd.port.subdir.mk @@ -0,0 +1,145 @@ +# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 +# Id: bsd.port.subdir.mk,v 1.19 1997/03/09 23:10:56 wosch Exp +# +# The include file <bsd.port.subdir.mk> contains the default targets +# for building ports subdirectories. +# +# +# +++ variables +++ +# +# STRIP The flag passed to the install program to cause the binary +# to be stripped. This is to be used when building your +# own install script so that the entire system can be made +# stripped/not-stripped using a single knob. [-s] +# +# ECHO_MSG Used to print all the '===>' style prompts - override this +# to turn them off [echo]. +# +# OPSYS Get the operating system type [`uname -s`] +# +# SUBDIR A list of subdirectories that should be built as well. +# Each of the targets will execute the same target in the +# subdirectories. +# +# +# +++ targets +++ +# +# README.html: +# Creating README.html for package. +# +# afterinstall, all, beforeinstall, build, checksum, clean, +# configure, depend, describe, extract, fetch, fetch-list, +# install, package, readmes, realinstall, reinstall, tags +# + + +.MAIN: all + +.if !defined(DEBUG_FLAGS) +STRIP?= -s +.endif + +.if !defined(OPSYS) # XXX !! +OPSYS!= uname -s +.endif + +ECHO_MSG?= echo + +_SUBDIRUSE: .USE + @for entry in ${SUBDIR}; do \ + OK=""; \ + for dud in $$DUDS; do \ + if [ $${dud} = $${entry} ]; then \ + OK="false"; \ + ${ECHO_MSG} "===> ${DIRPRFX}$${entry} skipped"; \ + fi; \ + done; \ + if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \ + edir=$${entry}.${MACHINE}; \ + elif test -d ${.CURDIR}/$${entry}; then \ + edir=$${entry}; \ + else \ + OK="false"; \ + ${ECHO_MSG} "===> ${DIRPRFX}$${entry} non-existent"; \ + fi; \ + if [ "$$OK" = "" ]; then \ + ${ECHO_MSG} "===> ${DIRPRFX}$${edir}"; \ + cd ${.CURDIR}/$${edir}; \ + ${MAKE} ${.TARGET:realinstall=install} \ + DIRPRFX=${DIRPRFX}$$edir/; \ + fi; \ + done + +${SUBDIR}:: + @if test -d ${.TARGET}.${MACHINE}; then \ + cd ${.CURDIR}/${.TARGET}.${MACHINE}; \ + else \ + cd ${.CURDIR}/${.TARGET}; \ + fi; \ + ${MAKE} all + +.for __target in all fetch fetch-list package extract configure \ + build clean depend describe reinstall tags checksum +.if !target(__target) +${__target}: _SUBDIRUSE +.endif +.endfor + +.if !target(install) +.if !target(beforeinstall) +beforeinstall: +.endif +.if !target(afterinstall) +afterinstall: +.endif +install: afterinstall +afterinstall: realinstall +realinstall: beforeinstall _SUBDIRUSE +.endif + +.if !target(readmes) +readmes: readme _SUBDIRUSE +.endif + +.if !target(readme) +readme: + @rm -f README.html + @make README.html +.endif + +.if (${OPSYS} == "NetBSD") +PORTSDIR ?= /usr/opt +.else +PORTSDIR ?= /usr/ports +.endif +TEMPLATES ?= ${PORTSDIR}/templates +.if defined(PORTSTOP) +README= ${TEMPLATES}/README.top +.else +README= ${TEMPLATES}/README.category +.endif + +README.html: + @echo "===> Creating README.html" + @> $@.tmp +.for entry in ${SUBDIR} +.if defined(PORTSTOP) + @echo -n '<a href="'${entry}/README.html'">${entry}</a>: ' >> $@.tmp +.else + @echo -n '<a href="'${entry}/README.html'">'"`cd ${entry}; make package-name`</a>: " >> $@.tmp +.endif +.if exists(${entry}/pkg/COMMENT) + @cat ${entry}/pkg/COMMENT >> $@.tmp +.else + @echo "(no description)" >> $@.tmp +.endif +.endfor + @sort -t '>' +1 -2 $@.tmp > $@.tmp2 + @cat ${README} | \ + sed -e 's%%CATEGORY%%'`echo ${.CURDIR} | sed -e 's.*/\([^/]*\)$$\1'`'g' \ + -e '/%%DESCR%%/r${.CURDIR}/pkg/DESCR' \ + -e '/%%DESCR%%/d' \ + -e '/%%SUBDIR%%/r$@.tmp2' \ + -e '/%%SUBDIR%%/d' \ + > $@ + @rm -f $@.tmp $@.tmp2 |