aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1996-06-20 14:35:31 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1996-06-20 14:35:31 +0000
commite308a056f5e24ee9db1709b4c497849656a9e4d1 (patch)
tree25f4a3136266ef276a55b791ffe9668544ac1c45
parent78207338545eb5d003f44c9e40cedfe9abed03ab (diff)
downloadports-e308a056f5e24ee9db1709b4c497849656a9e4d1.tar.gz
ports-e308a056f5e24ee9db1709b4c497849656a9e4d1.zip
Merge from HEAD
Notes
Notes: svn path=/branches/RELENG_2_1_0/; revision=3259
-rw-r--r--Mk/bsd.port.mk182
1 files changed, 118 insertions, 64 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 6539d62cd9e8..0add00a4eb21 100644
--- a/Mk/bsd.port.mk
+++ b/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.165.2.5 1996/06/05 02:53:59 jkh Exp $
+# $Id: bsd.port.mk,v 1.210 1996/06/19 09:33:31 asami Exp $
#
# Please view me with 4 column tabs!
@@ -78,12 +78,14 @@
# the "install" target. This is the default if
# USE_IMAKE or USE_X11 is set.
#
-# NO_EXTRACT - Use a dummy (do-nothing) extract target.
-# NO_CONFIGURE - Use a dummy (do-nothing) configure target.
# NO_BUILD - Use a dummy (do-nothing) build target.
-# NO_PACKAGE - Use a dummy (do-nothing) package target.
-# NO_INSTALL - Use a dummy (do-nothing) install target.
+# NO_CONFIGURE - Use a dummy (do-nothing) configure target.
# NO_CDROM - Use dummy (do-nothing) targets if FOR_CDROM is set.
+# NO_DESCRIBE - Use a dummy (do-nothing) describe target.
+# NO_EXTRACT - Use a dummy (do-nothing) extract target.
+# NO_INSTALL - Use a dummy (do-nothing) install target.
+# NO_PACKAGE - Use a dummy (do-nothing) package target.
+# NO_PKG_REGISTER - Don't register a port install as a package.
# NO_WRKSUBDIR - Assume port unpacks directly into ${WRKDIR}.
# NO_WRKDIR - There's no work directory at all; port does this someplace
# else.
@@ -141,8 +143,12 @@
# Arguments to ${EXTRACT_CMD} following filename
# (default: none).
#
-# NCFTP - Full path to ncftp command if not in $PATH (default: ncftp).
-# NCFTPFLAGS - Arguments to ${NCFTP} (default: -N).
+# FETCH_CMD - Full path to ftp/http fetch command if not in $PATH
+# (default: /usr/bin/fetch).
+# FETCH_BEFORE_ARGS -
+# Arguments to ${FETCH_CMD} before filename (default: none).
+# FETCH_AFTER_ARGS -
+# Arguments to ${FETCH_CMD} followingfilename (default: none).
#
# Motif support:
#
@@ -201,6 +207,50 @@
.include "${.CURDIR}/../Makefile.inc"
.endif
+# Support for an encapsulation in /usr/src - these are essentially simplied ports
+# and have a number of defaults we can presume right off the bat.
+.if defined(SRC_ENCAPSULATION)
+.if exists (${.CURDIR}/obj)
+WRKDIR=${.CURDIR}/obj
+.else
+NO_WRKDIR= yes
+.endif
+
+# Disable things that should be disabled for encapsulations.
+NO_PACKAGE= yes
+NO_MTREE= yes
+NO_FETCH= yes
+NO_PKG_REGISTER= yes
+describe:
+ @${DO_NADA}
+
+# Finally, give us working obj and cleandir targets to make us more compatible
+# with "traditional" /usr/src ports.
+.if !target(obj)
+.if defined(NOOBJ)
+obj:
+ @${DO_NADA}
+.else
+obj:
+ @cd ${.CURDIR}; rm -rf obj; here=`pwd`; \
+ dest=/usr/obj`echo $$here | sed 's,^/usr/src,,'`; ${ECHO} "$$here -> $$dest"; \
+ ln -s $$dest obj; if test -d /usr/obj -a ! -d $$dest; then mkdir -p $$dest; fi
+.endif
+.endif
+
+.if !target(cleandir)
+.if defined(NOCLEANDIR)
+cleandir:
+ @${DO_NADA}
+.else
+cleandir: clean
+ @if [ "${WRKDIR}" != "${.CURDIR}" ]; then ${RM} -rf ${WRKDIR}/; fi
+ @rm -f ${.CURDIR}/obj
+.endif
+.endif
+
+.endif
+
# These need to be absolute since we don't know how deep in the ports
# tree we are and thus can't go relative. They can, of course, be overridden
# by individual Makefiles.
@@ -253,7 +303,7 @@ PACKAGE_COOKIE?= ${WRKDIR}/.package_done
# How to do nothing. Override if you, for some strange reason, would rather
# do something.
-DO_NADA?= echo -n
+DO_NADA?= /usr/bin/true
# Miscellaneous overridable commands:
GMAKE?= gmake
@@ -265,8 +315,7 @@ MAKE_FLAGS?= -f
MAKEFILE?= Makefile
MAKE_ENV+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} MOTIFLIB="${MOTIFLIB}" CFLAGS="${CFLAGS}"
-NCFTP?= /usr/bin/ncftp
-NCFTPFLAGS?= -N
+FETCH_CMD?= /usr/bin/fetch
TOUCH?= /usr/bin/touch
TOUCH_FLAGS?= -f
@@ -458,7 +507,7 @@ package:
.if defined(ALL_HOOK)
all:
- @${SETENV} CURDIR=${.CURDIR} DISTNAME=${DISTNAME} \
+ @cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTNAME=${DISTNAME} \
DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} \
PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \
FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} \
@@ -504,6 +553,12 @@ configure: patch
@${TOUCH} ${TOUCH_FLAGS} ${CONFIGURE_COOKIE}
.endif
+# Disable describe
+.if defined(NO_DESCRIBE) && !target(describe)
+describe:
+ @${DO_NADA}
+.endif
+
# Disable build
.if defined(NO_BUILD) && !target(build)
build: configure
@@ -553,8 +608,7 @@ do-fetch:
${ECHO_MSG} ">> $$file doesn't seem to exist on this system."; \
for site in ${MASTER_SITES}; do \
${ECHO_MSG} ">> Attempting to fetch from $${site}."; \
- (${NCFTP} ${NCFTPFLAGS} $${site}$${file} ${NCFTPTAIL} || true); \
- if [ -f $$file -o -f `${BASENAME} $$file` ]; then \
+ if ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${file} ${FETCH_AFTER_ARGS}; then \
continue 2; \
fi \
done; \
@@ -577,8 +631,7 @@ do-fetch:
${ECHO_MSG} ">> $$file doesn't seem to exist on this system."; \
for site in ${PATCH_SITES}; do \
${ECHO_MSG} ">> Attempting to fetch from $${site}."; \
- (${NCFTP} ${NCFTPFLAGS} $${site}$${file} ${NCFTPTAIL} || true); \
- if [ -f $$file -o -f `${BASENAME} $$file` ]; then \
+ if ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${file} ${FETCH_AFTER_ARGS}; then \
continue 2; \
fi \
done; \
@@ -594,10 +647,12 @@ do-fetch:
.if !target(do-extract)
do-extract:
+.if !defined(NO_WRKDIR)
@${RM} -rf ${WRKDIR}
@${MKDIR} -p ${WRKDIR}
+.endif
@for file in ${EXTRACT_ONLY}; do \
- if ! (cd ${WRKDIR};${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${DISTDIR}/$$file ${EXTRACT_AFTER_ARGS});\
+ if !(cd ${WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${DISTDIR}/$$file ${EXTRACT_AFTER_ARGS});\
then \
exit 1; \
fi \
@@ -674,20 +729,20 @@ do-patch:
.if !target(do-configure)
do-configure:
@if [ -f ${SCRIPTDIR}/configure ]; then \
- ${SETENV} CURDIR=${.CURDIR} DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} \
- WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \
- FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} \
- DEPENDS="${DEPENDS}" X11BASE=${X11BASE} \
- /bin/sh ${SCRIPTDIR}/configure; \
+ cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTDIR=${DISTDIR}\
+ WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} \
+ SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \
+ PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} DEPENDS="${DEPENDS}" \
+ X11BASE=${X11BASE} /bin/sh ${SCRIPTDIR}/configure; \
fi
.if defined(HAS_CONFIGURE)
- @(cd ${WRKSRC}; CC="${CC}" ac_cv_path_CC="${CC}" CFLAGS="${CFLAGS}" \
+ @(cd ${WRKSRC} && CC="${CC}" ac_cv_path_CC="${CC}" CFLAGS="${CFLAGS}" \
INSTALL="/usr/bin/install -c -o ${BINOWN} -g ${BINGRP}" \
INSTALL_PROGRAM="/usr/bin/install ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}" \
${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS})
.endif
.if defined(USE_IMAKE)
- @(cd ${WRKSRC}; ${XMKMF})
+ @(cd ${WRKSRC} && ${XMKMF})
.endif
.endif
@@ -707,14 +762,14 @@ do-build:
.if !target(do-install)
do-install:
.if defined(USE_GMAKE)
- @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET})
+ @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET})
.if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES)
- @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} install.man)
+ @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} install.man)
.endif
.else defined(USE_GMAKE)
- @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET})
+ @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET})
.if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES)
- @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} install.man)
+ @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} install.man)
.endif
.endif
.endif
@@ -778,13 +833,13 @@ delete-package:
_PORT_USE: .USE
.if make(real-fetch)
- @${MAKE} ${.MAKEFLAGS} fetch-depends
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} fetch-depends
.endif
.if make(real-extract)
- @${MAKE} ${.MAKEFLAGS} build-depends lib-depends misc-depends
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} build-depends lib-depends misc-depends
.endif
.if make(real-install)
- @${MAKE} ${.MAKEFLAGS} run-depends
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} run-depends
.endif
.if make(real-install)
.if !defined(NO_MTREE)
@@ -796,25 +851,26 @@ _PORT_USE: .USE
fi
.endif
.endif
- @${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/pre-/}
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/pre-/}
@if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/pre-/} ]; then \
- ${SETENV} CURDIR=${.CURDIR} DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} \
+ cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} \
WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \
FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} \
DEPENDS="${DEPENDS}" X11BASE=${X11BASE} \
/bin/sh ${SCRIPTDIR}/${.TARGET:S/^real-/pre-/}; \
fi
- @${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/do-/}
- @${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/post-/}
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/do-/}
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/post-/}
@if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/post-/} ]; then \
- ${SETENV} CURDIR=${.CURDIR} DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} \
- WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \
- FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} \
- DEPENDS="${DEPENDS}" X11BASE=${X11BASE} \
+ cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTDIR=${DISTDIR}\
+ WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} \
+ SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \
+ PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} DEPENDS="${DEPENDS}" \
+ X11BASE=${X11BASE} \
/bin/sh ${SCRIPTDIR}/${.TARGET:S/^real-/post-/}; \
fi
-.if make(real-install)
- @${MAKE} ${.MAKEFLAGS} fake-pkg
+.if make(real-install) && !defined(NO_PKG_REGISTER)
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} fake-pkg
.endif
.if !make(real-fetch) \
&& (!make(real-patch) || !defined(PATCH_CHECK_ONLY)) \
@@ -833,7 +889,7 @@ _PORT_USE: .USE
.if !target(fetch)
fetch:
- @${MAKE} ${.MAKEFLAGS} real-fetch
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-fetch
.endif
.if !target(extract)
@@ -861,17 +917,17 @@ package: install ${PACKAGE_COOKIE}
.endif
${EXTRACT_COOKIE}:
- @${MAKE} ${.MAKEFLAGS} real-extract
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-extract
${PATCH_COOKIE}:
- @${MAKE} ${.MAKEFLAGS} real-patch
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-patch
${CONFIGURE_COOKIE}:
- @${MAKE} ${.MAKEFLAGS} real-configure
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-configure
${BUILD_COOKIE}:
- @${MAKE} ${.MAKEFLAGS} real-build
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
${INSTALL_COOKIE}:
- @${MAKE} ${.MAKEFLAGS} real-install
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-install
${PACKAGE_COOKIE}:
- @${MAKE} ${.MAKEFLAGS} real-package
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-package
# And call the macros
@@ -911,7 +967,7 @@ post-${name}:
.if !target(checkpatch)
checkpatch:
- @${MAKE} PATCH_CHECK_ONLY=yes ${.MAKEFLAGS} patch
+ @cd ${.CURDIR} && ${MAKE} PATCH_CHECK_ONLY=yes ${.MAKEFLAGS} patch
.endif
# Reinstall
@@ -940,12 +996,10 @@ pre-clean:
.if !target(clean)
clean: pre-clean
@${ECHO_MSG} "===> Cleaning for ${PKGNAME}"
- @${RM} -f ${EXTRACT_COOKIE} ${CONFIGURE_COOKIE} ${INSTALL_COOKIE} \
- ${BUILD_COOKIE} ${PATCH_COOKIE}
-.if defined(NO_WRKDIR)
- @${RM} -f ${WRKDIR}/.*_done
+.if !defined(NO_WRKDIR) && !exists(${.CURDIR}/obj)
+ ${RM} -rf ${WRKDIR}
.else
- @${RM} -rf ${WRKDIR}
+ @${RM} -f ${WRKDIR}/.*_done
.endif
.endif
@@ -958,7 +1012,7 @@ fetch-list:
for file in ${DISTFILES}; do \
if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \
for site in ${MASTER_SITES}; do \
- ${ECHO} -n ${NCFTP} ${NCFTPFLAGS} $${site}$${file} "${NCFTPTAIL}" '||' ; \
+ ${ECHO} -n ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${file} "${FETCH_AFTER_ARGS}" '||' ; \
break; \
done; \
${ECHO} "echo $${file} not fetched" ; \
@@ -969,7 +1023,7 @@ fetch-list:
for file in ${PATCHFILES}; do \
if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \
for site in ${PATCH_SITES}; do \
- ${ECHO} -n ${NCFTP} ${NCFTPFLAGS} $${site}$${file} "${NCFTPTAIL}" '||' ; \
+ ${ECHO} -n ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${file} "${FETCH_AFTER_ARGS}" '||' ; \
break; \
done; \
${ECHO} "echo $${file} not fetched" ; \
@@ -997,7 +1051,7 @@ checksum: fetch
else \
(cd ${DISTDIR}; OK=""; \
for file in ${DISTFILES} ${PATCHFILES}; do \
- CKSUM=`${MD5} $$file | ${AWK} '{print $$4}'`; \
+ CKSUM=`${MD5} < $$file`; \
CKSUM2=`${GREP} "($$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
if [ "$$CKSUM2" = "" ]; then \
${ECHO_MSG} ">> No checksum recorded for $$file"; \
@@ -1051,7 +1105,7 @@ pre-repackage:
.if !target(package-noinstall)
package-noinstall:
- @${MAKE} ${.MAKEFLAGS} PACKAGE_NOINSTALL=yes real-package
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} PACKAGE_NOINSTALL=yes real-package
.endif
################################################################
@@ -1060,9 +1114,9 @@ package-noinstall:
.if !target(depends)
depends: lib-depends misc-depends
- @${MAKE} ${.MAKEFLAGS} fetch-depends
- @${MAKE} ${.MAKEFLAGS} build-depends
- @${MAKE} ${.MAKEFLAGS} run-depends
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} fetch-depends
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} build-depends
+ @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} run-depends
.if make(fetch-depends)
DEPENDS_TMP+= ${FETCH_DEPENDS}
@@ -1201,7 +1255,7 @@ depends-list:
#
.if !target(describe)
describe:
- @${ECHO} -n "${PKGNAME}|${.CURDIR}/${PKGNAME}|"
+ @${ECHO} -n "${PKGNAME}|${.CURDIR}|"
@${ECHO} -n "${PREFIX}|"
@if [ -f ${PKGDIR}/COMMENT ]; then \
${ECHO} -n "`${CAT} ${PKGDIR}/COMMENT`"; \
@@ -1214,9 +1268,9 @@ describe:
${ECHO} -n "|/dev/null"; \
fi
@${ECHO} -n "|${MAINTAINER}|${CATEGORIES}|"
- @${ECHO} -n `make depends-list|sort|uniq`
+ @cd ${.CURDIR} && ${ECHO} -n `make depends-list|sort|uniq`
@${ECHO} -n "|"
- @${ECHO} -n `make package-depends|sort|uniq`
+ @cd ${.CURDIR} && ${ECHO} -n `make package-depends|sort|uniq`
@${ECHO} ""
.endif
@@ -1227,7 +1281,7 @@ readmes: readme
.if !target(readme)
readme:
@rm -f README.html
- @make README.html
+ @cd ${.CURDIR} && make README.html
.endif
README.html: