diff options
-rw-r--r-- | share/mk/bsd.port.mk | 46 | ||||
-rw-r--r-- | share/mk/bsd.port.subdir.mk | 45 |
2 files changed, 87 insertions, 4 deletions
diff --git a/share/mk/bsd.port.mk b/share/mk/bsd.port.mk index 81440f4..d83674b 100644 --- a/share/mk/bsd.port.mk +++ b/share/mk/bsd.port.mk @@ -3,7 +3,7 @@ # bsd.port.mk - 940820 Jordan K. Hubbard. # This file is in the public domain. # -# $Id: bsd.port.mk,v 1.197 1996/03/31 10:02:09 asami Exp $ +# $Id: bsd.port.mk,v 1.198 1996/03/31 10:35:26 asami Exp $ # # Please view me with 4 column tabs! @@ -198,6 +198,7 @@ LOCALBASE?= /usr/local X11BASE?= /usr/X11R6 DISTDIR?= ${PORTSDIR}/distfiles/${DIST_SUBDIR} PACKAGES?= ${PORTSDIR}/packages +TEMPLATES?= ${PORTSDIR}/templates .if !defined(NO_WRKDIR) WRKDIR?= ${.CURDIR}/work .else @@ -323,6 +324,7 @@ PKG_SUFX?= .tgz PKG_DBDIR?= /var/db/pkg ECHO?= /bin/echo +CAT+= /bin/cat CP?= /bin/cp ENV?= /usr/bin/env RM?= /bin/rm @@ -974,10 +976,8 @@ checksum: fetch .if !target(package-name) package-name: -.if !defined(NO_PACKAGE) @${ECHO} ${PKGNAME} .endif -.endif # Show (recursively) all the packages this package depends on. @@ -1172,6 +1172,46 @@ describe: @${ECHO} "" .endif +.if !target(readmes) +readmes: readme +.endif + +.if !target(readme) +readme: + @rm -f README.html + @make README.html +.endif + +README.html: + @${ECHO_MSG} "===> Creating README.html for ${PKGNAME}" + @${CAT} ${TEMPLATES}/README.port | \ + ${SED} -e 's%%PORT%%'`${ECHO} ${.CURDIR} | ${SED} -e 's.*/\([^/]*/[^/]*\)$$\1'`'g' \ + -e 's%%PKG%%${PKGNAME}g' \ + -e '/%%COMMENT%%/r${PKGDIR}/COMMENT' \ + -e '/%%COMMENT%%/d' \ + -e 's%%BUILD_DEPENDS%%'"`${MAKE} print-depends-list`"'' \ + -e 's%%RUN_DEPENDS%%'"`${MAKE} print-package-depends`"'' \ + >> $@ + +.if !target(print-depends-list) +print-depends-list: +.if defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || \ + defined(LIB_DEPENDS) || defined(DEPENDS) + @${ECHO} -n 'This port requires package(s) "' + @${ECHO} -n `make depends-list | sort | uniq` + @${ECHO} '" to build.' +.endif +.endif + +.if !target(print-package-depends) +print-package-depends: +.if defined(RUN_DEPENDS) || defined(LIB_DEPENDS) || defined(DEPENDS) + @${ECHO} -n 'This port requires package(s) "' + @${ECHO} -n `make package-depends | sort | uniq` + @${ECHO} '" to run.' +.endif +.endif + # Fake installation of package so that user can pkg_delete it later. # Also, make sure that an installed port is recognized correctly in # accordance to the @pkgdep directive in the packing lists diff --git a/share/mk/bsd.port.subdir.mk b/share/mk/bsd.port.subdir.mk index 416c332..cc0868c 100644 --- a/share/mk/bsd.port.subdir.mk +++ b/share/mk/bsd.port.subdir.mk @@ -1,5 +1,5 @@ # from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 -# $Id: bsd.port.subdir.mk,v 1.11 1995/03/21 03:59:13 jkh Exp $ +# $Id: bsd.port.subdir.mk,v 1.12 1996/03/24 00:41:10 wosch Exp $ .MAIN: all @@ -105,3 +105,46 @@ tags: _SUBDIRUSE .if !target(checksum) checksum: _SUBDIRUSE .endif + +.if !target(readmes) +readmes: readme _SUBDIRUSE +.endif + +.if !target(readme) +readme: + @rm -f README.html + @make README.html +.endif + +PORTSDIR ?= /usr/ports +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 |