way than the previous recursive make approach. The 'mkreadme' script is
the top level script. 'mkreadme -h' or 'mkreadme --help' for complete
documentation on its use. Generates README.html files more than two orders
of magnitude faster than the recursive make approach by only calling make(1)
once per pkg.
It runs pre-test, do-test, and post-test. The default pre-test and
post-test targets are empty; the default do-test target runs
TEST_TARGET (in each TEST_DIRS (defaults to BUILD_DIRS)) if it is set
and does nothing otherwise. Thus the test target defaults to doing
nothing.
The usual way to use this is to set TEST_TARGET to the target to run
(e.g. TEST_TARGET=check for GNU packages).
If PKGSRC_RUN_TEST is set to yes (in mk.conf, defaults to no),
the test target is run before install.
(approved by agc)
causes the shell environment to be discarded. This also discards
OBJMACHINE or OBJHOSTNAME, which causes WRKDIR_BASENAME to be different
between the "non-root" and "root" make targets and leads to the breakage
seen in pkg/18879 by Simon Burge. Fix this by saving the OBJHOSTNAME or
OBJMACHINE setting in MAKEFLAGS so that it is seen even after we "su -l" to
root.
if the package uses X11 and merge the BUILDLINK_X11PKG_DIR and
BUILDLINK_X11_DIR variables into a single variable: BUILDLINK_X11_DIR.
This creates a one-to-one mapping between X11BASE and BUILDLINK_X11_DIR,
instead of X11BASE mapping to both BUILDLINK_X11_DIR and to
BUILDLINK_X11PKG_DIR.
Remove the now unused II and LL parts of the BUILDLINK_TRANSFORM language.
Add a new "static" keyword to the mini-language and fix building
statically-linked binaries when building with libtool.
.transform.sed and .untransform.sed that are generated by a new
gen-transform.sh shell script. This avoids all of the silliness with
exceeding the length of the value of a make variable that brought about
breaking the original _BLNK_TRANSFORM_SED into _BLNK_TRANSFORM_SED.[1-4].
It's also vastly easier to understand the gen-transform.sh script as
opposed to the juxtaposition of make and sed regular expressions, a.k.a.
massive eyesores, that were in bsd.buildlink.mk.
Also fix the directory protection scheme so that it might actually work
if the pkgsrc directory is a subdirectory of /usr/pkg (${LOCALBASE}).
Lastly, filter out /usr/X11R6 (${X11BASE}) if the package doesn't define
USE_X11. This should catch packages that use X11 without announcing it,
and avoids one way you can circumvent buildlink2.
Compare...
$ gmake --version
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i386--netbsdelf
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Report bugs to <bug-make@gnu.org>.
to...
$ gmake --version
GNU Make 3.80
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
# Used in the rpm package to note the prefix of the path to the RPM
# databases. The RPM databases are stored in ${RPM_DB_PREFIX}/lib/rpm.
# Possible: any valid location, e.g. ${LOCALBASE}
# Default: /var/pkg