- Add OpenBSD and FreeBSD Ids in the header

- Changes from FreeBSD's V1.164:
        * Warn if mtree-file not found
        * On 'make reinstall' gets DEPENDS_TARGET set
          to 'reinstall' instead of 'install'
  - Changes from OpenBSD's V1.14:
        * Documentation and implementation for ONLY_FOR_ARCHS
        * Documentation and implementation for WRKOBJDIR
        * Documentation on HAVE_MOTIF and MOTIF_STATIC:
          set in /etc/mk.conf, not /etc/make.conf
        * Set NOMANCOMPRESS=no to still compress man-pages
	  (should probably be set to 'yes')
        * DEF_UMASK=022
        * add ${MACHINE} suffix to WRKDIR if OBJMACHINE is set
        * .include <bsd.own.mk>
This commit is contained in:
hubertf 1997-09-28 00:44:15 +00:00
parent 78968c27c9
commit 848315b212
2 changed files with 174 additions and 12 deletions

View file

@ -2,11 +2,14 @@
# ex:ts=4
#
# Id: bsd.port.mk,v 1.263 1997/07/17 17:47:36 markm Exp
# $NetBSD: bsd.pkg.mk,v 1.4 1997/09/25 19:09:32 thorpej Exp $
# $NetBSD: bsd.pkg.mk,v 1.5 1997/09/28 00:44:15 hubertf Exp $
#
# bsd.port.mk - 940820 Jordan K. Hubbard.
# This file is in the public domain.
#
# FreeBSD Id: bsd.port.mk,v 1.264 1996/12/25 02:27:44 imp Exp
# OpenBSD Id: bsd.port.mk,v 1.14 1997/09/21 10:58:41 niklas Exp
#
# Please view me with 4 column tabs!
# There are two different types of "maintainers" in the whole ports
@ -30,6 +33,9 @@ NetBSD_MAINTAINER= agc@netbsd.org
#
# Variables that typically apply to all ports:
#
# ONLY_FOR_ARCHS - If a port only makes sense to certain architectures, this
# is a list containing the names for them. It is checked
# against the predefined ${MACHINE} value
# ARCH - The architecture, as returned by "uname -m".
# OPSYS - Portability clause. This is the operating system the
# makefile is being used on. Automatically set to
@ -60,6 +66,12 @@ NetBSD_MAINTAINER= agc@netbsd.org
# MAINTAINER - The e-mail address of the contact person for this port
# (default: ports@FreeBSD.ORG).
# CATEGORIES - A list of descriptive categories into which this port falls.
# WRKOBJDIR - A top level directory where, if defined, the separate working
# directories will get created, and symbolically linked to from
# ${WRKDIR} (see below). This is useful for building ports on
# several architectures, then ${PORTSDIR} can be NFS-mounted
# while ${WRKOBJDIR} is local to every arch.
#
# Variables that typically apply to an individual port. Non-Boolean
# variables without defaults are *mandatory*.
@ -191,9 +203,12 @@ NetBSD_MAINTAINER= agc@netbsd.org
# REQUIRES_MOTIF - Set this in your port if it requires Motif. It will be
# built only if HAVE_MOTIF is set.
# HAVE_MOTIF - If set, means system has Motif. Typically set in
# /etc/make.conf.
# /etc/make.conf (FreeBSD) or
# /etc/mk.conf (NetBSD, OpenBSD).
# MOTIF_STATIC - If set, link libXm statically; otherwise, link it
# dynamically. Typically set in /etc/make.conf.
# dynamically. Typically set in
# /etc/make.conf (FreeBSD) or
# /etc/mk.conf (NetBSD, OpenBSD).
# MOTIFLIB - Set automatically to appropriate value depending on
# ${MOTIF_STATIC}. Substitute references to -lXm with
# patches to make your port conform to our standards.
@ -259,6 +274,24 @@ NetBSD_MAINTAINER= agc@netbsd.org
# NEVER override the "regular" targets unless you want to open
# a major can of worms.
.if defined(ONLY_FOR_ARCHS)
.for __ARCH in ${ONLY_FOR_ARCHS}
.if ${MACHINE} == "${__ARCH}"
__ARCH_OK= 1
.endif
.endfor
.else
__ARCH_OK= 1
.endif
.if !defined(__ARCH_OK)
.MAIN: all
fetch fetch-list extract patch configure build install reinstall package describe checkpatch checksum makesum all:
@echo "This port is only for ${ONLY_FOR_ARCHS},"
@echo "and you are running ${MACHINE}."
.else
# Get the architecture
ARCH!= uname -m
@ -269,6 +302,16 @@ OPSYS!= uname -s
.include "${.CURDIR}/../Makefile.inc"
.endif
.if (${OPSYS} == "OpenBSD")
NOMANCOMPRESS?= yes
DEF_UMASK?= 022
.elif (${OPSYS} == "NetBSD")
NOMANCOMPRESS?= no # XXX should be yes(?) - hubertf
DEF_UMASK?= 0022
.else
DEF_UMASK?= 0022
.endif
.if exists(${.CURDIR}/Makefile.${ARCH}-${OPSYS})
.include "${.CURDIR}/Makefile.${ARCH}-${OPSYS}"
.elif exists(${.CURDIR}/Makefile.${OPSYS})
@ -293,7 +336,11 @@ _DISTDIR?= ${DISTDIR}/${DIST_SUBDIR}
PACKAGES?= ${PORTSDIR}/packages
TEMPLATES?= ${PORTSDIR}/templates
.if !defined(NO_WRKDIR)
.if defined(OBJMACHINE)
WRKDIR?= ${.CURDIR}/work.${MACHINE}
.else
WRKDIR?= ${.CURDIR}/work
.endif
.else
WRKDIR?= ${.CURDIR}
.endif
@ -303,6 +350,13 @@ WRKSRC?= ${WRKDIR}
WRKSRC?= ${WRKDIR}/${DISTNAME}
.endif
.if defined(WRKOBJDIR)
# XXX Is pwd -P available in FreeBSD's /bin/sh?
__canonical_PORTSDIR!= cd ${PORTSDIR}; pwd -P
__canonical_CURDIR!= cd ${.CURDIR}; pwd -P
PORTSUBDIR= ${__canonical_CURDIR:S,${__canonical_PORTSDIR}/,,}
.endif
.if exists(${.CURDIR}/patches.${ARCH}-${OPSYS})
PATCHDIR?= ${.CURDIR}/patches.${ARCH}-${OPSYS}
.elif exists(${.CURDIR}/patches.${OPSYS})
@ -455,6 +509,12 @@ MTREE_FILE= /etc/mtree/BSD.local.dist
MTREE_CMD?= /usr/sbin/mtree
MTREE_ARGS?= -U -f ${MTREE_FILE} -d -e -p
.if (${OPSYS} == "OpenBSD")
.include <bsd.own.mk>
# XXX Do we need this? - hubertf
#MAKE_ENV+= EXTRA_SYS_MK_INCLUDES="<bsd.own.mk>"
.endif
# A few aliases for *-install targets
INSTALL_PROGRAM= \
${INSTALL} ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}
@ -526,6 +586,7 @@ GZCAT?= /usr/bin/gzcat
GZIP?= -9
GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
LDCONFIG?= /sbin/ldconfig
LN?= /bin/ln
MKDIR?= /bin/mkdir -p
MV?= /bin/mv
RM?= /bin/rm
@ -797,8 +858,12 @@ all: build
.endif
.if !defined(DEPENDS_TARGET)
.if make(reinstall)
DEPENDS_TARGET= reinstall
.else
DEPENDS_TARGET= install
.endif
.endif
################################################################
# The following are used to create easy dummy targets for
@ -929,8 +994,16 @@ do-fetch:
.if !target(do-extract)
do-extract:
.if !defined(NO_WRKDIR)
.if defined(WRKOBJDIR)
@${RM} -rf ${WRKOBJDIR}/${PORTSUBDIR}
@${MKDIR} -p ${WRKOBJDIR}/${PORTSUBDIR}
@echo "${WRKDIR} -> ${WRKOBJDIR}/${PORTSUBDIR}"
@# XXX whatif a build is going on right now? Is this wise?
@${LN} -sf ${WRKOBJDIR}/${PORTSUBDIR} ${WRKDIR}
.else
@${RM} -rf ${WRKDIR}
@${MKDIR} ${WRKDIR}
.endif
.endif
@for file in ${EXTRACT_ONLY}; do \
if ! (cd ${WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/$$file ${EXTRACT_AFTER_ARGS});\
@ -1109,7 +1182,7 @@ _PORT_USE: .USE
exit 1; \
fi
.endif
@if [ `${SH} -c umask` != 0022 ]; then \
@if [ `${SH} -c umask` != ${DEF_UMASK} ]; then \
${ECHO_MSG} "===> Warning: your umask is \"`${SH} -c umask`"\".; \
${ECHO_MSG} " If this is not desired, set it to an appropriate value"; \
${ECHO_MSG} " and install this port again by \`\`make reinstall''."; \
@ -1119,7 +1192,13 @@ _PORT_USE: .USE
.if make(real-install)
.if !defined(NO_MTREE)
@if [ `id -u` = 0 ]; then \
${MTREE_CMD} ${MTREE_ARGS} ${PREFIX}/; \
if [ ! -f ${MTREE_FILE} ]; then \
${ECHO_MSG} "Error: mtree file \"${MTREE_FILE}\" is missing."; \
${ECHO_MSG} "Copy it from a suitable location (e.g., /usr/src/etc/mtree) and try again."; \
exit 1; \
else \
${MTREE_CMD} ${MTREE_ARGS} ${PREFIX}/; \
fi; \
else \
${ECHO_MSG} "Warning: not superuser, can't run mtree."; \
${ECHO_MSG} "Become root and try again to ensure correct permissions."; \
@ -1258,7 +1337,7 @@ checkpatch:
.if !target(reinstall)
reinstall:
@${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
@${MAKE} install
@DEPENDS_TARGET=${DEPENDS_TARGET} ${MAKE} install
.endif
################################################################
@ -1716,3 +1795,5 @@ depend:
.if !target(tags)
tags:
.endif
.endif

View file

@ -2,11 +2,14 @@
# ex:ts=4
#
# Id: bsd.port.mk,v 1.263 1997/07/17 17:47:36 markm Exp
# $NetBSD: bsd.port.mk,v 1.4 1997/09/25 19:09:32 thorpej Exp $
# $NetBSD: bsd.port.mk,v 1.5 1997/09/28 00:44:15 hubertf Exp $
#
# bsd.port.mk - 940820 Jordan K. Hubbard.
# This file is in the public domain.
#
# FreeBSD Id: bsd.port.mk,v 1.264 1996/12/25 02:27:44 imp Exp
# OpenBSD Id: bsd.port.mk,v 1.14 1997/09/21 10:58:41 niklas Exp
#
# Please view me with 4 column tabs!
# There are two different types of "maintainers" in the whole ports
@ -30,6 +33,9 @@ NetBSD_MAINTAINER= agc@netbsd.org
#
# Variables that typically apply to all ports:
#
# ONLY_FOR_ARCHS - If a port only makes sense to certain architectures, this
# is a list containing the names for them. It is checked
# against the predefined ${MACHINE} value
# ARCH - The architecture, as returned by "uname -m".
# OPSYS - Portability clause. This is the operating system the
# makefile is being used on. Automatically set to
@ -60,6 +66,12 @@ NetBSD_MAINTAINER= agc@netbsd.org
# MAINTAINER - The e-mail address of the contact person for this port
# (default: ports@FreeBSD.ORG).
# CATEGORIES - A list of descriptive categories into which this port falls.
# WRKOBJDIR - A top level directory where, if defined, the separate working
# directories will get created, and symbolically linked to from
# ${WRKDIR} (see below). This is useful for building ports on
# several architectures, then ${PORTSDIR} can be NFS-mounted
# while ${WRKOBJDIR} is local to every arch.
#
# Variables that typically apply to an individual port. Non-Boolean
# variables without defaults are *mandatory*.
@ -191,9 +203,12 @@ NetBSD_MAINTAINER= agc@netbsd.org
# REQUIRES_MOTIF - Set this in your port if it requires Motif. It will be
# built only if HAVE_MOTIF is set.
# HAVE_MOTIF - If set, means system has Motif. Typically set in
# /etc/make.conf.
# /etc/make.conf (FreeBSD) or
# /etc/mk.conf (NetBSD, OpenBSD).
# MOTIF_STATIC - If set, link libXm statically; otherwise, link it
# dynamically. Typically set in /etc/make.conf.
# dynamically. Typically set in
# /etc/make.conf (FreeBSD) or
# /etc/mk.conf (NetBSD, OpenBSD).
# MOTIFLIB - Set automatically to appropriate value depending on
# ${MOTIF_STATIC}. Substitute references to -lXm with
# patches to make your port conform to our standards.
@ -259,6 +274,24 @@ NetBSD_MAINTAINER= agc@netbsd.org
# NEVER override the "regular" targets unless you want to open
# a major can of worms.
.if defined(ONLY_FOR_ARCHS)
.for __ARCH in ${ONLY_FOR_ARCHS}
.if ${MACHINE} == "${__ARCH}"
__ARCH_OK= 1
.endif
.endfor
.else
__ARCH_OK= 1
.endif
.if !defined(__ARCH_OK)
.MAIN: all
fetch fetch-list extract patch configure build install reinstall package describe checkpatch checksum makesum all:
@echo "This port is only for ${ONLY_FOR_ARCHS},"
@echo "and you are running ${MACHINE}."
.else
# Get the architecture
ARCH!= uname -m
@ -269,6 +302,16 @@ OPSYS!= uname -s
.include "${.CURDIR}/../Makefile.inc"
.endif
.if (${OPSYS} == "OpenBSD")
NOMANCOMPRESS?= yes
DEF_UMASK?= 022
.elif (${OPSYS} == "NetBSD")
NOMANCOMPRESS?= no # XXX should be yes(?) - hubertf
DEF_UMASK?= 0022
.else
DEF_UMASK?= 0022
.endif
.if exists(${.CURDIR}/Makefile.${ARCH}-${OPSYS})
.include "${.CURDIR}/Makefile.${ARCH}-${OPSYS}"
.elif exists(${.CURDIR}/Makefile.${OPSYS})
@ -293,7 +336,11 @@ _DISTDIR?= ${DISTDIR}/${DIST_SUBDIR}
PACKAGES?= ${PORTSDIR}/packages
TEMPLATES?= ${PORTSDIR}/templates
.if !defined(NO_WRKDIR)
.if defined(OBJMACHINE)
WRKDIR?= ${.CURDIR}/work.${MACHINE}
.else
WRKDIR?= ${.CURDIR}/work
.endif
.else
WRKDIR?= ${.CURDIR}
.endif
@ -303,6 +350,13 @@ WRKSRC?= ${WRKDIR}
WRKSRC?= ${WRKDIR}/${DISTNAME}
.endif
.if defined(WRKOBJDIR)
# XXX Is pwd -P available in FreeBSD's /bin/sh?
__canonical_PORTSDIR!= cd ${PORTSDIR}; pwd -P
__canonical_CURDIR!= cd ${.CURDIR}; pwd -P
PORTSUBDIR= ${__canonical_CURDIR:S,${__canonical_PORTSDIR}/,,}
.endif
.if exists(${.CURDIR}/patches.${ARCH}-${OPSYS})
PATCHDIR?= ${.CURDIR}/patches.${ARCH}-${OPSYS}
.elif exists(${.CURDIR}/patches.${OPSYS})
@ -455,6 +509,12 @@ MTREE_FILE= /etc/mtree/BSD.local.dist
MTREE_CMD?= /usr/sbin/mtree
MTREE_ARGS?= -U -f ${MTREE_FILE} -d -e -p
.if (${OPSYS} == "OpenBSD")
.include <bsd.own.mk>
# XXX Do we need this? - hubertf
#MAKE_ENV+= EXTRA_SYS_MK_INCLUDES="<bsd.own.mk>"
.endif
# A few aliases for *-install targets
INSTALL_PROGRAM= \
${INSTALL} ${COPY} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}
@ -526,6 +586,7 @@ GZCAT?= /usr/bin/gzcat
GZIP?= -9
GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
LDCONFIG?= /sbin/ldconfig
LN?= /bin/ln
MKDIR?= /bin/mkdir -p
MV?= /bin/mv
RM?= /bin/rm
@ -797,8 +858,12 @@ all: build
.endif
.if !defined(DEPENDS_TARGET)
.if make(reinstall)
DEPENDS_TARGET= reinstall
.else
DEPENDS_TARGET= install
.endif
.endif
################################################################
# The following are used to create easy dummy targets for
@ -929,8 +994,16 @@ do-fetch:
.if !target(do-extract)
do-extract:
.if !defined(NO_WRKDIR)
.if defined(WRKOBJDIR)
@${RM} -rf ${WRKOBJDIR}/${PORTSUBDIR}
@${MKDIR} -p ${WRKOBJDIR}/${PORTSUBDIR}
@echo "${WRKDIR} -> ${WRKOBJDIR}/${PORTSUBDIR}"
@# XXX whatif a build is going on right now? Is this wise?
@${LN} -sf ${WRKOBJDIR}/${PORTSUBDIR} ${WRKDIR}
.else
@${RM} -rf ${WRKDIR}
@${MKDIR} ${WRKDIR}
.endif
.endif
@for file in ${EXTRACT_ONLY}; do \
if ! (cd ${WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/$$file ${EXTRACT_AFTER_ARGS});\
@ -1109,7 +1182,7 @@ _PORT_USE: .USE
exit 1; \
fi
.endif
@if [ `${SH} -c umask` != 0022 ]; then \
@if [ `${SH} -c umask` != ${DEF_UMASK} ]; then \
${ECHO_MSG} "===> Warning: your umask is \"`${SH} -c umask`"\".; \
${ECHO_MSG} " If this is not desired, set it to an appropriate value"; \
${ECHO_MSG} " and install this port again by \`\`make reinstall''."; \
@ -1119,7 +1192,13 @@ _PORT_USE: .USE
.if make(real-install)
.if !defined(NO_MTREE)
@if [ `id -u` = 0 ]; then \
${MTREE_CMD} ${MTREE_ARGS} ${PREFIX}/; \
if [ ! -f ${MTREE_FILE} ]; then \
${ECHO_MSG} "Error: mtree file \"${MTREE_FILE}\" is missing."; \
${ECHO_MSG} "Copy it from a suitable location (e.g., /usr/src/etc/mtree) and try again."; \
exit 1; \
else \
${MTREE_CMD} ${MTREE_ARGS} ${PREFIX}/; \
fi; \
else \
${ECHO_MSG} "Warning: not superuser, can't run mtree."; \
${ECHO_MSG} "Become root and try again to ensure correct permissions."; \
@ -1258,7 +1337,7 @@ checkpatch:
.if !target(reinstall)
reinstall:
@${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
@${MAKE} install
@DEPENDS_TARGET=${DEPENDS_TARGET} ${MAKE} install
.endif
################################################################
@ -1716,3 +1795,5 @@ depend:
.if !target(tags)
tags:
.endif
.endif