summaryrefslogtreecommitdiff
path: root/Mk/bsd.port.mk
diff options
context:
space:
mode:
authorSatoshi Asami <asami@FreeBSD.org>2000-01-21 11:08:23 +0000
committerSatoshi Asami <asami@FreeBSD.org>2000-01-21 11:08:23 +0000
commitf682f47599b52b74aa0cfda8635dc8ec25c30bca (patch)
tree3c280543ba0b57d8098cd5fcbcd9a8eadafa4b8f /Mk/bsd.port.mk
parentUse YACC rather than bison. (diff)
(1) Add new USE_BISON directive, which will expand to BUILD_DEPENDS on
4-current post bison-removal and to a no-op otherwise. Note this should only be used when the software in question uses a feature in bison that is not in byacc -- otherwise it should be patched to use byacc (or detect the absense of bison correctly). [bsd.port.mk] (2) Do not assume all category names are lowercase. In particular, remove package links by removing them one by one, instead of doing a "rm [a-z]*/${PKGNAME}.tgz". [bsd.port.mk] (3) Do not assume the category name doesn't include a path separator (/). Make links accordingly. [bsd.port.mk,README.category,README.port] (4) Do not assume all category makefiles are directly under ${PORTSDIR}. [bsd.port.mk,README.category] (5) Add new "package-name" target which prints out the directory name to be used in the parent README.html. [bsd.port.subdir.mk] (2) through (5) are in preparation for going to multi-level categories. They shouldn't make any difference yet, but are committed first so people can start testing.
Diffstat (limited to 'Mk/bsd.port.mk')
-rw-r--r--Mk/bsd.port.mk20
1 files changed, 15 insertions, 5 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 1a4b590b3269..03d377a9ef11 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -138,6 +138,7 @@ FreeBSD_MAINTAINER= asami@FreeBSD.org
# PERL_VER - Short version of perl5 (see below for current value).
# PERL_ARCH - Directory name of architecture dependent libraries
# (value: ${ARCH}-freebsd).
+# USE_BISON - Says that the port uses bison for building.
# USE_IMAKE - Says that the port uses imake. Implies USE_X_PREFIX.
# XMKMF - Set to path of `xmkmf' if not in $PATH (default: xmkmf -a ).
# NO_INSTALL_MANPAGES - For imake ports that don't like the install.man
@@ -661,6 +662,12 @@ BUILD_DEPENDS+= ${X11BASE}/lib/libXm.a:${PORTSDIR}/x11-toolkits/Motif-dummy
PKG_IGNORE_DEPENDS?= '(XFree86-3\.3\.6|Motif-2\.1\.10)'
+.if defined(USE_BISON)
+.if ${OSVERSION} >= 400014
+BUILD_DEPENDS+= bison:${PORTSDIR}/devel/bison
+.endif
+.endif
+
.if ${OSVERSION} >= 300000
PERL_VERSION= 5.00503
.else
@@ -1116,8 +1123,6 @@ check-categories:
.endfor
.endif
-# Note this has to start with a capital letter (or more accurately, it
-# shouldn't match "[a-z]*"), see the target "delete-package-links" below.
PKGREPOSITORYSUBDIR?= All
PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR}
.if exists(${PACKAGES})
@@ -1715,7 +1720,7 @@ package-links:
exit 1; \
fi; \
fi; \
- ${LN} -s ../${PKGREPOSITORYSUBDIR}/${PKGNAME}${PKG_SUFX} ${PACKAGES}/$$cat; \
+ ${LN} -sf `${ECHO} $$cat | ${SED} -e 'sa[^/]*a..ag'`/${PKGREPOSITORYSUBDIR}/${PKGNAME}${PKG_SUFX} ${PACKAGES}/$$cat; \
done
.if !defined(NO_LATEST_LINK)
@if [ ! -d ${PKGLATESTREPOSITORY} ]; then \
@@ -1730,7 +1735,9 @@ package-links:
.if !target(delete-package-links)
delete-package-links:
- @${RM} -f ${PACKAGES}/[a-z]*/${PKGNAME}${PKG_SUFX}
+ @for cat in ${CATEGORIES}; do \
+ ${RM} -f ${PACKAGES}/$$cat/${PKGNAME}${PKG_SUFX}; \
+ done
.if !defined(NO_LATEST_LINK)
@${RM} -f ${PKGLATESTFILE}
.endif
@@ -1744,7 +1751,9 @@ delete-package:
.if !target(delete-package-links-list)
delete-package-links-list:
- @${ECHO} ${RM} -f ${PACKAGES}/[a-z]*/${PKGNAME}${PKG_SUFX}
+ @for cat in ${CATEGORIES}; do \
+ ${ECHO} ${RM} -f ${PACKAGES}/$$cat/${PKGNAME}${PKG_SUFX}; \
+ done
.if !defined(NO_LATEST_LINK)
@${ECHO} ${RM} -f ${PKGLATESTFILE}
.endif
@@ -2540,6 +2549,7 @@ README.html:
-e '/%%COMMENT%%/d' \
-e 's%%BUILD_DEPENDS%%'"`${MAKE} ${__softMAKEFLAGS} pretty-print-build-depends-list`"'' \
-e 's%%RUN_DEPENDS%%'"`${MAKE} ${__softMAKEFLAGS} pretty-print-run-depends-list`"'' \
+ -e 's%%TOP%%'"`${ECHO} ${CATEGORIES} | ${SED} -e 'sa .*aa' -e 'sa[^/]*a..ag'`"'/..' \
>> $@
# The following two targets require an up-to-date INDEX in ${PORTSDIR}