1995-04-09 10:24:09 +00:00
#-*- mode: Fundamental; tab-width: 4; -*-
1996-11-03 07:51:59 +00:00
# ex:ts=4
1994-09-11 12:01:05 +00:00
#
1998-10-30 08:28:02 +00:00
# $Id: bsd.port.mk,v 1.293 1998/10/09 01:27:21 asami Exp $
1996-11-01 07:22:37 +00:00
# $NetBSD: $
#
1994-08-21 13:12:57 +00:00
# bsd.port.mk - 940820 Jordan K. Hubbard.
# This file is in the public domain.
#
1994-09-10 22:26:47 +00:00
# Please view me with 4 column tabs!
1997-04-21 00:24:51 +00:00
# There are two different types of "maintainers" in the whole ports
# framework concept. Maintainers of the bsd.port*.mk files
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# are listed below in the ${OPSYS}_MAINTAINER entries (this file
1997-04-21 00:24:51 +00:00
# is used by multiple *BSD flavors). You should consult them directly
# if you have any questions/suggestions regarding this file since only
# they are allowed to modify the master copies in the CVS repository!
1997-01-12 12:37:48 +00:00
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
FreeBSD_MAINTAINER = asami@FreeBSD.ORG
OpenBSD_MAINTAINER = imp@OpenBSD.ORG
1997-04-21 00:24:51 +00:00
# For each port, the MAINTAINER variable is what you should consult for
# contact information on the person(s) to contact if you have questions/
# suggestions about that specific port. By default (if no MAINTAINER
# is listed), a port is maintained by the subscribers of the ports@freebsd.org
# mailing list, and any correspondece should be directed there.
#
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# MAINTAINER - The e-mail address of the contact person for this port
# (default: ports@FreeBSD.ORG).
1994-08-21 13:12:57 +00:00
#
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# These are meta-variables that are automatically set to the system
# you are running on.
1994-08-28 14:41:34 +00:00
#
1997-07-10 02:29:51 +00:00
# ARCH - The architecture, as returned by "uname -m".
1996-11-01 07:22:37 +00:00
# OPSYS - Portability clause. This is the operating system the
# makefile is being used on. Automatically set to
1997-01-12 12:37:48 +00:00
# "FreeBSD," "NetBSD," or "OpenBSD" as appropriate.
1998-08-05 09:29:13 +00:00
# OSREL - The release version (numeric) of the operating system.
1998-09-10 06:38:02 +00:00
# PORTOBJFORMAT - The object format ("aout" or "elf").
1995-01-04 08:30:33 +00:00
#
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# These variables are used to identify your port.
#
# DISTNAME - Name of port or distribution.
# PKGNAME - Name of the package file to create if the DISTNAME
# isn't really relevant for the port/package
# (default: ${DISTNAME}).
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
# CATEGORIES - A list of descriptive categories into which this port falls.
1994-08-28 14:41:34 +00:00
#
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# These variable describe how to fetch files required for building the port.
1994-08-28 14:41:34 +00:00
#
1994-09-10 22:26:47 +00:00
# DISTFILES - Name(s) of archive file(s) containing distribution
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# (default: ${DISTNAME}${EXTRACT_SUFX}). Set this to
# an empty string if the port doesn't require it.
# EXTRACT_SUFX - Suffix for archive names (default: .tar.gz). You
# never have to set both DISTFILES and EXTRACT_SUFX.
# MASTER_SITES - Primary location(s) for distribution files if not found
# locally.
1996-02-08 00:44:33 +00:00
# PATCHFILES - Name(s) of additional files that contain distribution
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
# patches (default: none). make will look for them at
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# PATCH_SITES (see below). They will automatically be
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
# uncompressed before patching if the names end with
# ".gz" or ".Z".
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# PATCH_SITES - Primary location(s) for distribution patch files
# if not found locally.
1996-11-30 10:31:50 +00:00
# DIST_SUBDIR - Suffix to ${DISTDIR}. If set, all ${DISTFILES}
1996-03-10 08:26:21 +00:00
# and ${PATCHFILES} will be put in this subdirectory of
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# ${DISTDIR} (see below). Also they will be fetched in
# this subdirectory from FreeBSD mirror sites.
1996-12-17 12:20:53 +00:00
# ALLFILES - All of ${DISTFILES} and ${PATCHFILES}.
# IGNOREFILES - If some of the ${ALLFILES} are not checksum-able, set
# this variable to their names.
1994-12-10 18:07:38 +00:00
# EXTRACT_ONLY - If defined, a subset of ${DISTFILES} you want to
# actually extract.
1994-08-21 13:12:57 +00:00
#
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# These three variables are typically set in /etc/make.conf to indicate
# the user's preferred location to fetch files from.
#
# MASTER_SITE_BACKUP - Backup location(s) for distribution files and patch
# files if not found locally and ${MASTER_SITES}/${PATCH_SITES}
# (default:
# ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/)
# MASTER_SITE_OVERRIDE - If set, override the MASTER_SITES setting with this
# value.
# MASTER_SITE_FREEBSD - If set, only use ${MASTER_SITE_BACKUP} for
# MASTER_SITES.
#
# Set these if your port should not be built under certain circumstances.
# These are string variables; you should set them to the reason why
# they are necessary.
#
# RESTRICTED - Port is restricted (e.g., contains cryptography, etc.).
# NO_CDROM - Port may not go on CDROM.
# NO_PACKAGE - Port should not be packaged but distfiles can be put on
# ftp sites and CDROMs.
1998-09-22 23:58:49 +00:00
# BROKEN_ELF - Port doesn't build on ELF machines.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# BROKEN - Port is broken.
#
# This variable is a boolean, so you don't need to set it to the reason.
#
# IS_INTERACTIVE - Set this if your port needs to interact with the user
# during a build. User can then decide to skip this port by
# setting ${BATCH}, or compiling only the interactive ports
# by setting ${INTERACTIVE}.
#
# Use these if your port uses some of the common software packages.
#
1994-09-10 22:26:47 +00:00
# USE_GMAKE - Says that the port uses gmake.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# GMAKE - Set to path of GNU make if not in $PATH (default: gmake).
1998-01-02 10:37:14 +00:00
# USE_AUTOCONF - Says that the port uses autoconf. Implies GNU_CONFIGURE.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# AUTOCONF - Set to path of GNU autoconf if not in $PATH (default:
# autoconf).
1997-06-24 07:16:21 +00:00
# USE_PERL5 - Says that the port uses perl5 for building and running.
1998-09-16 12:04:38 +00:00
# PERL5 - Set to full path of perl5, either in the system or
# installed from a port.
1998-10-06 21:12:14 +00:00
# PERL - Set to full path of perl5, either in the system or
# installed from a port, but without the version number.
# Use this if you need to replace "#!" lines in scripts.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# PERL_VERSION - Full version of perl5 (see below for current value).
# PERL_VER - Short version of perl5 (see below for current value).
1998-08-05 09:29:13 +00:00
# USE_IMAKE - Says that the port uses imake. Implies USE_X_PREFIX.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# XMKMF - Set to path of `xmkmf' if not in $PATH (default: xmkmf -a ).
1994-12-10 18:07:38 +00:00
# NO_INSTALL_MANPAGES - For imake ports that don't like the install.man
1994-12-11 14:12:30 +00:00
# target.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# USE_X_PREFIX - Says that the port installs in ${X11BASE}. Implies USE_XLIB.
# USE_XLIB - Says that the port uses X libraries.
# USE_QT - Says that the port uses the latest version of qt toolkit.
#
# Dependency checking. Use these if your port requires another port
# not in the list above.
#
# FETCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
1996-08-20 10:00:33 +00:00
# package depends in the "fetch" stage. "path" is the
# name of a file if it starts with a slash (/), an
# executable otherwise. make will test for the
# existence (if it is a full pathname) or search for
# it in your $PATH (if it is an executable) and go
# into "dir" to do a "make all install" if it's not
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# found. If the third field ("target") exists, it will
# be used instead of ${DEPENDS_TARGET}.
# BUILD_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
1996-08-20 10:00:33 +00:00
# package depends to build (between the "extract" and
# "build" stages, inclusive). The test done to
# determine the existence of the dependency is the
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# same as FETCH_DEPENDS. If the third field ("target")
# exists, it will be used instead of ${DEPENDS_TARGET}.
# RUN_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
1996-08-20 10:00:33 +00:00
# package depends to run. The test done to determine
# the existence of the dependency is the same as
# FETCH_DEPENDS. This will be checked during the
# "install" stage and the name of the dependency will
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# be put into the package as well. If the third field
# ("target") exists, it will be used instead of
# ${DEPENDS_TARGET}.
# LIB_DEPENDS - A list of "lib:dir[:target]" tuples of other ports this
# package depends on. "lib" is the name of a shared library.
1995-02-04 05:49:26 +00:00
# make will use "ldconfig -r" to search for the
1998-09-16 12:04:38 +00:00
# library. Note that lib can not contain regular expressions.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# DEPENDS - A list of "dir[:target]" tuples of other ports this
# package depends on being made first. Use this only for
# things that don't fall into the above four categories.
# If the second field ("target") exists, it will be used
# instead of ${DEPENDS_TARGET}.
# DEPENDS_TARGET - The default target to execute when a port is calling a
# dependency (default: "install").
1994-09-09 06:21:43 +00:00
#
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# Various directory definitions and variables to control them.
# You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR.
#
# X11BASE - Where X11 ports install things (default: /usr/X11R6).
# LOCALBASE - Where non-X11 ports install things (default: /usr/local).
# PREFIX - Where *this* port installs its files (default: ${X11BASE}
# if USE_X_PREFIX is set, otherwise ${LOCALBASE}).
# PORTSDIR - The root of the ports tree. Defaults:
# FreeBSD/OpenBSD: /usr/ports
# NetBSD: /usr/opt
# DISTDIR - Where to get gzip'd, tarballed copies of original sources
# (default: ${PORTSDIR}/distfiles).
# PACKAGES - A top level directory where all packages go (rather than
# going locally to each port). (default: ${PORTSDIR}/packages).
1998-10-06 21:12:14 +00:00
# WRKDIRPREFIX - The place to root the temporary working directory
# hierarchy (default: none).
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# WRKDIR - A temporary working directory that gets *clobbered* on clean
1998-10-06 21:12:14 +00:00
# (default: ${WRKDIRPREFIX}${.CURDIR}/work).
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# WRKSRC - A subdirectory of ${WRKDIR} where the distribution actually
# unpacks to. (Default: ${WRKDIR}/${DISTNAME} unless
# NO_WRKSUBDIR is set, in which case simply ${WRKDIR}).
# NO_WRKSUBDIR - Assume port unpacks directly into ${WRKDIR}.
# NO_WRKDIR - There's no work directory at all; port does this someplace
# else.
# PATCHDIR - A directory containing any additional patches you made
# to port this software to FreeBSD (default:
# ${.CURDIR}/patches)
# SCRIPTDIR - A directory containing any auxiliary scripts
# (default: ${.CURDIR}/scripts)
# FILESDIR - A directory containing any miscellaneous additional files.
# (default: ${.CURDIR}/files)
# PKGDIR - A direction containing any package creation files.
# (default: ${.CURDIR}/pkg)
1994-09-09 06:21:43 +00:00
#
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
# Motif support:
#
# 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.
# MOTIF_STATIC - If set, link libXm statically; otherwise, link it
1996-08-15 05:55:33 +00:00
# dynamically. Typically set in /etc/make.conf.
# MOTIFLIB - Set automatically to appropriate value depending on
# ${MOTIF_STATIC}. Substitute references to -lXm with
# patches to make your port conform to our standards.
1997-01-12 11:48:26 +00:00
# MOTIF_ONLY - If set, build Motif ports only. (Not much use except for
# building packages.)
1994-08-21 13:12:57 +00:00
#
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
# Variables that serve as convenient "aliases" for your *-install targets.
1996-08-15 05:55:33 +00:00
# Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin".
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
#
1996-08-15 05:55:33 +00:00
# INSTALL_PROGRAM - A command to install binary executables.
# INSTALL_SCRIPT - A command to install executable scripts.
# INSTALL_DATA - A command to install sharable data.
# INSTALL_MAN - A command to install manpages (doesn't compress).
#
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# Set the following to specify all manpages that your port installs.
# These manpages will be automatically listed in ${PLIST}. Depending
# on the setting of NOMANCOMPRESS, the make rules will compress the
# manpages for you.
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
#
# MAN<sect> - A list of manpages, categorized by section. For
# example, if your port has "man/man1/foo.1" and
# "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n".
# The available sections chars are "123456789LN".
1998-09-10 06:38:02 +00:00
# MLINKS - A list of <target, source> tuples for creating links
# for manpages. For example, "MLINKS= a.1 b.1 c.3 d.3"
# will do an "ln -sf a.1 b.1" and "ln -sf c.3 and d.3" in
# appropriate directories. (Use this even if the port
# installs its own manpage links so they will show up
# correctly in ${PLIST}.)
# MANPREFIX - The directory prefix for ${MAN<sect>} and ${MLINKS}
# (default: ${PREFIX}).
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# MAN<sect>PREFIX - If manual pages of some sections install in different
# locations than others, use these (default: ${MANPREFIX}).
# MANCOMPRESSED - This variable can take values "yes", "no" or
# "maybe". "yes" means manpages are installed
# compressed; "no" means they are not; "maybe" means
# it changes depending on the value of
# NOMANCOMPRESS. The default is "yes" if USE_IMAKE
# is set and NO_INSTALL_MANPAGES is not set, and
# "no" otherwise.
1996-11-01 07:22:37 +00:00
#
1998-10-30 08:28:02 +00:00
# If your port wants the package to be built with several options,
# set the following variables.
#
# LOOP_VAR - The name of the variable.
# LOOP_OPTIONS - The value of the options.
#
# If they are set, there will be a target "package-loop" which will
# iterate several times, each time cleaning up afterwards, with the
# value of ${LOOP_VAR} set to one of ${LOOP_OPTIONS}. In addition,
# the "describe" target will print out multiple lines with the variable
# set accordingly.
#
1994-08-21 13:12:57 +00:00
# Default targets and their behaviors:
#
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
# fetch - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined)
# into ${DISTDIR} as necessary.
1995-03-21 03:59:13 +00:00
# fetch-list - Show list of files that would be retrieved by fetch
1994-09-10 22:26:47 +00:00
# extract - Unpacks ${DISTFILES} into ${WRKDIR}.
1994-11-17 00:18:28 +00:00
# patch - Apply any provided patches to the source.
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
# configure - Runs either GNU configure, one or more local configure
# scripts or nothing, depending on what's available.
1994-09-10 22:26:47 +00:00
# build - Actually compile the sources.
# install - Install the results of a build.
1994-11-03 19:14:08 +00:00
# reinstall - Install the results of a build, ignoring "already installed"
# flag.
1998-01-02 10:37:14 +00:00
# deinstall - Remove the installation.
1995-01-23 18:22:36 +00:00
# package - Create a package from an _installed_ port.
1995-01-04 07:35:46 +00:00
# describe - Try to generate a one-line description for each port for
# use in INDEX files and the like.
1995-06-24 10:27:23 +00:00
# checkpatch - Do a "patch -C" instead of a "patch". Note that it may
# give incorrect results if multiple patches deal with
# the same file.
1996-03-10 08:26:21 +00:00
# checksum - Use files/md5 to ensure that your distfiles are valid.
# makesum - Generate files/md5 (only do this for your own ports!).
1994-09-09 06:21:43 +00:00
#
1995-04-20 18:03:02 +00:00
# Default sequence for "all" is: fetch checksum extract patch configure build
#
# Please read the comments in the targets section below, you
# should be able to use the pre-* or post-* targets/scripts
# (which are available for every stage except checksum) or
# override the do-* targets to do pretty much anything you want.
#
# NEVER override the "regular" targets unless you want to open
# a major can of worms.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# Set these variables if your port doesn't need some of the steps.
# Note that there are no NO_PATCH or NO_CONFIGURE variables becuase
# those steps are empty by default. Also, NO_CHECKSUM is a user variable
# and is not to be set in a port's Makefile. See above for NO_PACKAGE.
#
# NO_EXTRACT - Use a dummy (do-nothing) extract target.
# NO_BUILD - Use a dummy (do-nothing) build target.
# NO_INSTALL - Use a dummy (do-nothing) install target.
#
# Here are some variables used in various stages.
#
# For fetch:
#
# 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} following filename (default: none).
#
# For extract:
#
# EXTRACT_CMD - Command for extracting archive (default: tar).
# EXTRACT_BEFORE_ARGS -
# Arguments to ${EXTRACT_CMD} before filename
# (default: -xzf).
# EXTRACT_AFTER_ARGS -
# Arguments to ${EXTRACT_CMD} following filename
# (default: none).
#
# For configure:
#
# HAS_CONFIGURE - Says that the port has its own configure script. The
# configure stage will not do anything if this is not set.
# GNU_CONFIGURE - Set if you are using GNU configure (optional). Implies
# HAS_CONFIGURE.
# CONFIGURE_SCRIPT - Name of configure script (defaults: configure).
# CONFIGURE_ARGS - Pass these args to configure if ${HAS_CONFIGURE} is set.
# CONFIGURE_ENV - Pass these env (shell-like) to configure if
# ${HAS_CONFIGURE} is set.
#
# For build and install:
#
# MAKE_ENV - Additional environment vars passed to sub-make in build
# and install stages (default: see below).
#
# For install:
#
# NO_MTREE - If set, will not invoke mtree from bsd.port.mk from
# the "install" target.
# MTREE_FILE - The name of the mtree file (default: /etc/mtree/BSD.x11.dist
# if USE_X_PREFIX is set, /etc/mtree/BSD.local.dist
# otherwise.)
# PLIST - Name of the `packing list' file (default: ${PKGDIR}/PLIST).
# Change this to ${WRKDIR}/PLIST or something if you
# need to write to it. (It is not a good idea for a port
# to write to any file outside ${WRKDIR} during a normal
# build.)
# TMPPLIST - Name of the `packing list' file after processing
# (default: ${WRKDIR}/.PLIST.mktmp).
# PLIST_SUB - List of "variable=value" pair for substitution in ${PLIST}
# (default: see below).
#
# Note that the install target will automatically add manpages (see
# above) and also substitute special sequences of characters (delimited
# by "%%") as defined in PLIST_SUB to generate ${TMPPLIST}. For
# instance, "OSREL=${OSREL}" in PLIST_SUB causes all occurrences of
# "%%OSREL%%" in ${PLIST} to be substituted by the value of OSREL.
# ${TMPPLIST} is generated between the do-install and post-install
# stages. If you are generating the packing list on-the-fly, make
# sure it's generated by the end of do-install!
#
# For package:
#
# NO_LATEST_LINK - Do not install the "Latest" link for package. Define this
# if this port is a beta version of another stable port
# which is also in the tree.
#
# This is used in all stages:
#
# SCRIPTS_ENV - Additional environment vars passed to scripts in
# ${SCRIPTDIR} executed by bsd.port.mk (default: see below).
#
# Finally, variables to change if you want a special behavior. These
# are for debugging purposes. Don't set them in your Makefile.
#
# ECHO_MSG - Used to print all the '===>' style prompts - override this
# to turn them off (default: /bin/echo).
# PATCH_DEBUG - If set, print out more information about the patches as
# it attempts to apply them.
# PKG_DBDIR - Where package installation is recorded (default: /var/db/pkg)
# NO_PKG_REGISTER - Don't register a port install as a package.
# FORCE_PKG_REGISTER - If set, it will overwrite any existing package
# registration information in ${PKG_DBDIR}/${PKGNAME}.
# NO_DEPENDS - Don't verify build of dependencies.
# NO_CHECKSUM - Don't verify the checksum. Typically used when
# when you noticed the distfile you just fetched has
# a different checksum and you intend to verify if
# the port still works with it.
1994-08-21 13:12:57 +00:00
1997-07-10 02:29:51 +00:00
# Get the architecture
ARCH != uname -m
1996-11-01 07:22:37 +00:00
# Get the operating system type
OPSYS != uname -s
1998-08-05 09:29:13 +00:00
# Get the operating system revision
1998-08-10 04:02:50 +00:00
OSREL != uname -r | sed -e 's/[-(].*//'
1998-08-12 01:47:47 +00:00
PLIST_SUB += OSREL = ${ OSREL }
1998-08-05 09:29:13 +00:00
1998-09-10 06:38:02 +00:00
# Get the object format.
PORTOBJFORMAT != test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
CONFIGURE_ENV += PORTOBJFORMAT = ${ PORTOBJFORMAT }
1998-09-16 12:04:38 +00:00
SCRIPTS_ENV += PORTOBJFORMAT = ${ PORTOBJFORMAT }
1998-09-10 06:38:02 +00:00
MAKE_ENV += PORTOBJFORMAT = ${ PORTOBJFORMAT }
PLIST_SUB += PORTOBJFORMAT = ${ PORTOBJFORMAT }
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# If they exist, include Makefile.inc, then architecture/operating
# system specific Makefiles, then local Makefile.local.
1994-08-21 13:12:57 +00:00
. i f e x i s t s ( $ { . C U R D I R } / . . / M a k e f i l e . i n c )
. i n c l u d e "${.CURDIR}/../Makefile.inc"
. e n d i f
1997-07-10 02:29:51 +00:00
. i f e x i s t s ( $ { . C U R D I R } / M a k e f i l e . $ { A R C H } - $ { O P S Y S } )
. i n c l u d e "${.CURDIR}/Makefile.${ARCH}-${OPSYS}"
. e l i f e x i s t s ( $ { . C U R D I R } / M a k e f i l e . $ { O P S Y S } )
. i n c l u d e "${.CURDIR}/Makefile.${OPSYS}"
. e l i f e x i s t s ( $ { . C U R D I R } / M a k e f i l e . $ { A R C H } )
. i n c l u d e "${.CURDIR}/Makefile.${ARCH}"
. e n d i f
1996-06-19 01:04:23 +00:00
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
. i f e x i s t s ( $ { . C U R D I R } / M a k e f i l e . l o c a l )
. i n c l u d e "${.CURDIR}/Makefile.local"
. e n d i f
1994-08-21 16:37:09 +00:00
# These need to be absolute since we don't know how deep in the ports
1994-08-28 14:41:34 +00:00
# tree we are and thus can't go relative. They can, of course, be overridden
1996-11-01 07:22:37 +00:00
# by individual Makefiles or local system make configuration.
. i f (${OPSYS} = = "NetBSD" )
1997-01-25 02:45:09 +00:00
PORTSDIR ?= /usr/opt
1996-11-01 07:22:37 +00:00
. e l s e
1997-01-25 02:45:09 +00:00
PORTSDIR ?= /usr/ports
1996-11-01 07:22:37 +00:00
. e n d i f
1997-01-25 02:45:09 +00:00
LOCALBASE ?= ${ DESTDIR } /usr/local
X11BASE ?= ${ DESTDIR } /usr/X11R6
1996-11-30 10:31:50 +00:00
DISTDIR ?= ${ PORTSDIR } /distfiles
_DISTDIR ?= ${ DISTDIR } /${ DIST_SUBDIR }
1994-09-10 22:26:47 +00:00
PACKAGES ?= ${ PORTSDIR } /packages
1996-04-01 11:13:00 +00:00
TEMPLATES ?= ${ PORTSDIR } /templates
1994-11-17 00:25:16 +00:00
. i f ! d e f i n e d ( N O _ W R K D I R )
1998-10-06 21:12:14 +00:00
WRKDIR ?= ${ WRKDIRPREFIX } ${ .CURDIR } /work
1994-11-17 00:25:16 +00:00
. e l s e
1998-10-06 21:12:14 +00:00
WRKDIR ?= ${ WRKDIRPREFIX } ${ .CURDIR }
1994-11-17 00:25:16 +00:00
. e n d i f
1994-09-09 06:21:43 +00:00
. i f d e f i n e d ( N O _ W R K S U B D I R )
1994-09-10 22:26:47 +00:00
WRKSRC ?= ${ WRKDIR }
1994-09-09 06:21:43 +00:00
. e l s e
1994-09-10 22:26:47 +00:00
WRKSRC ?= ${ WRKDIR } /${ DISTNAME }
1994-09-09 06:21:43 +00:00
. e n d i f
1997-07-10 02:29:51 +00:00
. i f e x i s t s ( $ { . C U R D I R } / p a t c h e s . $ { A R C H } - $ { O P S Y S } )
PATCHDIR ?= ${ .CURDIR } /patches.${ ARCH } -${ OPSYS }
. e l i f e x i s t s ( $ { . C U R D I R } / p a t c h e s . $ { O P S Y S } )
PATCHDIR ?= ${ .CURDIR } /patches.${ OPSYS }
. e l i f e x i s t s ( $ { . C U R D I R } / p a t c h e s . $ { A R C H } )
PATCHDIR ?= ${ .CURDIR } /patches.${ ARCH }
. e l s e
1994-09-10 22:26:47 +00:00
PATCHDIR ?= ${ .CURDIR } /patches
1997-07-10 02:29:51 +00:00
. e n d i f
. i f e x i s t s ( $ { . C U R D I R } / s c r i p t s . $ { A R C H } - $ { O P S Y S } )
SCRIPTDIR ?= ${ .CURDIR } /scripts.${ ARCH } -${ OPSYS }
. e l i f e x i s t s ( $ { . C U R D I R } / s c r i p t s . $ { O P S Y S } )
SCRIPTDIR ?= ${ .CURDIR } /scripts.${ OPSYS }
. e l i f e x i s t s ( $ { . C U R D I R } / s c r i p t s . $ { A R C H } )
SCRIPTDIR ?= ${ .CURDIR } /scripts.${ ARCH }
. e l s e
1994-09-10 22:26:47 +00:00
SCRIPTDIR ?= ${ .CURDIR } /scripts
1997-07-10 02:29:51 +00:00
. e n d i f
. i f e x i s t s ( $ { . C U R D I R } / f i l e s . $ { A R C H } - $ { O P S Y S } )
FILESDIR ?= ${ .CURDIR } /files.${ ARCH } -${ OPSYS }
. e l i f e x i s t s ( $ { . C U R D I R } / f i l e s . $ { O P S Y S } )
FILESDIR ?= ${ .CURDIR } /files.${ OPSYS }
. e l i f e x i s t s ( $ { . C U R D I R } / f i l e s . $ { A R C H } )
FILESDIR ?= ${ .CURDIR } /files.${ ARCH }
. e l s e
1994-09-10 22:26:47 +00:00
FILESDIR ?= ${ .CURDIR } /files
1997-07-10 02:29:51 +00:00
. e n d i f
. i f e x i s t s ( $ { . C U R D I R } / p k g . $ { A R C H } - $ { O P S Y S } )
PKGDIR ?= ${ .CURDIR } /pkg.${ ARCH } -${ OPSYS }
. e l i f e x i s t s ( $ { . C U R D I R } / p k g . $ { O P S Y S } )
PKGDIR ?= ${ .CURDIR } /pkg.${ OPSYS }
. e l i f e x i s t s ( $ { . C U R D I R } / p k g . $ { A R C H } )
PKGDIR ?= ${ .CURDIR } /pkg.${ ARCH }
. e l s e
1994-09-10 22:26:47 +00:00
PKGDIR ?= ${ .CURDIR } /pkg
1997-07-10 02:29:51 +00:00
. e n d i f
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
. i f d e f i n e d ( M A N C O M P R E S S E D )
. i f ${MANCOMPRESSED} != yes && ${ MANCOMPRESSED } != no && \
${ MANCOMPRESSED } != maybe
.BEGIN :
@${ ECHO_MSG } " Error: Value of MANCOMPRESSED (is \" ${ MANCOMPRESSED } \") can only be \"yes\", \"no\" or \"maybe\" " .
@${ FALSE }
. e n d i f
. e n d i f
. i f d e f i n e d ( U S E _ I M A K E ) & & ${OPSYS} != OpenBSD && !defined( NO_INSTALL_MANPAGES)
MANCOMPRESSED ?= yes
. e l s e
MANCOMPRESSED ?= no
. e n d i f
1998-01-02 10:37:14 +00:00
. i f d e f i n e d ( U S E _ I M A K E )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
USE_X_PREFIX = yes
1998-08-05 09:29:13 +00:00
. e n d i f
. i f d e f i n e d ( U S E _ X _ P R E F I X )
1998-08-12 01:47:47 +00:00
USE_XLIB = yes
1998-01-02 10:37:14 +00:00
. e n d i f
1998-08-05 09:29:13 +00:00
. i f d e f i n e d ( U S E _ X _ P R E F I X )
1994-11-17 10:06:03 +00:00
PREFIX ?= ${ X11BASE }
. e l s e
1996-03-31 10:35:26 +00:00
PREFIX ?= ${ LOCALBASE }
1994-11-17 10:06:03 +00:00
. e n d i f
1998-08-05 09:29:13 +00:00
1994-12-17 02:37:26 +00:00
. i f d e f i n e d ( U S E _ G M A K E )
1997-06-24 07:16:21 +00:00
BUILD_DEPENDS += gmake:${ PORTSDIR } /devel/gmake
. e n d i f
1998-01-02 10:37:14 +00:00
. i f d e f i n e d ( U S E _ A U T O C O N F )
GNU_CONFIGURE = yes
BUILD_DEPENDS += autoconf:${ PORTSDIR } /devel/autoconf
. e n d i f
1998-08-12 01:47:47 +00:00
1998-08-15 17:34:00 +00:00
PERL_VERSION = 5.00502
1998-08-12 09:47:47 +00:00
PERL_VER = 5.005
PLIST_SUB += PERL_VERSION = ${ PERL_VERSION } \
PERL_VER = ${ PERL_VER }
1998-09-10 06:38:02 +00:00
. i f e x i s t s ( / u s r / b i n / p e r l 5 )
# 3.0-current after perl5 import
1998-09-16 12:04:38 +00:00
. i f ! e x i s t s ( / u s r / b i n / p e r l $ { P E R L _ V E R S I O N } ) & & d e f i n e d ( U S E _ P E R L 5 )
.BEGIN :
@${ ECHO_MSG } "Error: you don't have the right version of perl in /usr/bin."
@${ FALSE }
. e n d i f
PERL5 = /usr/bin/perl${ PERL_VERSION }
1998-10-06 21:12:14 +00:00
PERL = /usr/bin/perl
1998-09-10 06:38:02 +00:00
. e l s e
PERL5 = ${ LOCALBASE } /bin/perl${ PERL_VERSION }
1998-10-06 21:12:14 +00:00
PERL = ${ LOCALBASE } /bin/perl
1997-06-24 07:16:21 +00:00
. i f d e f i n e d ( U S E _ P E R L 5 )
1998-09-10 06:38:02 +00:00
BUILD_DEPENDS += perl${ PERL_VERSION } :${ PORTSDIR } /lang/perl5
RUN_DEPENDS += perl${ PERL_VERSION } :${ PORTSDIR } /lang/perl5
. e n d i f
1994-12-17 02:37:26 +00:00
. e n d i f
1998-08-12 01:47:47 +00:00
. i f d e f i n e d ( U S E _ X L I B )
1998-09-16 12:04:38 +00:00
LIB_DEPENDS += X11.6:${ PORTSDIR } /x11/XFree86
1998-08-05 09:29:13 +00:00
. e n d i f
1994-08-21 13:12:57 +00:00
1998-08-12 01:47:47 +00:00
. i f d e f i n e d ( U S E _ Q T )
1998-09-16 12:04:38 +00:00
LIB_DEPENDS += qt.1:${ PORTSDIR } /x11-toolkits/qt140
1998-08-12 01:47:47 +00:00
. e n d i f
1994-09-11 12:01:05 +00:00
. i f e x i s t s ( $ { P O R T S D I R } / . . / M a k e f i l e . i n c )
. i n c l u d e "${PORTSDIR}/../Makefile.inc"
. e n d i f
1995-08-18 10:06:28 +00:00
# Don't change these!!! These names are built into the _TARGET_USE macro,
# there is no way to refer to them cleanly from within the macro AFAIK.
1994-09-22 07:45:30 +00:00
EXTRACT_COOKIE ?= ${ WRKDIR } /.extract_done
CONFIGURE_COOKIE ?= ${ WRKDIR } /.configure_done
1994-10-03 14:38:27 +00:00
INSTALL_COOKIE ?= ${ WRKDIR } /.install_done
1994-11-01 18:09:22 +00:00
BUILD_COOKIE ?= ${ WRKDIR } /.build_done
1994-11-11 09:45:33 +00:00
PATCH_COOKIE ?= ${ WRKDIR } /.patch_done
1995-04-30 12:28:43 +00:00
PACKAGE_COOKIE ?= ${ WRKDIR } /.package_done
1994-08-22 11:20:07 +00:00
1994-08-28 14:41:34 +00:00
# How to do nothing. Override if you, for some strange reason, would rather
# do something.
1996-06-19 01:04:23 +00:00
DO_NADA ?= /usr/bin/true
1994-08-28 14:41:34 +00:00
1994-08-21 13:12:57 +00:00
# Miscellaneous overridable commands:
1994-09-10 22:26:47 +00:00
GMAKE ?= gmake
1998-01-02 10:37:14 +00:00
AUTOCONF ?= autoconf
1995-03-19 12:49:06 +00:00
XMKMF ?= xmkmf -a
1997-01-12 12:37:48 +00:00
. i f e x i s t s ( / s b i n / m d 5 )
MD5 ?= /sbin/md5
. e l i f e x i s t s ( / b i n / m d 5 )
MD5 ?= /bin/md5
. e l i f e x i s t s ( / u s r / b i n / m d 5 )
1996-11-01 07:22:37 +00:00
MD5 ?= /usr/bin/md5
. e l s e
1997-01-12 12:37:48 +00:00
MD5 ?= md5
1996-11-01 07:22:37 +00:00
. e n d i f
1994-12-11 20:36:12 +00:00
MD5_FILE ?= ${ FILESDIR } /md5
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
1994-09-11 12:55:54 +00:00
MAKE_FLAGS ?= -f
MAKEFILE ?= Makefile
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
MAKE_ENV += PREFIX = ${ PREFIX } LOCALBASE = ${ LOCALBASE } X11BASE = ${ X11BASE } MOTIFLIB = " ${ MOTIFLIB } " CFLAGS = " ${ CFLAGS } " LIBDIR = " ${ LIBDIR } "
1994-09-09 06:21:43 +00:00
1997-01-12 12:37:48 +00:00
. i f e x i s t s ( / u s r / b i n / f e t c h )
1996-06-19 09:33:31 +00:00
FETCH_CMD ?= /usr/bin/fetch
1998-09-22 23:58:49 +00:00
#FETCH_BEFORE_ARGS+= $${CKSIZE:+-S $$CKSIZE}
1997-01-12 12:37:48 +00:00
. e l s e
FETCH_CMD ?= /usr/bin/ftp
. e n d i f
1994-09-09 06:21:43 +00:00
1995-06-26 07:01:20 +00:00
TOUCH ?= /usr/bin/touch
1994-11-01 18:09:22 +00:00
TOUCH_FLAGS ?= -f
1995-06-26 07:01:20 +00:00
PATCH ?= /usr/bin/patch
1994-09-28 14:19:30 +00:00
PATCH_STRIP ?= -p0
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
PATCH_DIST_STRIP ?= -p0
1994-12-10 18:07:38 +00:00
. i f d e f i n e d ( P A T C H _ D E B U G )
1996-08-17 10:16:02 +00:00
PATCH_DEBUG_TMP = yes
1994-12-10 18:07:38 +00:00
PATCH_ARGS ?= -d ${ WRKSRC } -E ${ PATCH_STRIP }
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
PATCH_DIST_ARGS ?= -d ${ WRKSRC } -E ${ PATCH_DIST_STRIP }
1994-12-10 18:07:38 +00:00
. e l s e
1996-08-17 10:16:02 +00:00
PATCH_DEBUG_TMP = no
1994-12-10 18:07:38 +00:00
PATCH_ARGS ?= -d ${ WRKSRC } --forward --quiet -E ${ PATCH_STRIP }
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
PATCH_DIST_ARGS ?= -d ${ WRKSRC } --forward --quiet -E ${ PATCH_DIST_STRIP }
1994-12-10 18:07:38 +00:00
. e n d i f
1995-10-11 09:25:58 +00:00
. i f d e f i n e d ( B A T C H )
PATCH_ARGS += --batch
PATCH_DIST_ARGS += --batch
. e n d i f
1994-09-28 14:19:30 +00:00
1995-06-24 10:27:23 +00:00
. i f d e f i n e d ( P A T C H _ C H E C K _ O N L Y )
PATCH_ARGS += -C
PATCH_DIST_ARGS += -C
. e n d i f
1997-01-12 12:37:48 +00:00
. i f e x i s t s ( / b i n / t a r )
EXTRACT_CMD ?= /bin/tar
. e l s e
1995-06-26 07:01:20 +00:00
EXTRACT_CMD ?= /usr/bin/tar
1997-01-12 12:37:48 +00:00
. e n d i f
1994-08-21 13:12:57 +00:00
EXTRACT_SUFX ?= .tar.gz
1995-03-22 21:28:31 +00:00
# Backwards compatability.
. i f d e f i n e d ( E X T R A C T _ A R G S )
EXTRACT_BEFORE_ARGS ?= ${ EXTRACT_ARGS }
. e l s e
EXTRACT_BEFORE_ARGS ?= -xzf
. e n d i f
1994-08-21 13:12:57 +00:00
1995-04-19 15:02:26 +00:00
# Figure out where the local mtree file is
1997-06-04 00:12:19 +00:00
. i f ! d e f i n e d ( M T R E E _ F I L E )
1998-08-05 09:29:13 +00:00
. i f d e f i n e d ( U S E _ X _ P R E F I X )
1997-06-04 00:12:19 +00:00
MTREE_FILE = /etc/mtree/BSD.x11.dist
. e l s e
MTREE_FILE = /etc/mtree/BSD.local.dist
1995-04-19 15:02:26 +00:00
. e n d i f
1995-06-25 06:30:51 +00:00
. e n d i f
1997-06-04 00:12:19 +00:00
MTREE_CMD ?= /usr/sbin/mtree
MTREE_ARGS ?= -U -f ${ MTREE_FILE } -d -e -p
1995-04-19 15:02:26 +00:00
1996-08-15 05:55:33 +00:00
# A few aliases for *-install targets
INSTALL_PROGRAM = \
${ INSTALL } ${ COPY } ${ STRIP } -o ${ BINOWN } -g ${ BINGRP } -m ${ BINMODE }
INSTALL_SCRIPT = \
${ INSTALL } ${ COPY } -o ${ BINOWN } -g ${ BINGRP } -m ${ BINMODE }
INSTALL_DATA = \
${ INSTALL } ${ COPY } -o ${ SHAREOWN } -g ${ SHAREGRP } -m ${ SHAREMODE }
INSTALL_MAN = \
${ INSTALL } ${ COPY } -o ${ MANOWN } -g ${ MANGRP } -m ${ MANMODE }
1997-01-12 11:48:26 +00:00
INSTALL_MACROS = BSD_INSTALL_PROGRAM = " ${ INSTALL_PROGRAM } " \
BSD_INSTALL_SCRIPT = " ${ INSTALL_SCRIPT } " \
BSD_INSTALL_DATA = " ${ INSTALL_DATA } " \
BSD_INSTALL_MAN = " ${ INSTALL_MAN } "
MAKE_ENV += ${ INSTALL_MACROS }
SCRIPTS_ENV += ${ INSTALL_MACROS }
1995-05-13 05:37:45 +00:00
# The user can override the NO_PACKAGE by specifying this from
# the make command line
. i f d e f i n e d ( F O R C E _ P A C K A G E )
. u n d e f N O _ P A C K A G E
. e n d i f
1997-03-06 08:28:15 +00:00
COMMENT ?= ${ PKGDIR } /COMMENT
DESCR ?= ${ PKGDIR } /DESCR
1997-02-23 13:24:45 +00:00
PLIST ?= ${ PKGDIR } /PLIST
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
TMPPLIST ?= ${ WRKDIR } /.PLIST.mktmp
1997-02-23 13:24:45 +00:00
1995-06-26 07:01:20 +00:00
PKG_CMD ?= /usr/sbin/pkg_create
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
PKG_DELETE ?= /usr/sbin/pkg_delete
1995-03-27 13:11:18 +00:00
. i f ! d e f i n e d ( P K G _ A R G S )
1998-08-12 01:47:47 +00:00
PKG_ARGS = -v -c ${ COMMENT } -d ${ DESCR } -f ${ TMPPLIST } -p ${ PREFIX } -P " ` ${ MAKE } package-depends|sort -u` "
1995-03-27 13:11:18 +00:00
. i f e x i s t s ( $ { P K G D I R } / I N S T A L L )
PKG_ARGS += -i ${ PKGDIR } /INSTALL
. e n d i f
. i f e x i s t s ( $ { P K G D I R } / D E I N S T A L L )
PKG_ARGS += -k ${ PKGDIR } /DEINSTALL
. e n d i f
. i f e x i s t s ( $ { P K G D I R } / R E Q )
PKG_ARGS += -r ${ PKGDIR } /REQ
. e n d i f
1996-12-11 04:51:31 +00:00
. i f e x i s t s ( $ { P K G D I R } / M E S S A G E )
PKG_ARGS += -D ${ PKGDIR } /MESSAGE
1996-12-09 07:08:16 +00:00
. e n d i f
1997-06-04 00:12:19 +00:00
. i f ! d e f i n e d ( N O _ M T R E E )
PKG_ARGS += -m ${ MTREE_FILE }
1995-04-19 15:02:26 +00:00
. e n d i f
1995-03-27 13:11:18 +00:00
. e n d i f
1994-09-10 22:26:47 +00:00
PKG_SUFX ?= .tgz
1995-04-19 15:02:26 +00:00
# where pkg_add records its dirty deeds.
PKG_DBDIR ?= /var/db/pkg
1994-08-22 13:11:32 +00:00
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
# shared/dynamic motif libs
. i f d e f i n e d ( H A V E _ M O T I F )
. i f d e f i n e d ( M O T I F _ S T A T I C )
MOTIFLIB ?= ${ X11BASE } /lib/libXm.a
. e l s e
MOTIFLIB ?= -L${ X11BASE } /lib -lXm
. e n d i f
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
AWK ?= /usr/bin/awk
1996-03-06 08:08:16 +00:00
BASENAME ?= /usr/bin/basename
1997-02-23 13:24:45 +00:00
CAT ?= /bin/cat
CP ?= /bin/cp
ECHO ?= /bin/echo
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
EXPR ?= /bin/expr
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
FALSE ?= /usr/bin/false
1996-03-06 08:08:16 +00:00
GREP ?= /usr/bin/grep
1997-02-23 13:24:45 +00:00
GUNZIP_CMD ?= /usr/bin/gunzip -f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
GZCAT ?= /usr/bin/gzcat
GZIP ?= -9
GZIP_CMD ?= /usr/bin/gzip -nf ${ GZIP }
1997-02-23 13:24:45 +00:00
LDCONFIG ?= /sbin/ldconfig
1998-01-02 10:37:14 +00:00
LN ?= /bin/ln
1997-02-23 13:24:45 +00:00
MKDIR ?= /bin/mkdir -p
MV ?= /bin/mv
RM ?= /bin/rm
RMDIR ?= /bin/rmdir
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
SED ?= /usr/bin/sed
1997-02-23 13:24:45 +00:00
SETENV ?= /usr/bin/env
1997-07-10 02:29:51 +00:00
SH ?= /bin/sh
1997-01-12 11:48:26 +00:00
TR ?= /usr/bin/tr
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
TRUE ?= /usr/bin/true
1996-03-06 08:08:16 +00:00
1995-04-19 15:02:26 +00:00
# Used to print all the '===>' style prompts - override this to turn them off.
1996-03-06 08:08:16 +00:00
ECHO_MSG ?= ${ ECHO }
1995-03-21 03:59:13 +00:00
1998-08-12 01:47:47 +00:00
. f o r s u b i n $ { P L I S T _ S U B }
_sedsubplist != sym = ` ${ ECHO } " ${ sub } " | ${ SED } -e 's/=.*//' ` ; \
val = ` ${ ECHO } " ${ sub } " | ${ SED } -e 's/^[^=][^=]*=//' ` ; \
echo " ${ _sedsubplist } -e s!%% $$ {sym}%%! $$ {val}!g "
. e n d f o r
1994-11-03 19:53:46 +00:00
ALL_TARGET ?= all
INSTALL_TARGET ?= install
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
# Popular master sites
1997-04-15 08:36:41 +00:00
MASTER_SITE_XCONTRIB += \
1997-04-30 03:12:05 +00:00
ftp://crl.dec.com/pub/X11/contrib/%SUBDIR%/ \
ftp://ftp.eu.net/X11/contrib/%SUBDIR%/
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
1997-04-15 08:36:41 +00:00
MASTER_SITE_GNU += \
1997-04-30 03:12:05 +00:00
ftp://prep.ai.mit.edu/pub/gnu/%SUBDIR%/ \
ftp://wuarchive.wustl.edu/systems/gnu/%SUBDIR%/
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
1997-04-15 08:36:41 +00:00
MASTER_SITE_PERL_CPAN += \
1997-04-30 03:12:05 +00:00
ftp://ftp.digital.com/pub/plan/perl/CPAN/modules/by-module/%SUBDIR%/ \
ftp://ftp.cdrom.com/pub/perl/CPAN/modules/by-module/%SUBDIR%/
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
1997-04-15 08:36:41 +00:00
MASTER_SITE_TEX_CTAN += \
1997-04-30 03:12:05 +00:00
ftp://ftp.cdrom.com/pub/tex/ctan/%SUBDIR%/ \
ftp://wuarchive.wustl.edu/packages/TeX/%SUBDIR%/ \
ftp://ftp.funet.fi/pub/TeX/CTAN/%SUBDIR%/ \
1998-02-04 10:36:56 +00:00
ftp://ftp.tex.ac.uk/tex-archive/%SUBDIR%/ \
1997-04-30 03:12:05 +00:00
ftp://ftp.dante.de/tex-archive/%SUBDIR%/
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
1997-04-15 08:36:41 +00:00
MASTER_SITE_SUNSITE += \
1997-04-30 03:12:05 +00:00
ftp://sunsite.unc.edu/pub/Linux/%SUBDIR%/ \
ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/%SUBDIR%/ \
ftp://ftp.funet.fi/pub/mirrors/sunsite.unc.edu/pub/Linux/%SUBDIR%/
1998-01-02 10:37:14 +00:00
MASTER_SITE_KDE += \
1998-07-13 23:39:02 +00:00
ftp://ftp.us.kde.org/pub/kde/%SUBDIR%/ \
1998-01-02 10:37:14 +00:00
ftp://ftp.kde.org/pub/kde/%SUBDIR%/ \
ftp://ftp.tuniv.szczecin.pl/pub/kde/%SUBDIR%/ \
ftp://ftp.fu-berlin.de/pub/unix/X11/gui/kde/%SUBDIR%/ \
ftp://ftp.blaze.net.au/pub/kde/%SUBDIR%/ \
ftp://ftp.dataplus.se/pub/linux/kde/%SUBDIR%/ \
ftp://ftp.caldera.com/pub/mirrors/kde/%SUBDIR%/
1997-04-30 03:12:05 +00:00
# Empty declaration to avoid "variable MASTER_SITES recursive" error
MASTER_SITES ?=
PATCH_SITES ?=
1997-11-20 05:33:56 +00:00
# To avoid double-slashes
MASTER_SITE_SUBDIR ?= .
PATCH_SITE_SUBDIR ?= .
1997-04-30 03:12:05 +00:00
# Substitute subdirectory names
MASTER_SITES := ${ MASTER_SITES : S /%SUBDIR%/ ${ MASTER_SITE_SUBDIR } / }
PATCH_SITES := ${ PATCH_SITES : S /%SUBDIR%/ ${ PATCH_SITE_SUBDIR } / }
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
1996-11-30 10:31:50 +00:00
# The primary backup site.
MASTER_SITE_BACKUP ?= \
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/${ DIST_SUBDIR } /
# If the user has this set, go to the FreeBSD repository for everything.
. i f d e f i n e d ( M A S T E R _ S I T E _ F R E E B S D )
MASTER_SITE_OVERRIDE = ${ MASTER_SITE_BACKUP }
. e n d i f
1997-04-30 03:12:05 +00:00
# Where to put distfiles that don't have any other master site
MASTER_SITE_LOCAL ?= \
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/
1994-09-13 06:22:11 +00:00
# I guess we're in the master distribution business! :) As we gain mirror
# sites for distfiles, add them to this list.
1994-11-17 00:18:28 +00:00
. i f ! d e f i n e d ( M A S T E R _ S I T E _ O V E R R I D E )
1996-11-30 10:31:50 +00:00
MASTER_SITES += ${ MASTER_SITE_BACKUP }
PATCH_SITES += ${ MASTER_SITE_BACKUP }
1994-11-17 00:18:28 +00:00
. e l s e
1995-07-24 08:02:07 +00:00
MASTER_SITES := ${ MASTER_SITE_OVERRIDE } ${ MASTER_SITES }
1996-03-10 08:26:21 +00:00
PATCH_SITES := ${ MASTER_SITE_OVERRIDE } ${ PATCH_SITES }
1994-11-17 00:18:28 +00:00
. e n d i f
1994-09-01 16:01:34 +00:00
1996-08-24 09:28:48 +00:00
# Search CDROM first if mounted, symlink instead of copy if
# FETCH_SYMLINK_DISTFILES is set
1998-07-28 22:27:16 +00:00
CD_MOUNTPT ?= /cdrom
. i f e x i s t s ( $ { C D _ M O U N T P T } / p o r t s / d i s t f i l e s )
MASTER_SITES := file:${ CD_MOUNTPT } /ports/distfiles/${ DIST_SUBDIR } / ${ MASTER_SITES }
PATCH_SITES := file:${ CD_MOUNTPT } /ports/distfiles/${ DIST_SUBDIR } / ${ PATCH_SITES }
1996-08-24 09:28:48 +00:00
. i f d e f i n e d ( F E T C H _ S Y M L I N K _ D I S T F I L E S )
FETCH_BEFORE_ARGS += -l
. e n d i f
. e n d i f
1994-09-01 16:01:34 +00:00
# Derived names so that they're easily overridable.
1994-09-10 22:26:47 +00:00
DISTFILES ?= ${ DISTNAME } ${ EXTRACT_SUFX }
1994-12-10 18:07:38 +00:00
PKGNAME ?= ${ DISTNAME }
1995-04-01 09:34:11 +00:00
1996-12-17 12:20:53 +00:00
ALLFILES ?= ${ DISTFILES } ${ PATCHFILES }
. i f d e f i n e d ( I G N O R E F I L E S )
CKSUMFILES != \
for file in ${ ALLFILES } ; do \
ignore = 0; \
for tmp in ${ IGNOREFILES } ; do \
if [ " $$ file " = " $$ tmp " ] ; then \
ignore = 1; \
fi ; \
done ; \
if [ " $$ ignore " = 0 ] ; then \
echo " $$ file " ; \
fi ; \
done
. e l s e
CKSUMFILES = ${ ALLFILES }
. e n d i f
1996-11-30 10:31:50 +00:00
# List of all files, with ${DIST_SUBDIR} in front. Used for checksum.
. i f d e f i n e d ( D I S T _ S U B D I R )
1996-12-17 12:20:53 +00:00
_CKSUMFILES ?= ${ CKSUMFILES : S /^/ ${ DIST_SUBDIR } \/ / }
_IGNOREFILES ?= ${ IGNOREFILES : S /^/ ${ DIST_SUBDIR } \/ / }
1996-11-30 10:31:50 +00:00
. e l s e
1996-12-17 12:20:53 +00:00
_CKSUMFILES ?= ${ CKSUMFILES }
_IGNOREFILES ?= ${ IGNOREFILES }
1996-11-30 10:31:50 +00:00
. e n d i f
1995-08-29 11:24:50 +00:00
# This is what is actually going to be extracted, and is overridable
# by user.
EXTRACT_ONLY ?= ${ DISTFILES }
1995-04-01 09:34:11 +00:00
# Documentation
1995-03-22 21:46:04 +00:00
MAINTAINER ?= ports@FreeBSD.ORG
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f ! d e f i n e d ( C A T E G O R I E S )
.BEGIN :
@${ ECHO_MSG } "CATEGORIES is mandatory."
@${ FALSE }
. e n d i f
1994-09-10 22:26:47 +00:00
1995-06-06 10:56:34 +00:00
# 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
1995-04-09 09:59:42 +00:00
PKGREPOSITORY ?= ${ PACKAGES } /${ PKGREPOSITORYSUBDIR }
1998-01-31 20:59:30 +00:00
. i f e x i s t s ( $ { P A C K A G E S } )
1995-04-09 09:59:42 +00:00
PKGFILE ?= ${ PKGREPOSITORY } /${ PKGNAME } ${ PKG_SUFX }
1998-01-31 20:59:30 +00:00
. e l s e
PKGFILE ?= ${ .CURDIR } /${ PKGNAME } ${ PKG_SUFX }
. e n d i f
1998-01-02 10:37:14 +00:00
# The "latest version" link -- ${PKGNAME} minus everthing after the last '-'
PKGLATESTREPOSITORY ?= ${ PACKAGES } /Latest
PKGBASE != ${ ECHO } ${ PKGNAME } | ${ SED } -e 's/-[^-]*$$//'
PKGLATESTFILE ?= ${ PKGLATESTREPOSITORY } /${ PKGBASE } ${ PKG_SUFX }
1994-08-21 13:12:57 +00:00
1995-02-06 08:52:19 +00:00
CONFIGURE_SCRIPT ?= configure
1994-10-04 15:44:03 +00:00
. i f d e f i n e d ( G N U _ C O N F I G U R E )
1996-05-30 08:53:26 +00:00
CONFIGURE_ARGS += --prefix= ${ PREFIX }
1994-10-04 15:48:21 +00:00
HAS_CONFIGURE = yes
1994-10-04 15:44:03 +00:00
. e n d i f
1997-01-12 11:48:26 +00:00
# Passed to most of script invocations
SCRIPTS_ENV += CURDIR = ${ .CURDIR } DISTDIR = ${ DISTDIR } \
WRKDIR = ${ WRKDIR } WRKSRC = ${ WRKSRC } PATCHDIR = ${ PATCHDIR } \
SCRIPTDIR = ${ SCRIPTDIR } FILESDIR = ${ FILESDIR } \
PORTSDIR = ${ PORTSDIR } DEPENDS = " ${ DEPENDS } " \
PREFIX = ${ PREFIX } LOCALBASE = ${ LOCALBASE } X11BASE = ${ X11BASE }
. i f d e f i n e d ( B A T C H )
SCRIPTS_ENV += BATCH = yes
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
MANPREFIX ?= ${ PREFIX }
1996-12-11 10:17:44 +00:00
. f o r s e c t i n 1 2 3 4 5 6 7 8 9
MAN${sect}PREFIX ?= ${ MANPREFIX }
. e n d f o r
MANLPREFIX ?= ${ MANPREFIX }
MANNPREFIX ?= ${ MANPREFIX }
MANLANG ?= "" # english only by default
1998-09-10 06:38:02 +00:00
. i f ! d e f i n e d ( N O M A N C O M P R E S S )
MANEXT = .gz
. e n d i f
. i f d e f i n e d ( M L I N K S )
__pmlinks != ${ ECHO } '${MLINKS:S/ / /}' | ${ AWK } \
' { if ( NF % 2 != 0) { print "broken" ; exit; } \
for ( i = 1; i<= NF; i++) { \
if ( $$ i ~ /^-$$ / && i != 1 && i % 2 != 0) \
{ $$ i = $$ ( i-2) ; printf " " $$ i " " ; } \
else if ( $$ i ~ /^[ ^ ] +\. [ 1-9ln] [ ^. ] *$$ / || $$ i ~ /^\/ /) \
printf " " $$ i " " ; \
else \
{ print "broken" ; exit; } \
} \
} ' | ${SED} -e ' s/ \/ [ ^ ] */ & x/g' -e ' s/ [ ^/ ] [ ^ ] *\. \( .\) [ ^. ] */ & \1 /g'
.if ${__pmlinks : Mbroken } == "broken "
.BEGIN :
@${ ECHO_MSG } "Error: Unable to parse MLINKS."
@${ FALSE }
. e n d i f
. e n d i f
1996-12-11 10:17:44 +00:00
. f o r l a n g i n $ { M A N L A N G }
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. f o r s e c t i n 1 2 3 4 5 6 7 8 9
. i f d e f i n e d ( M A N $ { s e c t } )
1996-12-12 04:32:25 +00:00
_MANPAGES += ${ MAN ${ sect } : S %^% ${ MAN ${ sect } PREFIX } /man/ ${ lang } /man ${ sect } /% }
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. e n d i f
. e n d f o r
. i f d e f i n e d ( M A N L )
1996-12-12 04:32:25 +00:00
_MANPAGES += ${ MANL : S %^% ${ MANLPREFIX } /man/ ${ lang } /manl/% }
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. e n d i f
. i f d e f i n e d ( M A N N )
1996-12-12 04:32:25 +00:00
_MANPAGES += ${ MANN : S %^% ${ MANNPREFIX } /man/ ${ lang } /mann/% }
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. e n d i f
1998-09-10 06:38:02 +00:00
. i f d e f i n e d ( M L I N K S )
. f o r _ _ p a g e i n $ { _ _ p m l i n k s }
__name = ${ __page : S / / / : N [1-9lnx] }
__sect = ${ __page : S / / / : M [1-9lnx] }
.if ${__name : M /*}x == x
_MLINKS += ${ MAN ${ __sect : S /l/L/ : S /n/N/ } PREFIX } /man/${ lang } /man${ __sect } /${ __name } ${ MANEXT }
. e l s e
_MLINKS += ${ __name } ${ MANEXT }
. e n d i f
_MLINKS := ${ _MLINKS }
1996-12-11 10:17:44 +00:00
. e n d f o r
1998-09-10 06:38:02 +00:00
. e n d i f
. e n d f o r l a n g i n $ { M A N L A N G }
_TMLINKS != ${ ECHO } ${ _MLINKS } | ${ AWK } '{for (i=2; i<=NF; i+=2) print $$i}'
1996-12-11 10:17:44 +00:00
1998-08-12 01:47:47 +00:00
. i f d e f i n e d ( _ M A N P A G E S ) & & d e f i n e d ( N O M A N C O M P R E S S )
__MANPAGES := ${ _MANPAGES : S ^ ${ PREFIX } /^^ : S / "" // : S ^//^/^g }
. e l i f d e f i n e d ( _ M A N P A G E S )
__MANPAGES := ${ _MANPAGES : S ^ ${ PREFIX } /^^ : S / "" // : S ^//^/^g : S / $/.gz/ }
. e n d i f
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
. i f d e f i n e d ( _ M A N P A G E S ) & & ${MANCOMPRESSED} = = "yes"
1996-12-11 04:51:31 +00:00
_MANPAGES := ${ _MANPAGES : S / $/.gz/ }
. e n d i f
1994-08-21 13:12:57 +00:00
.MAIN : all
1994-10-14 07:56:46 +00:00
1995-04-20 18:03:02 +00:00
################################################################
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
# Many ways to disable a port.
#
1995-04-20 18:03:02 +00:00
# If we're in BATCH mode and the port is interactive, or we're
# in interactive mode and the port is non-interactive, skip all
# the important targets. The reason we have two modes is that
# one might want to leave a build in BATCH mode running
# overnight, then come back in the morning and do _only_ the
# interactive ones that required your intervention.
1994-10-14 07:56:46 +00:00
#
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
# Don't attempt to build ports that require Motif if you don't
# have Motif.
#
1996-04-27 18:36:02 +00:00
# Ignore ports that can't be resold if building for a CDROM.
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
#
# Don't build a port if it's restricted and we don't want to get
# into that.
#
1998-09-22 23:58:49 +00:00
# Don't build a port on an ELF machine if it's broken for ELF.
#
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
# Don't build a port if it's broken.
1995-04-20 18:03:02 +00:00
################################################################
1998-02-04 10:36:56 +00:00
OLDSYSTCL != ${ ECHO } /usr/include/tcl.h /usr/lib/libtcl??.so.*.*
OLDTCL = ${ LOCALBASE } /include/tcl.h ${ LOCALBASE } /lib/tclConfig.sh
OLDTK = ${ LOCALBASE } /include/tk.h ${ LOCALBASE } /lib/tkConfig.sh
. i f ! d e f i n e d ( N O _ I G N O R E )
. f o r f i l e i n $ { O L D S Y S T C L } $ { O L D T C L }
. i f e x i s t s ( $ { f i l e } )
IGNORE = " : You have an old file \( ${ file } \) that could cause problems for some ports to compile. Please remove it and try again. You may have to reinstall tcl from the ports tree afterwards "
. e n d i f
. e n d f o r
. f o r f i l e i n $ { O L D T K }
. i f e x i s t s ( $ { f i l e } )
IGNORE = " : You have an old file \( ${ file } \) that could cause problems for some ports to compile. Please remove it and try again. You may have to reinstall tk from the ports tree afterwards "
. e n d i f
. e n d f o r
. e n d i f
1997-01-25 02:45:09 +00:00
. i f ! d e f i n e d ( N O _ I G N O R E )
1996-11-30 10:31:50 +00:00
. i f ( d e f i n e d ( I S _ I N T E R A C T I V E ) & & d e f i n e d ( B A T C H ) )
IGNORE = "is an interactive port"
. e l i f ( ! d e f i n e d ( I S _ I N T E R A C T I V E ) & & d e f i n e d ( I N T E R A C T I V E ) )
IGNORE = "is not an interactive port"
. e l i f ( d e f i n e d ( R E Q U I R E S _ M O T I F ) & & ! d e f i n e d ( H A V E _ M O T I F ) )
IGNORE = "requires Motif"
1997-01-12 11:48:26 +00:00
. e l i f ( d e f i n e d ( M O T I F _ O N L Y ) & & ! d e f i n e d ( R E Q U I R E S _ M O T I F ) )
IGNORE = "does not require Motif"
1996-11-30 10:31:50 +00:00
. e l i f ( d e f i n e d ( N O _ C D R O M ) & & d e f i n e d ( F O R _ C D R O M ) )
IGNORE = " may not be placed on a CDROM: ${ NO_CDROM } "
. e l i f ( d e f i n e d ( R E S T R I C T E D ) & & d e f i n e d ( N O _ R E S T R I C T E D ) )
IGNORE = " is restricted: ${ RESTRICTED } "
1998-08-05 09:29:13 +00:00
. e l i f d e f i n e d ( N O _ C O N F I G U R E )
IGNORE = "defines NO_CONFIGURE, which is obsoleted"
. e l i f d e f i n e d ( N O _ P A T C H )
IGNORE = "defines NO_PATCH, which is obsoleted"
1998-09-22 23:58:49 +00:00
. e l i f ( d e f i n e d ( B R O K E N _ E L F ) & & (${PORTOBJFORMAT} = = "elf" ) )
IGNORE = " is broken for ELF: ${ BROKEN_ELF } "
1996-11-30 10:31:50 +00:00
. e l i f d e f i n e d ( B R O K E N )
IGNORE = " is marked as broken: ${ BROKEN } "
. e n d i f
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
1997-11-20 05:33:56 +00:00
. i f ( d e f i n e d ( M A N U A L _ P A C K A G E _ B U I L D ) & & d e f i n e d ( P A C K A G E _ B U I L D I N G ) )
1998-10-30 08:28:02 +00:00
IGNORE = " has to be built manually: ${ MANUAL_PACKAGE_BUILD } "
1997-11-20 05:33:56 +00:00
clean :
@${ IGNORECMD }
. e n d i f
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
. i f d e f i n e d ( I G N O R E )
1996-11-30 10:31:50 +00:00
. i f d e f i n e d ( I G N O R E _ S I L E N T )
IGNORECMD = ${ DO_NADA }
. e l s e
IGNORECMD = ${ ECHO_MSG } " ===> ${ PKGNAME } ${ IGNORE } . "
. e n d i f
1994-10-14 07:56:46 +00:00
fetch :
1996-11-30 10:31:50 +00:00
@${ IGNORECMD }
checksum :
@${ IGNORECMD }
1996-12-18 02:27:44 +00:00
extract :
@${ IGNORECMD }
patch :
@${ IGNORECMD }
1994-10-14 07:56:46 +00:00
configure :
1996-11-30 10:31:50 +00:00
@${ IGNORECMD }
1996-12-18 02:27:44 +00:00
all :
@${ IGNORECMD }
build :
@${ IGNORECMD }
install :
@${ IGNORECMD }
1998-02-19 06:49:27 +00:00
reinstall :
1998-01-02 10:37:14 +00:00
@${ IGNORECMD }
1995-03-20 00:41:36 +00:00
package :
1996-11-30 10:31:50 +00:00
@${ IGNORECMD }
1994-10-14 07:56:46 +00:00
. e n d i f
1997-01-25 02:45:09 +00:00
. e n d i f
1994-10-14 07:56:46 +00:00
1995-12-07 14:11:29 +00:00
. i f d e f i n e d ( A L L _ H O O K )
all :
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ SETENV } CURDIR = ${ .CURDIR } DISTNAME = ${ DISTNAME } \
1995-12-07 14:11:29 +00:00
DISTDIR = ${ DISTDIR } WRKDIR = ${ WRKDIR } WRKSRC = ${ WRKSRC } \
PATCHDIR = ${ PATCHDIR } SCRIPTDIR = ${ SCRIPTDIR } \
FILESDIR = ${ FILESDIR } PORTSDIR = ${ PORTSDIR } PREFIX = ${ PREFIX } \
DEPENDS = " ${ DEPENDS } " BUILD_DEPENDS = " ${ BUILD_DEPENDS } " \
RUN_DEPENDS = " ${ RUN_DEPENDS } " X11BASE = ${ X11BASE } \
${ ALL_HOOK }
. e n d i f
1994-10-14 07:56:46 +00:00
. i f ! t a r g e t ( a l l )
1995-04-17 06:28:15 +00:00
all : build
1994-10-14 07:56:46 +00:00
. e n d i f
1994-08-21 13:12:57 +00:00
1997-04-30 03:12:05 +00:00
. i f ! d e f i n e d ( D E P E N D S _ T A R G E T )
1997-08-20 03:44:14 +00:00
. i f m a k e ( r e i n s t a l l )
DEPENDS_TARGET = reinstall
. e l s e
1997-04-30 03:12:05 +00:00
DEPENDS_TARGET = install
1994-10-03 14:38:27 +00:00
. e n d i f
1997-08-20 03:44:14 +00:00
. e n d i f
1994-10-03 14:38:27 +00:00
1995-04-20 18:03:02 +00:00
################################################################
# The following are used to create easy dummy targets for
# disabling some bit of default target behavior you don't want.
# They still check to see if the target exists, and if so don't
# do anything, since you might want to set this globally for a
# group of ports in a Makefile.inc, but still be able to
1995-05-29 13:46:38 +00:00
# override from an individual Makefile.
1995-04-20 18:03:02 +00:00
################################################################
1996-11-01 07:22:37 +00:00
# Disable checksum
. i f d e f i n e d ( N O _ C H E C K S U M ) & & ! t a r g e t ( c h e c k s u m )
checksum : fetch
@${ DO_NADA }
. e n d i f
1996-06-01 05:47:42 +00:00
# Disable extract
1994-08-28 14:41:34 +00:00
. i f d e f i n e d ( N O _ E X T R A C T ) & & ! t a r g e t ( e x t r a c t )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
extract : fetch
1998-10-30 08:28:02 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } checksum REAL_EXTRACT = yes
1994-11-01 18:09:22 +00:00
@${ TOUCH } ${ TOUCH_FLAGS } ${ EXTRACT_COOKIE }
1994-08-28 14:41:34 +00:00
. e n d i f
1996-06-01 05:47:42 +00:00
# Disable build
1994-08-28 14:41:34 +00:00
. i f d e f i n e d ( N O _ B U I L D ) & & ! t a r g e t ( b u i l d )
1995-04-24 10:41:51 +00:00
build : configure
1994-11-01 18:09:22 +00:00
@${ TOUCH } ${ TOUCH_FLAGS } ${ BUILD_COOKIE }
1994-08-28 14:41:34 +00:00
. e n d i f
1996-06-01 05:47:42 +00:00
# Disable install
1994-08-28 14:41:34 +00:00
. i f d e f i n e d ( N O _ I N S T A L L ) & & ! t a r g e t ( i n s t a l l )
1995-04-24 10:41:51 +00:00
install : build
1994-11-01 18:09:22 +00:00
@${ TOUCH } ${ TOUCH_FLAGS } ${ INSTALL_COOKIE }
1994-08-28 14:41:34 +00:00
. e n d i f
1996-06-01 05:47:42 +00:00
1996-11-01 07:22:37 +00:00
# Disable package
. i f d e f i n e d ( N O _ P A C K A G E ) & & ! t a r g e t ( p a c k a g e )
package :
1996-12-09 07:08:16 +00:00
. i f d e f i n e d ( I G N O R E _ S I L E N T )
1996-11-01 07:22:37 +00:00
@${ DO_NADA }
1996-12-09 07:08:16 +00:00
. e l s e
@${ ECHO_MSG } " ===> ${ PKGNAME } may not be packaged: ${ NO_PACKAGE } . "
. e n d i f
1996-11-01 07:22:37 +00:00
. e n d i f
# Disable describe
. i f d e f i n e d ( N O _ D E S C R I B E ) & & ! t a r g e t ( d e s c r i b e )
describe :
@${ DO_NADA }
1994-11-11 09:45:33 +00:00
. e n d i f
1994-08-28 14:41:34 +00:00
1995-04-20 18:03:02 +00:00
################################################################
1994-08-28 14:41:34 +00:00
# More standard targets start here.
1995-03-22 21:46:04 +00:00
#
1995-04-20 18:03:02 +00:00
# These are the body of the build/install framework. If you are
# not happy with the default actions, and you can't solve it by
# adding pre-* or post-* targets/scripts, override these.
################################################################
# Fetch
. i f ! t a r g e t ( d o - f e t c h )
do-fetch :
1996-11-30 10:31:50 +00:00
@${ MKDIR } ${ _DISTDIR }
@( cd ${ _DISTDIR } ; \
1995-04-20 18:03:02 +00:00
for file in ${ DISTFILES } ; do \
1996-03-06 08:08:16 +00:00
if [ ! -f $$ file -a ! -f ` ${ BASENAME } $$ file` ] ; then \
if [ -h $$ file -o -h ` ${ BASENAME } $$ file` ] ; then \
1996-11-30 10:31:50 +00:00
${ ECHO_MSG } " >> ${ _DISTDIR } / $$ file is a broken symlink. " ; \
1996-02-16 11:19:00 +00:00
${ ECHO_MSG } ">> Perhaps a filesystem (most likely a CD) isn't mounted?" ; \
${ ECHO_MSG } ">> Please correct this problem and try again." ; \
exit 1; \
fi ; \
1995-04-20 18:03:02 +00:00
${ ECHO_MSG } " >> $$ file doesn't seem to exist on this system. " ; \
for site in ${ MASTER_SITES } ; do \
1995-10-04 11:13:52 +00:00
${ ECHO_MSG } " >> Attempting to fetch from $$ {site}. " ; \
1998-09-22 23:58:49 +00:00
DIR = ${ DIST_SUBDIR } ; \
CKSIZE = ` ${ GREP } " ^SIZE ( $$ {DIR:+ $$ DIR/} $$ file) " ${ MD5_FILE } | ${ AWK } '{print $$4}' ` ; \
1996-06-19 09:33:31 +00:00
if ${ FETCH_CMD } ${ FETCH_BEFORE_ARGS } $$ { site} $$ { file} ${ FETCH_AFTER_ARGS } ; then \
1995-08-29 11:57:40 +00:00
continue 2; \
1995-04-20 18:03:02 +00:00
fi \
done ; \
1996-06-22 21:20:56 +00:00
${ ECHO_MSG } ">> Couldn't fetch it - please try to retrieve this" ; \
1996-11-30 10:31:50 +00:00
${ ECHO_MSG } " >> port manually into ${ _DISTDIR } and try again. " ; \
1995-08-29 11:57:40 +00:00
exit 1; \
1995-04-20 18:03:02 +00:00
fi \
done )
. i f d e f i n e d ( P A T C H F I L E S )
1996-11-30 10:31:50 +00:00
@( cd ${ _DISTDIR } ; \
1995-04-20 18:03:02 +00:00
for file in ${ PATCHFILES } ; do \
1996-03-06 08:08:16 +00:00
if [ ! -f $$ file -a ! -f ` ${ BASENAME } $$ file` ] ; then \
if [ -h $$ file -o -h ` ${ BASENAME } $$ file` ] ; then \
1996-11-30 10:31:50 +00:00
${ ECHO_MSG } " >> ${ _DISTDIR } / $$ file is a broken symlink. " ; \
1996-02-16 11:19:00 +00:00
${ ECHO_MSG } ">> Perhaps a filesystem (most likely a CD) isn't mounted?" ; \
${ ECHO_MSG } ">> Please correct this problem and try again." ; \
exit 1; \
fi ; \
1995-04-20 18:03:02 +00:00
${ ECHO_MSG } " >> $$ file doesn't seem to exist on this system. " ; \
for site in ${ PATCH_SITES } ; do \
${ ECHO_MSG } " >> Attempting to fetch from $$ {site}. " ; \
1998-09-22 23:58:49 +00:00
DIR = ${ DIST_SUBDIR } ; \
CKSIZE = ` ${ GREP } " ^SIZE ( $$ {DIR:+ $$ DIR/} $$ file) " ${ MD5_FILE } | ${ AWK } '{print $$4}' ` ; \
1996-06-19 09:33:31 +00:00
if ${ FETCH_CMD } ${ FETCH_BEFORE_ARGS } $$ { site} $$ { file} ${ FETCH_AFTER_ARGS } ; then \
1995-08-29 11:57:40 +00:00
continue 2; \
1995-04-20 18:03:02 +00:00
fi \
done ; \
1996-06-22 21:20:56 +00:00
${ ECHO_MSG } ">> Couldn't fetch it - please try to retrieve this" ; \
1996-11-30 10:31:50 +00:00
${ ECHO_MSG } " >> port manually into ${ _DISTDIR } and try again. " ; \
1995-08-29 11:57:40 +00:00
exit 1; \
1995-04-20 18:03:02 +00:00
fi \
done )
. e n d i f
. e n d i f
# Extract
. i f ! t a r g e t ( d o - e x t r a c t )
do-extract :
1996-06-19 01:04:23 +00:00
. i f ! d e f i n e d ( N O _ W R K D I R )
1996-03-06 08:08:16 +00:00
@${ RM } -rf ${ WRKDIR }
1996-11-01 07:22:37 +00:00
@${ MKDIR } ${ WRKDIR }
1996-06-19 01:04:23 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
@for file in ${ EXTRACT_ONLY } ; do \
1997-01-10 21:02:27 +00:00
if ! ( cd ${ WRKDIR } && ${ EXTRACT_CMD } ${ EXTRACT_BEFORE_ARGS } ${ _DISTDIR } /$$ file ${ EXTRACT_AFTER_ARGS } ) ; \
1995-04-20 18:03:02 +00:00
then \
exit 1; \
fi \
done
. e n d i f
# Patch
. i f ! t a r g e t ( d o - p a t c h )
do-patch :
. i f d e f i n e d ( P A T C H F I L E S )
1996-02-08 00:44:33 +00:00
@${ ECHO_MSG } " ===> Applying distribution patches for ${ PKGNAME } "
1996-11-30 10:31:50 +00:00
@( cd ${ _DISTDIR } ; \
1995-04-20 18:03:02 +00:00
for i in ${ PATCHFILES } ; do \
1996-08-17 10:16:02 +00:00
if [ ${ PATCH_DEBUG_TMP } = yes ] ; then \
${ ECHO_MSG } " ===> Applying distribution patch $$ i " ; \
fi ; \
1995-04-20 18:03:02 +00:00
case $$ i in \
*.Z| *.gz) \
1996-03-06 08:08:16 +00:00
${ GZCAT } $$ i | ${ PATCH } ${ PATCH_DIST_ARGS } ; \
1995-04-20 18:03:02 +00:00
; ; \
*) \
${ PATCH } ${ PATCH_DIST_ARGS } < $$ i; \
; ; \
esac ; \
done )
. e n d i f
@if [ -d ${ PATCHDIR } ] ; then \
1996-08-17 10:16:02 +00:00
if [ " `echo ${ PATCHDIR } /patch-*` " = " ${ PATCHDIR } /patch-* " ] ; then \
${ ECHO_MSG } "===> Ignoring empty patch directory" ; \
if [ -d ${ PATCHDIR } /CVS ] ; then \
${ ECHO_MSG } "===> Perhaps you forgot the -P flag to cvs co or update?" ; \
fi ; \
else \
1996-11-01 07:22:37 +00:00
${ ECHO_MSG } " ===> Applying ${ OPSYS } patches for ${ PKGNAME } " ; \
1996-08-17 10:16:02 +00:00
for i in ${ PATCHDIR } /patch-*; do \
case $$ i in \
1997-01-12 11:48:26 +00:00
*.orig| *.rej| *~) \
1996-08-17 10:16:02 +00:00
${ ECHO_MSG } " ===> Ignoring patchfile $$ i " ; \
; ; \
*) \
if [ ${ PATCH_DEBUG_TMP } = yes ] ; then \
1996-11-01 07:22:37 +00:00
${ ECHO_MSG } " ===> Applying ${ OPSYS } patch $$ i " ; \
1996-08-17 10:16:02 +00:00
fi ; \
${ PATCH } ${ PATCH_ARGS } < $$ i; \
; ; \
esac ; \
done ; \
fi ; \
1995-03-21 01:51:12 +00:00
fi
1995-04-20 18:03:02 +00:00
. e n d i f
1995-01-03 11:52:01 +00:00
1995-04-20 18:03:02 +00:00
# Configure
1994-11-03 19:14:08 +00:00
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( d o - c o n f i g u r e )
do-configure :
1998-01-02 10:37:14 +00:00
. i f d e f i n e d ( U S E _ A U T O C O N F )
@( cd ${ WRKSRC } && ${ AUTOCONF } )
. e n d i f
1996-09-24 06:48:22 +00:00
@if [ -f ${ SCRIPTDIR } /configure ] ; then \
1997-07-10 02:29:51 +00:00
cd ${ .CURDIR } && ${ SETENV } ${ SCRIPTS_ENV } ${ SH } \
1997-01-12 11:48:26 +00:00
${ SCRIPTDIR } /configure; \
1995-04-20 18:03:02 +00:00
fi
. i f d e f i n e d ( H A S _ C O N F I G U R E )
1998-03-07 04:40:19 +00:00
@( cd ${ WRKSRC } && CC = " ${ CC } " CXX = " ${ CXX } " ac_cv_path_CC = " ${ CC } " \
CFLAGS = " ${ CFLAGS } " \
1995-04-20 18:03:02 +00:00
INSTALL = " /usr/bin/install -c -o ${ BINOWN } -g ${ BINGRP } " \
1998-01-02 10:37:14 +00:00
INSTALL_DATA = " ${ INSTALL_DATA } " \
1996-08-18 10:53:16 +00:00
INSTALL_PROGRAM = " ${ INSTALL_PROGRAM } " \
1998-01-02 10:37:14 +00:00
INSTALL_SCRIPT = " ${ INSTALL_SCRIPT } " \
1995-10-04 23:22:21 +00:00
${ CONFIGURE_ENV } ./${ CONFIGURE_SCRIPT } ${ CONFIGURE_ARGS } )
1995-04-20 18:03:02 +00:00
. e n d i f
. i f d e f i n e d ( U S E _ I M A K E )
1996-06-19 01:04:23 +00:00
@( cd ${ WRKSRC } && ${ XMKMF } )
1994-11-03 19:14:08 +00:00
. e n d i f
1995-07-15 14:07:02 +00:00
. e n d i f
1994-11-03 19:14:08 +00:00
1995-04-20 18:03:02 +00:00
# Build
. i f ! t a r g e t ( d o - b u i l d )
do-build :
. i f d e f i n e d ( U S E _ G M A K E )
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
@( cd ${ WRKSRC } ; ${ SETENV } ${ MAKE_ENV } ${ GMAKE } ${ MAKE_FLAGS } ${ MAKEFILE } ${ ALL_TARGET } )
1995-04-20 18:03:02 +00:00
. e l s e d e f i n e d ( U S E _ G M A K E )
Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
package on the CDROM you're going to sell". It will basically
turn off everything if FOR_CDROM is set.
Many of the NO_PACKAGE ports are actually "don't sell for profit"
types, which we shouldn't have any problem distributing via ftp.
(2) The new RESTRICTED Boolean variable means don't build this unless
you know what you are doing. It doesn't have any effect unless
NO_RESTRICTED is also set.
(3) BROKEN means this port is broken. At least it will now show up in
INDEX and README.html, and give people more incentive to fix (I
hope).
RESTRICTED and BROKEN are expected to replace the pseudo-targets
in parent Makefiles. (The RESTRICTED and BROKEN list didn't do
anything before, they were solely for grepping purposes.)
(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
which the porter sets for ports that require Motif to build;
HAVE_MOTIF, which the user sets to indicate the system has Motif;
MOTIF_STATIC, which the user sets to indicate that the static
libXm, instead af the default dynamic library, is to be used; and
MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
"-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.
The porter is expected to replace all occurrences of libXm in the
{Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
linkage (for users with Motif) and static linkage (for those who
build packages to be used by those withot Motif, i.e., me ;)
automatically.
Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
@( cd ${ WRKSRC } ; ${ SETENV } ${ MAKE_ENV } ${ MAKE } ${ MAKE_FLAGS } ${ MAKEFILE } ${ ALL_TARGET } )
1995-04-20 18:03:02 +00:00
. e n d i f
1994-08-24 14:49:33 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
# Install
1994-10-03 14:38:27 +00:00
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( d o - i n s t a l l )
do-install :
1994-08-21 13:12:57 +00:00
. i f d e f i n e d ( U S E _ G M A K E )
1996-06-19 01:04:23 +00:00
@( cd ${ WRKSRC } && ${ SETENV } ${ MAKE_ENV } ${ GMAKE } ${ MAKE_FLAGS } ${ MAKEFILE } ${ INSTALL_TARGET } )
1994-12-12 22:32:30 +00:00
. i f d e f i n e d ( U S E _ I M A K E ) & & ! d e f i n e d ( N O _ I N S T A L L _ M A N P A G E S )
1996-06-19 01:04:23 +00:00
@( cd ${ WRKSRC } && ${ SETENV } ${ MAKE_ENV } ${ GMAKE } ${ MAKE_FLAGS } ${ MAKEFILE } install.man)
1994-12-12 22:32:30 +00:00
. e n d i f
1994-08-21 13:12:57 +00:00
. e l s e d e f i n e d ( U S E _ G M A K E )
1996-06-19 01:04:23 +00:00
@( cd ${ WRKSRC } && ${ SETENV } ${ MAKE_ENV } ${ MAKE } ${ MAKE_FLAGS } ${ MAKEFILE } ${ INSTALL_TARGET } )
1994-12-10 18:07:38 +00:00
. i f d e f i n e d ( U S E _ I M A K E ) & & ! d e f i n e d ( N O _ I N S T A L L _ M A N P A G E S )
1996-06-19 01:04:23 +00:00
@( cd ${ WRKSRC } && ${ SETENV } ${ MAKE_ENV } ${ MAKE } ${ MAKE_FLAGS } ${ MAKEFILE } install.man)
1994-10-22 09:21:35 +00:00
. e n d i f
1995-04-19 15:02:26 +00:00
. e n d i f
1995-04-22 00:08:06 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
1995-08-18 10:06:28 +00:00
# Package
1995-04-20 18:03:02 +00:00
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( d o - p a c k a g e )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
do-package : ${TMPPLIST }
@${ ECHO_MSG } " ===> Building package for ${ PKGNAME } "
@if [ -d ${ PACKAGES } ] ; then \
if [ ! -d ${ PKGREPOSITORY } ] ; then \
if ! ${ MKDIR } ${ PKGREPOSITORY } ; then \
${ ECHO_MSG } " >> Can't create directory ${ PKGREPOSITORY } . " ; \
exit 1; \
1995-08-18 10:06:28 +00:00
fi ; \
fi ; \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
fi
@if ${ PKG_CMD } ${ PKG_ARGS } ${ PKGFILE } ; then \
if [ -d ${ PACKAGES } ] ; then \
${ MAKE } ${ .MAKEFLAGS } package-links; \
1995-08-18 10:06:28 +00:00
fi ; \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
else \
${ MAKE } ${ .MAKEFLAGS } delete-package; \
exit 1; \
1995-04-20 18:03:02 +00:00
fi
1994-08-21 13:12:57 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
# Some support rules for do-package
1995-04-20 18:03:02 +00:00
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( p a c k a g e - l i n k s )
package-links :
@${ MAKE } ${ .MAKEFLAGS } delete-package-links
@for cat in ${ CATEGORIES } ; do \
if [ ! -d ${ PACKAGES } /$$ cat ] ; then \
1996-11-01 07:22:37 +00:00
if ! ${ MKDIR } ${ PACKAGES } /$$ cat; then \
1995-08-18 10:06:28 +00:00
${ ECHO_MSG } " >> Can't create directory ${ PACKAGES } / $$ cat. " ; \
exit 1; \
fi ; \
fi ; \
1998-01-02 10:37:14 +00:00
${ LN } -s ../${ PKGREPOSITORYSUBDIR } /${ PKGNAME } ${ PKG_SUFX } ${ PACKAGES } /$$ cat; \
done
1998-02-04 10:36:56 +00:00
. i f ! d e f i n e d ( N O _ L A T E S T _ L I N K )
1998-01-02 10:37:14 +00:00
@if [ ! -d ${ PKGLATESTREPOSITORY } ] ; then \
if ! ${ MKDIR } ${ PKGLATESTREPOSITORY } ; then \
${ ECHO_MSG } " >> Can't create directory ${ PKGLATESTREPOSITORY } . " ; \
exit 1; \
fi ; \
fi
@${ LN } -s ../${ PKGREPOSITORYSUBDIR } /${ PKGNAME } ${ PKG_SUFX } ${ PKGLATESTFILE }
1995-04-09 12:27:58 +00:00
. e n d i f
1998-02-04 10:36:56 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( d e l e t e - p a c k a g e - l i n k s )
delete-package-links :
1998-03-24 03:34:51 +00:00
@${ RM } -f ${ PACKAGES } /[ a-z] */${ PKGNAME } ${ PKG_SUFX }
. i f ! d e f i n e d ( N O _ L A T E S T _ L I N K )
@${ RM } -f ${ PKGLATESTFILE }
. e n d i f
1995-04-09 12:27:58 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( d e l e t e - p a c k a g e )
delete-package :
@${ MAKE } ${ .MAKEFLAGS } delete-package-links
1996-03-06 08:08:16 +00:00
@${ RM } -f ${ PKGFILE }
1995-08-18 10:06:28 +00:00
. e n d i f
1994-08-24 14:49:33 +00:00
1995-08-18 10:06:28 +00:00
################################################################
# This is the "generic" port target, actually a macro used from the
# six main targets. See below for more.
################################################################
1995-04-17 06:39:05 +00:00
1995-08-18 10:06:28 +00:00
_PORT_USE : .USE
1995-09-18 08:01:20 +00:00
. i f m a k e ( r e a l - f e t c h )
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } fetch-depends
1995-09-18 08:01:20 +00:00
. e n d i f
. i f m a k e ( r e a l - e x t r a c t )
1998-09-22 23:58:49 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } checksum REAL_EXTRACT = yes
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } build-depends lib-depends misc-depends
1995-09-18 08:01:20 +00:00
. e n d i f
. i f m a k e ( r e a l - i n s t a l l )
1997-02-23 13:24:45 +00:00
. i f ! d e f i n e d ( N O _ P K G _ R E G I S T E R ) & & ! d e f i n e d ( F O R C E _ P K G _ R E G I S T E R )
@if [ -d ${ PKG_DBDIR } /${ PKGNAME } ] ; then \
${ ECHO_MSG } " ===> ${ PKGNAME } is already installed - perhaps an older version? " ; \
1998-01-31 20:59:30 +00:00
${ ECHO_MSG } " If so, you may wish to \`\`make deinstall'' and install" ; \
1997-02-23 13:24:45 +00:00
${ ECHO_MSG } " this port again by \`\`make reinstall'' to upgrade it properly." ; \
${ ECHO_MSG } " If you really wish to overwrite the old port of ${ PKGNAME } " ; \
${ ECHO_MSG } " without deleting it first, set the variable \"FORCE_PKG_REGISTER\"" ; \
${ ECHO_MSG } " in your environment or the \"make install\" command line." ; \
exit 1; \
fi
. e n d i f
1997-07-10 02:29:51 +00:00
@if [ ` ${ SH } -c umask ` != 0022 ] ; then \
${ ECHO_MSG } " ===> Warning: your umask is \"` ${ SH } -c umask` " \" .; \
1997-06-18 03:20:22 +00:00
${ ECHO_MSG } " If this is not desired, set it to an appropriate value" ; \
${ ECHO_MSG } " and install this port again by \`\`make reinstall''." ; \
fi
1996-11-01 07:22:37 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } run-depends lib-depends
1995-09-18 08:01:20 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. i f m a k e ( r e a l - i n s t a l l )
. i f ! d e f i n e d ( N O _ M T R E E )
@if [ ` id -u` = 0 ] ; then \
1998-02-19 06:49:27 +00:00
${ MKDIR } ${ PREFIX } ; \
1997-08-20 03:44:14 +00:00
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 ; \
1995-08-18 10:06:28 +00:00
else \
${ ECHO_MSG } "Warning: not superuser, can't run mtree." ; \
${ ECHO_MSG } "Become root and try again to ensure correct permissions." ; \
fi
1995-04-17 06:39:05 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. e n d i f
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } ${ .TARGET : S /^real-/pre-/ }
1995-08-18 10:06:28 +00:00
@if [ -f ${ SCRIPTDIR } /${ .TARGET : S /^real-/pre-/ } ] ; then \
1997-07-10 02:29:51 +00:00
cd ${ .CURDIR } && ${ SETENV } ${ SCRIPTS_ENV } ${ SH } \
1997-01-12 11:48:26 +00:00
${ SCRIPTDIR } /${ .TARGET : S /^real-/pre-/ } ; \
1994-08-22 11:20:07 +00:00
fi
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } ${ .TARGET : S /^real-/do-/ }
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# put here so ports can change the contents of ${TMPPLIST} if necessary
. i f m a k e ( r e a l - i n s t a l l )
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } generate-plist
. e n d i f
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } ${ .TARGET : S /^real-/post-/ }
1995-08-18 10:06:28 +00:00
@if [ -f ${ SCRIPTDIR } /${ .TARGET : S /^real-/post-/ } ] ; then \
1997-07-10 02:29:51 +00:00
cd ${ .CURDIR } && ${ SETENV } ${ SCRIPTS_ENV } ${ SH } \
1997-01-12 11:48:26 +00:00
${ SCRIPTDIR } /${ .TARGET : S /^real-/post-/ } ; \
1995-04-20 18:03:02 +00:00
fi
1998-09-10 06:38:02 +00:00
. i f m a k e ( r e a l - i n s t a l l ) & & ( d e f i n e d ( _ M A N P A G E S ) | | d e f i n e d ( _ M L I N K S ) )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } compress-man
1996-12-11 04:51:31 +00:00
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f m a k e ( r e a l - i n s t a l l ) & & ! d e f i n e d ( N O _ P K G _ R E G I S T E R )
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } fake-pkg
1995-02-04 05:49:26 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. i f ! m a k e ( r e a l - f e t c h ) \
&& ( !make( real-patch) || !defined( PATCH_CHECK_ONLY) ) \
&& ( !make( real-package) || !defined( PACKAGE_NOINSTALL) )
@${ TOUCH } ${ TOUCH_FLAGS } ${ WRKDIR } /.${ .TARGET : S /^real-// } _done
1995-06-24 10:27:23 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
################################################################
# Skeleton targets start here
#
# You shouldn't have to change these. Either add the pre-* or
# post-* targets/scripts or redefine the do-* targets. These
# targets don't do anything other than checking for cookies and
# call the necessary targets/scripts.
################################################################
1995-06-24 10:27:23 +00:00
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( f e t c h )
1995-09-18 08:01:20 +00:00
fetch :
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } real-fetch
1995-06-24 10:27:23 +00:00
. e n d i f
1995-02-04 05:49:26 +00:00
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( e x t r a c t )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
extract : ${EXTRACT_COOKIE }
1995-08-18 10:06:28 +00:00
. e n d i f
. i f ! t a r g e t ( p a t c h )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
patch : ${PATCH_COOKIE }
1995-08-18 10:06:28 +00:00
. e n d i f
1995-02-04 05:49:26 +00:00
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( c o n f i g u r e )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
configure : ${CONFIGURE_COOKIE }
1994-11-15 10:16:56 +00:00
. e n d i f
. i f ! t a r g e t ( b u i l d )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
build : ${BUILD_COOKIE }
1994-08-21 13:12:57 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( i n s t a l l )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
install : ${INSTALL_COOKIE }
1995-08-18 10:06:28 +00:00
. e n d i f
1994-11-11 09:45:33 +00:00
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( p a c k a g e )
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
package : ${PACKAGE_COOKIE }
1995-08-18 10:06:28 +00:00
. e n d i f
${EXTRACT_COOKIE} :
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } fetch
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } real-extract
1995-08-18 10:06:28 +00:00
${PATCH_COOKIE} :
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } extract
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } real-patch
1995-08-18 10:06:28 +00:00
${CONFIGURE_COOKIE} :
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } patch
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } real-configure
1995-08-18 10:06:28 +00:00
${BUILD_COOKIE} :
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } configure
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } real-build
1995-04-20 18:03:02 +00:00
${INSTALL_COOKIE} :
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } build
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } real-install
1995-08-18 10:06:28 +00:00
${PACKAGE_COOKIE} :
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } install
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } real-package
1995-08-18 10:06:28 +00:00
# And call the macros
real-fetch : _PORT_USE
real-extract : _PORT_USE
@${ ECHO_MSG } " ===> Extracting for ${ PKGNAME } "
real-patch : _PORT_USE
@${ ECHO_MSG } " ===> Patching for ${ PKGNAME } "
real-configure : _PORT_USE
@${ ECHO_MSG } " ===> Configuring for ${ PKGNAME } "
real-build : _PORT_USE
@${ ECHO_MSG } " ===> Building for ${ PKGNAME } "
real-install : _PORT_USE
1995-04-20 18:03:02 +00:00
@${ ECHO_MSG } " ===> Installing for ${ PKGNAME } "
1995-08-18 10:06:28 +00:00
real-package : _PORT_USE
# Empty pre-* and post-* targets, note we can't use .if !target()
# in the _PORT_USE macro
. f o r n a m e i n f e t c h e x t r a c t p a t c h c o n f i g u r e b u i l d i n s t a l l p a c k a g e
. i f ! t a r g e t ( p r e - $ { n a m e } )
pre-${name} :
@${ DO_NADA }
1994-08-25 22:59:56 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( p o s t - $ { n a m e } )
post-${name} :
@${ DO_NADA }
1994-11-16 23:14:22 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. e n d f o r
# Checkpatch
#
# Special target to verify patches
. i f ! t a r g e t ( c h e c k p a t c h )
checkpatch :
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } PATCH_CHECK_ONLY = yes ${ .MAKEFLAGS } patch
1995-04-20 18:03:02 +00:00
. e n d i f
# Reinstall
#
1995-08-18 10:06:28 +00:00
# Special target to re-run install
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( r e i n s t a l l )
1997-06-04 00:12:19 +00:00
reinstall :
@${ RM } -f ${ INSTALL_COOKIE } ${ PACKAGE_COOKIE }
1997-08-20 03:44:14 +00:00
@DEPENDS_TARGET= ${ DEPENDS_TARGET } ${ MAKE } install
1994-08-22 11:20:07 +00:00
. e n d i f
1998-01-02 10:37:14 +00:00
# Deinstall
#
# Special target to remove installation
. i f ! t a r g e t ( d e i n s t a l l )
deinstall :
1998-08-12 01:47:47 +00:00
@${ ECHO_MSG } " ===> Deinstalling for ${ PKGNAME } "
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@${ PKG_DELETE } -f ${ PKGNAME }
1998-01-02 10:37:14 +00:00
@${ RM } -f ${ INSTALL_COOKIE } ${ PACKAGE_COOKIE }
. e n d i f
1995-04-20 18:03:02 +00:00
################################################################
# Some more targets supplied for users' convenience
################################################################
# Cleaning up
. i f ! t a r g e t ( p r e - c l e a n )
pre-clean :
1994-08-28 14:41:34 +00:00
@${ DO_NADA }
1994-08-24 14:49:33 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( c l e a n )
clean : pre -clean
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f ! d e f i n e d ( N O C L E A N D E P E N D S )
@${ MAKE } clean-depends
. e n d i f
1995-04-20 18:03:02 +00:00
@${ ECHO_MSG } " ===> Cleaning for ${ PKGNAME } "
1996-06-24 04:24:10 +00:00
. i f ! d e f i n e d ( N O _ W R K D I R )
1996-11-30 10:31:50 +00:00
@if [ -d ${ WRKDIR } ] ; then \
if [ -w ${ WRKDIR } ] ; then \
${ RM } -rf ${ WRKDIR } ; \
else \
${ ECHO_MSG } " ===> ${ WRKDIR } not writable, skipping " ; \
fi ; \
fi
1995-04-24 10:41:51 +00:00
. e l s e
1998-08-12 01:47:47 +00:00
@${ RM } -f ${ WRKDIR } /.*_done ${ TMPPLIST }
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
. e n d i f
1994-09-09 06:21:43 +00:00
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f ! t a r g e t ( p r e - d i s t c l e a n )
pre-distclean :
@${ DO_NADA }
. e n d i f
. i f ! t a r g e t ( d i s t c l e a n )
distclean : pre -distclean clean
@${ ECHO_MSG } " ===> Dist cleaning for ${ PKGNAME } "
1998-09-22 23:58:49 +00:00
@( if [ " X ${ DISTFILES } ${ PATCHFILES } " != "X" -a -d ${ _DISTDIR } ] ; then \
1997-02-23 13:24:45 +00:00
cd ${ _DISTDIR } ; \
${ RM } -f ${ DISTFILES } ${ PATCHFILES } ; \
fi )
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f d e f i n e d ( D I S T _ S U B D I R )
1997-04-15 08:36:41 +00:00
-@${ RMDIR } ${ _DISTDIR }
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. e n d i f
. e n d i f
1995-04-20 18:03:02 +00:00
# Prints out a list of files to fetch (useful to do a batch fetch)
1995-03-21 03:59:13 +00:00
. i f ! t a r g e t ( f e t c h - l i s t )
fetch-list :
1996-11-30 10:31:50 +00:00
@${ MKDIR } ${ _DISTDIR }
@( cd ${ _DISTDIR } ; \
1995-03-21 03:59:13 +00:00
for file in ${ DISTFILES } ; do \
1996-03-06 08:08:16 +00:00
if [ ! -f $$ file -a ! -f ` ${ BASENAME } $$ file` ] ; then \
1995-03-21 03:59:13 +00:00
for site in ${ MASTER_SITES } ; do \
1998-09-22 23:58:49 +00:00
DIR = ${ DIST_SUBDIR } ; \
CKSIZE = ` ${ GREP } " ^SIZE ( $$ {DIR:+ $$ DIR/} $$ file) " ${ MD5_FILE } | ${ AWK } '{print $$4}' ` ; \
1996-06-19 09:33:31 +00:00
${ ECHO } -n ${ FETCH_CMD } ${ FETCH_BEFORE_ARGS } $$ { site} $$ { file} " ${ FETCH_AFTER_ARGS } " '||' ; \
1995-03-21 03:59:13 +00:00
break; \
done ; \
1996-03-06 08:08:16 +00:00
${ ECHO } " echo $$ {file} not fetched " ; \
1995-03-21 03:59:13 +00:00
fi \
done )
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
. i f d e f i n e d ( P A T C H F I L E S )
1996-11-30 10:31:50 +00:00
@( cd ${ _DISTDIR } ; \
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
for file in ${ PATCHFILES } ; do \
1996-03-06 08:08:16 +00:00
if [ ! -f $$ file -a ! -f ` ${ BASENAME } $$ file` ] ; then \
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
for site in ${ PATCH_SITES } ; do \
1998-09-22 23:58:49 +00:00
DIR = ${ DIST_SUBDIR } ; \
CKSIZE = ` ${ GREP } " ^SIZE ( $$ {DIR:+ $$ DIR/} $$ file) " ${ MD5_FILE } | ${ AWK } '{print $$4}' ` ; \
1996-06-19 09:33:31 +00:00
${ ECHO } -n ${ FETCH_CMD } ${ FETCH_BEFORE_ARGS } $$ { site} $$ { file} " ${ FETCH_AFTER_ARGS } " '||' ; \
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
break; \
done ; \
1996-03-06 08:08:16 +00:00
${ ECHO } " echo $$ {file} not fetched " ; \
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
fi \
1995-05-04 18:53:26 +00:00
done )
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
. e n d i f
1995-03-21 03:59:13 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
# Checksumming utilities
1995-01-04 23:06:38 +00:00
. i f ! t a r g e t ( m a k e s u m )
makesum : fetch
1996-11-30 10:31:50 +00:00
@${ MKDIR } ${ FILESDIR }
1996-03-06 08:08:16 +00:00
@if [ -f ${ MD5_FILE } ] ; then ${ RM } -f ${ MD5_FILE } ; fi
1994-12-11 20:36:12 +00:00
@( cd ${ DISTDIR } ; \
1996-12-17 12:20:53 +00:00
for file in ${ _CKSUMFILES } ; do \
1994-12-11 20:36:12 +00:00
${ MD5 } $$ file >> ${ MD5_FILE } ; \
1995-05-04 18:53:26 +00:00
done )
1996-12-17 12:20:53 +00:00
@for file in ${ _IGNOREFILES } ; do \
${ ECHO } " MD5 ( $$ file) = IGNORE " >> ${ MD5_FILE } ; \
done
1994-12-11 20:36:12 +00:00
. e n d i f
1998-09-22 23:58:49 +00:00
# this line goes after the ${MD5} above
# echo "SIZE ($$file) = "`wc -c < $$file` >> ${MD5_FILE}; \
1994-12-11 20:36:12 +00:00
1995-01-04 23:06:38 +00:00
. i f ! t a r g e t ( c h e c k s u m )
1998-09-22 23:58:49 +00:00
checksum :
. i f ! d e f i n e d ( R E A L _ E X T R A C T )
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } fetch
. e n d i f
1994-12-11 20:36:12 +00:00
@if [ ! -f ${ MD5_FILE } ] ; then \
1995-03-21 03:59:13 +00:00
${ ECHO_MSG } ">> No MD5 checksum file." ; \
1995-01-06 22:14:12 +00:00
else \
1996-12-17 12:20:53 +00:00
( cd ${ DISTDIR } ; OK = "true" ; \
for file in ${ _CKSUMFILES } ; do \
1996-06-19 01:04:23 +00:00
CKSUM = ` ${ MD5 } < $$ file` ; \
1996-12-23 02:49:35 +00:00
CKSUM2 = ` ${ GREP } " ^MD5 ( $$ file) " ${ MD5_FILE } | ${ AWK } '{print $$4}' ` ; \
1995-01-22 20:40:48 +00:00
if [ " $$ CKSUM2 " = "" ] ; then \
1996-12-17 12:20:53 +00:00
${ ECHO_MSG } " >> No checksum recorded for $$ file. " ; \
OK = "false" ; \
elif [ " $$ CKSUM2 " = "IGNORE" ] ; then \
${ ECHO_MSG } " >> Checksum for $$ file is set to IGNORE in md5 file even though " ; \
${ ECHO_MSG } " the file is not in the " '$$' "{IGNOREFILES} list." ; \
1995-01-22 20:40:48 +00:00
OK = "false" ; \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
elif ${ EXPR } " $$ CKSUM2 " : " .* $$ CKSUM " > /dev/null; then \
1996-12-23 02:49:35 +00:00
${ ECHO_MSG } " >> Checksum OK for $$ file. " ; \
else \
1996-12-17 12:20:53 +00:00
${ ECHO_MSG } " >> Checksum mismatch for $$ file. " ; \
1996-12-23 02:49:35 +00:00
OK = "false" ; \
1995-01-22 20:40:48 +00:00
fi ; \
1995-05-04 18:53:26 +00:00
done ; \
1996-12-17 12:20:53 +00:00
for file in ${ _IGNOREFILES } ; do \
CKSUM2 = ` ${ GREP } " ( $$ file) " ${ MD5_FILE } | ${ AWK } '{print $$4}' ` ; \
if [ " $$ CKSUM2 " = "" ] ; then \
${ ECHO_MSG } " >> No checksum recorded for $$ file, file is in " '$$' "{IGNOREFILES} list." ; \
OK = "false" ; \
elif [ " $$ CKSUM2 " != "IGNORE" ] ; then \
${ ECHO_MSG } " >> Checksum for $$ file is not set to IGNORE in md5 file even though " ; \
${ ECHO_MSG } " the file is in the " '$$' "{IGNOREFILES} list." ; \
OK = "false" ; \
fi ; \
done ; \
1996-12-23 02:49:35 +00:00
if [ " $$ OK " != "true" ] ; then \
${ ECHO_MSG } " Make sure the Makefile and md5 file ( ${ MD5_FILE } ) " ; \
${ ECHO_MSG } "are up to date. If you want to override this check, type" ; \
${ ECHO_MSG } "\"make NO_CHECKSUM=yes [other args]\"." ; \
exit 1; \
1995-05-04 18:53:26 +00:00
fi ) ; \
1995-01-06 22:14:12 +00:00
fi
1994-12-11 20:36:12 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
################################################################
1995-08-18 10:06:28 +00:00
# The special package-building targets
1995-04-20 18:03:02 +00:00
# You probably won't need to touch these
################################################################
# Nobody should want to override this unless PKGNAME is simply bogus.
1995-08-18 10:06:28 +00:00
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( p a c k a g e - n a m e )
package-name :
1996-03-06 08:08:16 +00:00
@${ ECHO } ${ PKGNAME }
1995-04-20 18:03:02 +00:00
. e n d i f
1994-09-09 06:21:43 +00:00
1995-04-20 18:03:02 +00:00
# Show (recursively) all the packages this package depends on.
1995-08-18 10:06:28 +00:00
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( p a c k a g e - d e p e n d s )
package-depends :
1998-08-05 09:29:13 +00:00
@for dir in ` ${ ECHO } " ${ LIB_DEPENDS } ${ RUN_DEPENDS } " | ${ TR } '\040' '\012' | ${ SED } -e 's/^[^:]*://' -e 's/:.*//' | sort -u` ` ${ ECHO } ${ DEPENDS } | ${ TR } '\040' '\012' | ${ SED } -e 's/:.*//' | sort -u` ; do \
1997-02-23 13:24:45 +00:00
if [ -d $$ dir ] ; then \
( cd $$ dir ; ${ MAKE } package-name package-depends) ; \
else \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
${ ECHO_MSG } " ${ PKGNAME } : \" $$ dir\" non-existent -- dependency list incomplete " >& 2; \
1997-02-23 13:24:45 +00:00
fi ; \
1995-04-20 18:03:02 +00:00
done
. e n d i f
1994-09-09 06:21:43 +00:00
1995-04-30 12:28:43 +00:00
# Build a package but don't check the package cookie
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( r e p a c k a g e )
1995-04-30 12:28:43 +00:00
repackage : pre -repackage package
pre-repackage :
1996-03-06 08:08:16 +00:00
@${ RM } -f ${ PACKAGE_COOKIE }
1995-04-30 12:28:43 +00:00
. e n d i f
# Build a package but don't check the cookie for installation, also don't
# install package cookie
. i f ! t a r g e t ( p a c k a g e - n o i n s t a l l )
package-noinstall :
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } PACKAGE_NOINSTALL = yes real-package
1995-04-30 12:28:43 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
1998-10-30 08:28:02 +00:00
# Loop through several options for package building
. i f ! t a r g e t ( p a c k a g e - l o o p )
. i f d e f i n e d ( L O O P _ V A R )
package-loop :
. i f ! e x i s t s ( $ { P A C K A G E _ C O O K I E } )
. f o r o p t i o n i n $ { L O O P _ O P T I O N S }
@cd ${ .CURDIR } && ${ SETENV } ${ LOOP_VAR } = ${ option } LOOP = yes \
${ MAKE } ${ .MAKEFLAGS } clean
@cd ${ .CURDIR } && ${ SETENV } ${ LOOP_VAR } = ${ option } LOOP = yes \
${ MAKE } ${ .MAKEFLAGS } package
. e n d f o r
. e l s e
@${ DO_NADA }
. e n d i f
. e l s e
package-loop : package
. e n d i f
. e n d i f
1995-04-20 18:03:02 +00:00
################################################################
# Dependency checking
################################################################
. i f ! t a r g e t ( d e p e n d s )
1995-09-18 08:01:20 +00:00
depends : lib -depends misc -depends
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } fetch-depends
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } build-depends
@cd ${ .CURDIR } && ${ MAKE } ${ .MAKEFLAGS } run-depends
1995-04-20 18:03:02 +00:00
1995-09-18 08:01:20 +00:00
. i f m a k e ( f e t c h - d e p e n d s )
DEPENDS_TMP += ${ FETCH_DEPENDS }
. e n d i f
. i f m a k e ( b u i l d - d e p e n d s )
DEPENDS_TMP += ${ BUILD_DEPENDS }
. e n d i f
. i f m a k e ( r u n - d e p e n d s )
DEPENDS_TMP += ${ RUN_DEPENDS }
. e n d i f
_DEPENDS_USE : .USE
. i f d e f i n e d ( D E P E N D S _ T M P )
1997-06-04 00:12:19 +00:00
. i f ! d e f i n e d ( N O _ D E P E N D S )
1995-09-18 08:01:20 +00:00
@for i in ${ DEPENDS_TMP } ; do \
1996-03-06 08:08:16 +00:00
prog = ` ${ ECHO } $$ i | ${ SED } -e 's/:.*//' ` ; \
1997-06-04 00:12:19 +00:00
dir = ` ${ ECHO } $$ i | ${ SED } -e 's/[^:]*://' ` ; \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
if ${ EXPR } " $$ dir " : '.*:' > /dev/null; then \
1997-06-04 00:12:19 +00:00
target = ` ${ ECHO } $$ dir | ${ SED } -e 's/.*://' ` ; \
dir = ` ${ ECHO } $$ dir | ${ SED } -e 's/:.*//' ` ; \
1995-11-26 12:35:49 +00:00
else \
1997-06-04 00:12:19 +00:00
target = ${ DEPENDS_TARGET } ; \
1995-11-26 12:35:49 +00:00
fi ; \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
if ${ EXPR } " $$ prog " : \\ / >/dev/null; then \
1995-11-26 12:35:49 +00:00
if [ -e " $$ prog " ] ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on file: $$ prog - found " ; \
1995-11-26 12:35:49 +00:00
notfound = 0; \
else \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on file: $$ prog - not found " ; \
1995-11-26 12:35:49 +00:00
notfound = 1; \
fi ; \
1995-04-20 18:03:02 +00:00
else \
1996-11-01 07:22:37 +00:00
if which " $$ prog " > /dev/null 2>& 1 ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on executable: $$ prog - found " ; \
1995-11-26 12:35:49 +00:00
notfound = 0; \
else \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on executable: $$ prog - not found " ; \
1995-11-26 12:35:49 +00:00
notfound = 1; \
fi ; \
fi ; \
if [ $$ notfound != 0 ] ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> Verifying $$ target for $$ prog in $$ dir " ; \
1995-04-20 18:03:02 +00:00
if [ ! -d " $$ dir " ] ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " >> No directory for $$ prog. Skipping.. " ; \
1995-04-20 18:03:02 +00:00
else \
1997-06-04 00:12:19 +00:00
( cd $$ dir; ${ MAKE } ${ .MAKEFLAGS } $$ target) ; \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> Returning to build of ${ PKGNAME } " ; \
1995-04-20 18:03:02 +00:00
fi ; \
fi ; \
1994-09-10 22:26:47 +00:00
done
1994-09-11 12:55:54 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
. e l s e
@${ DO_NADA }
1994-08-21 13:12:57 +00:00
. e n d i f
1995-09-18 08:01:20 +00:00
fetch-depends : _DEPENDS_USE
build-depends : _DEPENDS_USE
run-depends : _DEPENDS_USE
lib-depends :
1995-04-20 18:03:02 +00:00
. i f d e f i n e d ( L I B _ D E P E N D S )
1997-06-04 00:12:19 +00:00
. i f ! d e f i n e d ( N O _ D E P E N D S )
1995-04-20 18:03:02 +00:00
@for i in ${ LIB_DEPENDS } ; do \
1996-03-06 08:08:16 +00:00
lib = ` ${ ECHO } $$ i | ${ SED } -e 's/:.*//' ` ; \
1997-06-04 00:12:19 +00:00
dir = ` ${ ECHO } $$ i | ${ SED } -e 's/[^:]*://' ` ; \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
if ${ EXPR } " $$ dir " : '.*:' > /dev/null; then \
1997-06-04 00:12:19 +00:00
target = ` ${ ECHO } $$ dir | ${ SED } -e 's/.*://' ` ; \
dir = ` ${ ECHO } $$ dir | ${ SED } -e 's/:.*//' ` ; \
else \
target = ${ DEPENDS_TARGET } ; \
fi ; \
1998-10-30 08:28:02 +00:00
if ${ LDCONFIG } -r | ${ GREP } -qwF -e " -l $$ lib " ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on shared library: $$ lib - found " ; \
1995-04-20 18:03:02 +00:00
else \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on shared library: $$ lib - not found " ; \
${ ECHO_MSG } " ===> Verifying $$ target for $$ lib in $$ dir " ; \
1995-04-20 18:03:02 +00:00
if [ ! -d " $$ dir " ] ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " >> No directory for $$ lib. Skipping.. " ; \
1995-04-20 18:03:02 +00:00
else \
1997-06-04 00:12:19 +00:00
( cd $$ dir; ${ MAKE } ${ .MAKEFLAGS } $$ target) ; \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> Returning to build of ${ PKGNAME } " ; \
1998-10-30 08:28:02 +00:00
if ${ LDCONFIG } -r | ${ GREP } -qwF -e " -l $$ lib " ; then \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
${ TRUE } ; \
else \
${ ECHO_MSG } " Error: shared library \" $$ lib\" does not exist " ; \
${ FALSE } ; \
fi ; \
1995-04-20 18:03:02 +00:00
fi ; \
fi ; \
done
. e n d i f
. e l s e
1994-08-28 14:41:34 +00:00
@${ DO_NADA }
. e n d i f
1994-08-24 14:49:33 +00:00
1995-09-18 08:01:20 +00:00
misc-depends :
1995-04-20 18:03:02 +00:00
. i f d e f i n e d ( D E P E N D S )
. i f ! d e f i n e d ( N O _ D E P E N D S )
1997-06-04 00:12:19 +00:00
@for dir in ${ DEPENDS } ; do \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
if ${ EXPR } " $$ dir " : '.*:' > /dev/null; then \
1997-06-04 00:12:19 +00:00
target = ` ${ ECHO } $$ dir | ${ SED } -e 's/.*://' ` ; \
dir = ` ${ ECHO } $$ dir | ${ SED } -e 's/:.*//' ` ; \
1995-04-20 18:03:02 +00:00
else \
1997-06-04 00:12:19 +00:00
target = ${ DEPENDS_TARGET } ; \
fi ; \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on: $$ dir " ; \
${ ECHO_MSG } " ===> Verifying $$ target for $$ dir " ; \
1997-06-04 00:12:19 +00:00
if [ ! -d $$ dir ] ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " >> No directory for $$ dir. Skipping.. " ; \
1997-06-04 00:12:19 +00:00
else \
( cd $$ dir; ${ MAKE } ${ .MAKEFLAGS } $$ target) ; \
1995-04-20 18:03:02 +00:00
fi \
done
1998-08-12 01:47:47 +00:00
@${ ECHO_MSG } " ===> Returning to build of ${ PKGNAME } "
1994-08-21 13:12:57 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
. e l s e
@${ DO_NADA }
. e n d i f
1994-11-21 10:30:37 +00:00
. e n d i f
1994-08-21 13:12:57 +00:00
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f ! t a r g e t ( c l e a n - d e p e n d s )
clean-depends :
1996-12-09 07:08:16 +00:00
. i f d e f i n e d ( F E T C H _ D E P E N D S ) | | d e f i n e d ( B U I L D _ D E P E N D S ) | | d e f i n e d ( L I B _ D E P E N D S ) \
|| defined( RUN_DEPENDS)
1998-08-05 09:29:13 +00:00
@for dir in ` ${ ECHO } " ${ FETCH_DEPENDS } ${ BUILD_DEPENDS } ${ LIB_DEPENDS } ${ RUN_DEPENDS } " | ${ TR } '\040' '\012' | ${ SED } -e 's/^[^:]*://' -e 's/:.*//' | sort -u` ; do \
1997-01-12 11:48:26 +00:00
if [ -d $$ dir ] ; then \
( cd $$ dir; ${ MAKE } NOCLEANDEPENDS = yes clean clean-depends) ; \
fi \
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
done
1996-12-09 07:08:16 +00:00
. e n d i f
. i f d e f i n e d ( D E P E N D S )
1998-08-05 09:29:13 +00:00
@for dir in ` ${ ECHO } " ${ DEPENDS } " | ${ TR } '\040' '\012' | ${ SED } -e 's/:.*//' | sort -u` ; do \
1997-01-12 11:48:26 +00:00
if [ -d $$ dir ] ; then \
( cd $$ dir; ${ MAKE } NOCLEANDEPENDS = yes clean clean-depends) ; \
fi \
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
done
. e n d i f
1996-12-09 07:08:16 +00:00
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
1996-03-06 08:14:26 +00:00
. i f ! t a r g e t ( d e p e n d s - l i s t )
depends-list :
1998-08-05 09:29:13 +00:00
@for dir in ` ${ ECHO } " ${ FETCH_DEPENDS } ${ BUILD_DEPENDS } ${ LIB_DEPENDS } " | ${ TR } '\040' '\012' | ${ SED } -e 's/^[^:]*://' -e 's/:.*//' | sort -u` ` ${ ECHO } ${ DEPENDS } | ${ TR } '\040' '\012' | ${ SED } -e 's/:.*//' | sort -u` ; do \
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
if [ -d $$ dir ] ; then \
( cd $$ dir ; ${ MAKE } package-name depends-list) ; \
else \
${ ECHO_MSG } " ${ PKGNAME } : \" $$ dir\" non-existent -- dependency list incomplete " >& 2; \
fi ; \
1996-03-06 08:14:26 +00:00
done
. e n d i f
1995-04-20 18:03:02 +00:00
################################################################
# Everything after here are internal targets and really
# shouldn't be touched by anybody but the release engineers.
################################################################
# This target generates an index entry suitable for aggregation into
# a large index. Format is:
#
# distribution-name|port-path|installation-prefix|comment| \
1996-03-06 08:14:26 +00:00
# description-file|maintainer|categories|build deps|run deps
1995-04-20 18:03:02 +00:00
#
1998-10-30 08:28:02 +00:00
# If LOOP_VAR is set, multiple lines will be printed with the
# variable set to each value of LOOP_OPTIONS.
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( d e s c r i b e )
describe :
1998-10-30 08:28:02 +00:00
. i f ! d e f i n e d ( L O O P _ V A R )
@cd ${ .CURDIR } && ${ MAKE } do -describe
. e l s e
. f o r o p t i o n i n $ { L O O P _ O P T I O N S }
@cd ${ .CURDIR } && ${ SETENV } ${ LOOP_VAR } = ${ option } ${ MAKE } do -describe
. e n d f o r
. e n d i f
. e n d i f
. i f ! t a r g e t ( d o - d e s c r i b e )
do-describe :
1997-04-30 03:12:05 +00:00
@${ ECHO } -n " ${ PKGNAME } | ${ .CURDIR } | " ; \
${ ECHO } -n " ${ PREFIX } | " ; \
if [ -f ${ COMMENT } ] ; then \
1997-03-06 08:28:15 +00:00
${ ECHO } -n " ` ${ CAT } ${ COMMENT } ` " ; \
1995-04-20 18:03:02 +00:00
else \
1996-03-06 08:08:16 +00:00
${ ECHO } -n "** No Description" ; \
1997-04-30 03:12:05 +00:00
fi ; \
if [ -f ${ DESCR } ] ; then \
1997-03-06 08:28:15 +00:00
${ ECHO } -n " | ${ DESCR } " ; \
1995-04-20 18:03:02 +00:00
else \
1996-03-06 08:08:16 +00:00
${ ECHO } -n "|/dev/null" ; \
1997-04-30 03:12:05 +00:00
fi ; \
${ ECHO } -n " | ${ MAINTAINER } | ${ CATEGORIES } | " ; \
case " A ${ FETCH_DEPENDS } B ${ BUILD_DEPENDS } C ${ LIB_DEPENDS } D ${ DEPENDS } E " in \
ABCDE) ; ; \
1998-05-04 04:01:26 +00:00
*) cd ${ .CURDIR } && ${ ECHO } -n ` ${ MAKE } depends-list| sort -u` ; ; \
1997-04-30 03:12:05 +00:00
esac ; \
${ ECHO } -n "|" ; \
case " A ${ RUN_DEPENDS } B ${ LIB_DEPENDS } C ${ DEPENDS } D " in \
ABCD) ; ; \
1998-05-04 04:01:26 +00:00
*) cd ${ .CURDIR } && ${ ECHO } -n ` ${ MAKE } package-depends| sort -u` ; ; \
1997-04-30 03:12:05 +00:00
esac ; \
${ ECHO } ""
1995-04-20 18:03:02 +00:00
. e n d i f
1996-04-01 11:13:00 +00:00
. i f ! t a r g e t ( r e a d m e s )
readmes : readme
. e n d i f
. i f ! t a r g e t ( r e a d m e )
readme :
@rm -f README.html
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && make README.html
1996-04-01 11:13:00 +00:00
. e n d i f
README.html :
1998-08-12 01:47:47 +00:00
@${ ECHO_MSG } " ===> Creating README.html for ${ PKGNAME } "
1996-04-01 11:13:00 +00:00
@${ CAT } ${ TEMPLATES } /README.port | \
${ SED } -e 's %%PORT%% ' ` ${ ECHO } ${ .CURDIR } | ${ SED } -e 's .*/\([^/]*/[^/]*\)$$ \1 ' ` ' g' \
-e 's %%PKG%% ${PKGNAME} g' \
-e '/%%COMMENT%%/r${PKGDIR}/COMMENT' \
-e '/%%COMMENT%%/d' \
-e 's %%BUILD_DEPENDS%% ' " ` ${ MAKE } print-depends-list` " ' ' \
-e 's %%RUN_DEPENDS%% ' " ` ${ MAKE } print-package-depends` " ' ' \
>> $@
. i f ! t a r g e t ( p r i n t - d e p e n d s - l i s t )
print-depends-list :
. i f d e f i n e d ( F E T C H _ D E P E N D S ) | | d e f i n e d ( B U I L D _ D E P E N D S ) | | \
defined( LIB_DEPENDS) || defined( DEPENDS)
@${ ECHO } -n 'This port requires package(s) "'
1998-05-04 04:01:26 +00:00
@${ ECHO } -n ` ${ MAKE } depends-list | sort -u`
1996-04-01 11:13:00 +00:00
@${ ECHO } '" to build.'
. e n d i f
. e n d i f
. i f ! t a r g e t ( p r i n t - p a c k a g e - d e p e n d s )
print-package-depends :
. i f d e f i n e d ( R U N _ D E P E N D S ) | | d e f i n e d ( L I B _ D E P E N D S ) | | d e f i n e d ( D E P E N D S )
@${ ECHO } -n 'This port requires package(s) "'
1998-05-04 04:01:26 +00:00
@${ ECHO } -n ` ${ MAKE } package-depends | sort -u`
1996-04-01 11:13:00 +00:00
@${ ECHO } '" to run.'
. e n d i f
. e n d i f
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# Generate packing list. Also tests to make sure all required package
# files exist.
. i f ! t a r g e t ( g e n e r a t e - p l i s t )
generate-plist :
@${ ECHO_MSG } "===> Generating temporary packing list"
@if [ ! -f ${ PLIST } -o ! -f ${ COMMENT } -o ! -f ${ DESCR } ] ; then ${ ECHO } " ** Missing package files for ${ PKGNAME } . " ; exit 1; fi
@>${ TMPPLIST }
. f o r m a n i n $ { _ _ M A N P A G E S }
@${ ECHO } ${ man } >> ${ TMPPLIST }
1998-09-10 06:38:02 +00:00
. e n d f o r
. f o r _ P R E F I X i n $ { P R E F I X }
.if ${_TMLINKS : M ${_PREFIX }*}x != x
@for i in ${ _TMLINKS : M ${ _PREFIX } * : S ,^ ${ _PREFIX } /,, } ; do \
${ ECHO } " $$ i " >> ${ TMPPLIST } ; \
done
. e n d i f
.if ${_TMLINKS : N ${_PREFIX }*}x != x
@${ ECHO } @cwd / >> ${ TMPPLIST }
@for i in ${ _TMLINKS : N ${ _PREFIX } * : S ,^/,, } ; do \
${ ECHO } " $$ i " >> ${ TMPPLIST } ; \
done
@${ ECHO } '@cwd ${PREFIX}' >> ${ TMPPLIST }
. e n d i f
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
. e n d f o r
@${ SED } ${ _sedsubplist } ${ PLIST } >> ${ TMPPLIST }
1998-10-09 01:27:21 +00:00
. i f ! d e f i n e d ( N O _ F I L T E R _ S H L I B S )
1998-09-10 06:38:02 +00:00
. i f (${PORTOBJFORMAT} = = "aout" )
@${ SED } -e 's,\(/lib.*\.so\.[0-9]*\)$$,\1.0,' ${ TMPPLIST } > ${ TMPPLIST } .tmp
1998-09-17 01:00:23 +00:00
. e l s e
@${ SED } -e 's,\(/lib.*\.so\.[0-9]*\)\.[0-9]*$$,\1,' ${ TMPPLIST } > ${ TMPPLIST } .tmp
1998-09-10 06:38:02 +00:00
. e n d i f
1998-09-17 01:22:05 +00:00
@${ MV } -f ${ TMPPLIST } .tmp ${ TMPPLIST }
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
. e n d i f
1998-10-09 01:27:21 +00:00
. e n d i f
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
${TMPPLIST} :
@cd ${ .CURDIR } && ${ MAKE } generate-plist
1998-09-10 06:38:02 +00:00
# Compress (or uncompress) and symlink manpages.
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
. i f ! t a r g e t ( c o m p r e s s - m a n )
compress-man :
. i f ${MANCOMPRESSED} = = yes && defined( NOMANCOMPRESS)
@${ ECHO_MSG } " ===> Uncompressing manual pages for ${ PKGNAME } "
. f o r m a n p a g e i n $ { _ M A N P A G E S }
@${ GUNZIP_CMD } ${ manpage }
. e n d f o r
. e l i f ${MANCOMPRESSED} = = no && !defined( NOMANCOMPRESS)
@${ ECHO_MSG } " ===> Compressing manual pages for ${ PKGNAME } "
. f o r m a n p a g e i n $ { _ M A N P A G E S }
@${ GZIP_CMD } ${ manpage }
. e n d f o r
. e n d i f
1998-09-10 06:38:02 +00:00
. i f d e f i n e d ( _ M L I N K S )
@set ${ _MLINKS : S , "" ,,g : S ,//,/,g } ; \
while :; do \
[ $$ # -eq 0 ] && break || ${TRUE}; \
${ RM } -f $$ { 2%.gz} ; ${ RM } -f $$ 2.gz; \
${ LN } -fs ` ${ ECHO } $$ 1 $$ 2 | ${ AWK } ' { \
z = split( $$ 1, a, /\/ /) ; x = split( $$ 2, b, /\/ /) ; \
while ( a[ i] = = b[ i] ) i++; \
for ( q = i; q<x; q++) printf "../" ; \
for ( ; i<z; i++) printf a[ i] "/" ; printf a[ z] ; } ' ` $$ 2; \
shift; shift; \
done
. e n d i f
Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
# Fake installation of package so that user can pkg_delete it later.
# Also, make sure that an installed port is recognized correctly in
# accordance to the @pkgdep directive in the packing lists
. i f ! t a r g e t ( f a k e - p k g )
fake-pkg :
1996-11-01 07:22:37 +00:00
@if [ ! -d ${ PKG_DBDIR } ] ; then ${ RM } -f ${ PKG_DBDIR } ; ${ MKDIR } ${ PKG_DBDIR } ; fi
1995-05-10 09:30:09 +00:00
. i f d e f i n e d ( F O R C E _ P K G _ R E G I S T E R )
1996-03-06 08:08:16 +00:00
@${ RM } -rf ${ PKG_DBDIR } /${ PKGNAME }
1995-05-10 09:30:09 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
@if [ ! -d ${ PKG_DBDIR } /${ PKGNAME } ] ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> Registering installation for ${ PKGNAME } " ; \
1996-11-01 07:22:37 +00:00
${ MKDIR } ${ PKG_DBDIR } /${ PKGNAME } ; \
1995-04-22 00:01:26 +00:00
${ PKG_CMD } ${ PKG_ARGS } -O ${ PKGFILE } > ${ PKG_DBDIR } /${ PKGNAME } /+CONTENTS; \
1997-03-06 08:28:15 +00:00
${ CP } ${ DESCR } ${ PKG_DBDIR } /${ PKGNAME } /+DESC; \
${ CP } ${ COMMENT } ${ PKG_DBDIR } /${ PKGNAME } /+COMMENT; \
1995-06-26 07:01:20 +00:00
if [ -f ${ PKGDIR } /INSTALL ] ; then \
1996-03-06 08:08:16 +00:00
${ CP } ${ PKGDIR } /INSTALL ${ PKG_DBDIR } /${ PKGNAME } /+INSTALL; \
1995-06-26 07:01:20 +00:00
fi ; \
if [ -f ${ PKGDIR } /DEINSTALL ] ; then \
1996-03-06 08:08:16 +00:00
${ CP } ${ PKGDIR } /DEINSTALL ${ PKG_DBDIR } /${ PKGNAME } /+DEINSTALL; \
1995-06-26 07:01:20 +00:00
fi ; \
if [ -f ${ PKGDIR } /REQ ] ; then \
1998-09-10 06:38:02 +00:00
${ CP } ${ PKGDIR } /REQ ${ PKG_DBDIR } /${ PKGNAME } /+REQUIRE; \
1995-06-26 07:01:20 +00:00
fi ; \
1997-10-08 05:04:48 +00:00
if [ -f ${ PKGDIR } /MESSAGE ] ; then \
${ CP } ${ PKGDIR } /MESSAGE ${ PKG_DBDIR } /${ PKGNAME } /+DISPLAY; \
fi ; \
1998-05-04 04:01:26 +00:00
for dep in ` ${ MAKE } package-depends ECHO_MSG = /usr/bin/true | sort -u` ; do \
1997-01-25 02:45:09 +00:00
if [ -d ${ PKG_DBDIR } /$$ dep ] ; then \
if ! ${ GREP } ^${ PKGNAME } $$ ${ PKG_DBDIR } /$$ dep/+REQUIRED_BY \
>/dev/null 2>& 1; then \
${ ECHO } ${ PKGNAME } >> ${ PKG_DBDIR } /$$ dep/+REQUIRED_BY; \
fi ; \
fi ; \
done ; \
1995-04-20 18:03:02 +00:00
fi
. e n d i f
1994-08-28 14:41:34 +00:00
1994-08-22 10:46:38 +00:00
# Depend is generally meaningless for arbitrary ports, but if someone wants
# one they can override this. This is just to catch people who've gotten into
# the habit of typing `make depend all install' as a matter of course.
#
. i f ! t a r g e t ( d e p e n d )
depend :
1994-08-21 13:12:57 +00:00
. e n d i f
1994-08-22 11:20:07 +00:00
# Same goes for tags
. i f ! t a r g e t ( t a g s )
tags :
. e n d i f