summaryrefslogtreecommitdiff
path: root/mk/bsd.pkg.subdir.mk
diff options
context:
space:
mode:
authoragc <agc>1997-08-20 10:21:05 +0000
committeragc <agc>1997-08-20 10:21:05 +0000
commitee6a8ec85158ba2df4c45e78de31079f9702ad29 (patch)
tree124cd747911ef0c20d2f00d884b77f87c7a9510d /mk/bsd.pkg.subdir.mk
parent8a311b3069ee79731eec38ca13eb13772cc49223 (diff)
downloadpkgsrc-ee6a8ec85158ba2df4c45e78de31079f9702ad29.tar.gz
Initial import of FreeBSD's ports makefiles.
Diffstat (limited to 'mk/bsd.pkg.subdir.mk')
-rw-r--r--mk/bsd.pkg.subdir.mk145
1 files changed, 145 insertions, 0 deletions
diff --git a/mk/bsd.pkg.subdir.mk b/mk/bsd.pkg.subdir.mk
new file mode 100644
index 00000000000..17d2732eed6
--- /dev/null
+++ b/mk/bsd.pkg.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