version 1.31, 1998/06/29 22:21:16 |
version 1.32, 1998/07/06 22:06:51 |
|
|
|
|
# There are two different types of "maintainers" in the whole ports |
# There are two different types of "maintainers" in the whole ports |
# framework concept. Maintainers of the bsd.port*.mk files |
# framework concept. Maintainers of the bsd.port*.mk files |
# are listed below in the ${OSNAME}_MAINTAINER entries (this file |
# are listed below in the ${OPSYS}_MAINTAINER entries (this file |
# is used by multiple *BSD flavors). You should consult them directly |
# is used by multiple *BSD flavors). You should consult them directly |
# if you have any questions/suggestions regarding this file since only |
# if you have any questions/suggestions regarding this file since only |
# they are allowed to modify the master copies in the CVS repository! |
# they are allowed to modify the master copies in the CVS repository! |
|
|
# OPSYS - Portability clause. This is the operating system the |
# OPSYS - Portability clause. This is the operating system the |
# makefile is being used on. Automatically set to |
# makefile is being used on. Automatically set to |
# "FreeBSD," "NetBSD," or "OpenBSD" as appropriate. |
# "FreeBSD," "NetBSD," or "OpenBSD" as appropriate. |
|
# OPSYS_VER - The current version if the operating system |
# PORTSDIR - The root of the ports tree. Defaults: |
# PORTSDIR - The root of the ports tree. Defaults: |
# FreeBSD/OpenBSD: /usr/ports |
# FreeBSD/OpenBSD: /usr/ports |
# NetBSD: /usr/opt |
# NetBSD: /usr/opt |
|
|
# install - Install the results of a build. |
# install - Install the results of a build. |
# reinstall - Install the results of a build, ignoring "already installed" |
# reinstall - Install the results of a build, ignoring "already installed" |
# flag. |
# flag. |
|
# plist - create a file suitable for use as a packing list. This |
|
# is for port maintainers. |
# package - Create a package from an _installed_ port. |
# package - Create a package from an _installed_ port. |
# describe - Try to generate a one-line description for each port for |
# describe - Try to generate a one-line description for each port for |
# use in INDEX files and the like. |
# use in INDEX files and the like. |
|
|
# NEVER override the "regular" targets unless you want to open |
# NEVER override the "regular" targets unless you want to open |
# a major can of worms. |
# a major can of worms. |
|
|
# Get the operating system type |
# Get the operating system type and version |
OPSYS!= uname -s |
OPSYS!= uname -s |
|
OPSYS_VER!= uname -r |
|
|
# Get the architecture |
# Get the architecture |
ARCH!= uname -m |
ARCH!= uname -m |
|
|
# there is no way to refer to them cleanly from within the macro AFAIK. |
# there is no way to refer to them cleanly from within the macro AFAIK. |
EXTRACT_COOKIE?= ${WRKDIR}/.extract_done |
EXTRACT_COOKIE?= ${WRKDIR}/.extract_done |
CONFIGURE_COOKIE?= ${WRKDIR}/.configure_done |
CONFIGURE_COOKIE?= ${WRKDIR}/.configure_done |
|
INSTALL_PRE_COOKIE?=${WRKDIR}/.install_started |
INSTALL_COOKIE?= ${WRKDIR}/.install_done |
INSTALL_COOKIE?= ${WRKDIR}/.install_done |
BUILD_COOKIE?= ${WRKDIR}/.build_done |
BUILD_COOKIE?= ${WRKDIR}/.build_done |
PATCH_COOKIE?= ${WRKDIR}/.patch_done |
PATCH_COOKIE?= ${WRKDIR}/.patch_done |
|
|
BASENAME?= /usr/bin/basename |
BASENAME?= /usr/bin/basename |
CAT?= /bin/cat |
CAT?= /bin/cat |
CP?= /bin/cp |
CP?= /bin/cp |
|
DIRNAME?= /usr/bin/dirname |
ECHO?= /bin/echo |
ECHO?= /bin/echo |
FALSE?= /usr/bin/false |
FALSE?= /usr/bin/false |
GREP?= /usr/bin/grep |
GREP?= /usr/bin/grep |
|
|
IGNORE= "is only for ${ONLY_FOR_ARCHS}, not ${MACHINE}" |
IGNORE= "is only for ${ONLY_FOR_ARCHS}, not ${MACHINE}" |
.endif |
.endif |
.elif defined(COMES_WITH) |
.elif defined(COMES_WITH) |
OS_VER!= uname -r |
.if ( ${OPSYS_VER} >= ${COMES_WITH} ) |
.if ( ${OS_VER} >= ${COMES_WITH} ) |
|
IGNORE= "comes with ${OPSYS} as of release ${COMES_WITH}" |
IGNORE= "comes with ${OPSYS} as of release ${COMES_WITH}" |
.endif |
.endif |
.endif |
.endif |
|
|
${BUILD_COOKIE}: |
${BUILD_COOKIE}: |
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build |
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build |
${INSTALL_COOKIE}: |
${INSTALL_COOKIE}: |
|
@touch ${INSTALL_PRE_COOKIE} |
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-install |
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-install |
${PACKAGE_COOKIE}: |
${PACKAGE_COOKIE}: |
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-package |
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-package |
|
|
|
|
.if !target(reinstall) |
.if !target(reinstall) |
reinstall: |
reinstall: |
@${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} |
@${RM} -f ${INSTALL_PRE_COOKIE} ${INSTALL_COOKIE} ${PACKAGE_COOKIE} |
@DEPENDS_TARGET=${DEPENDS_TARGET} ${MAKE} install |
@DEPENDS_TARGET=${DEPENDS_TARGET} ${MAKE} install |
.endif |
.endif |
|
|
|
|
exit 1; \ |
exit 1; \ |
fi) ; \ |
fi) ; \ |
fi |
fi |
|
.endif |
|
|
|
# packing list utilities. This generates a packing list from a recently |
|
# installed port. Not perfect, but pretty close. The generated file |
|
# will have to have some tweaks done by hand. |
|
# |
|
.if !target(plist) |
|
plist: install |
|
@${MKDIR} ${PKGDIR} |
|
@(dirs=""; \ |
|
ld=""; \ |
|
${ECHO} "@comment PACKAGE(arch=${ARCH}, opsys=${OPSYS}, vers=${OPSYS_VER})"; \ |
|
${ECHO} "@name ${PKGNAME}"; \ |
|
${ECHO} "@cwd ${PREFIX}"; \ |
|
for f in `${MAKE} package-depends|sort -u`; do ${ECHO} "@pkgdep $$f"; done; \ |
|
for f in `find ${PREFIX} -newer ${INSTALL_PRE_COOKIE} -print 2> /dev/null`; do \ |
|
ff=`${ECHO} $$f | ${SED} -e 's|^${PREFIX}/||'`; \ |
|
if [ -d $$f ]; then dirs="$$ff $$dirs"; \ |
|
else \ |
|
${ECHO} $$ff; \ |
|
if ${ECHO} $$f | ${GREP} -E -q -e '/[^/]+\.so\.[0-9]+\.[0-9]+$$'; then \ |
|
ld="$$LDCONFIG `${DIRNAME} $$f`"; \ |
|
fi; \ |
|
fi; \ |
|
done; \ |
|
for f in $$dirs; do \ |
|
if ${GREP} -q -e `${BASENAME} $$f` ${MTREE_FILE}; then \ |
|
:; \ |
|
else \ |
|
${ECHO} "@dirrm $$f"; \ |
|
fi; \ |
|
done; \ |
|
for f in $$ld; do ${ECHO} "@exec ${LDCONFIG} -m $$f"; done; \ |
|
) > ${PLIST}-auto |
.endif |
.endif |
|
|
################################################################ |
################################################################ |