diff options
| author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-06-20 14:35:31 +0000 |
|---|---|---|
| committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-06-20 14:35:31 +0000 |
| commit | e308a056f5e24ee9db1709b4c497849656a9e4d1 (patch) | |
| tree | 25f4a3136266ef276a55b791ffe9668544ac1c45 | |
| parent | 78207338545eb5d003f44c9e40cedfe9abed03ab (diff) | |
Notes
| -rw-r--r-- | Mk/bsd.port.mk | 182 |
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: |
