Further investigation showed that prefix was erroneously set to /usr/local
for X11 based ports as well, when the assumption was that they'd really go
into ${X11BASE} (an /etc/make.conf variable that the user's free to set).
Set X11BASE to /usr/X11R6 if the user hasn't already, and assume that
the user really wants prefix to point there when the port is XMKMF based.
MASTER_SITE_OVERRIDE - If set in the environment, will override everyone's
MASTER_SITES settings. Useful if you'd prefer to point to a
distfiles repository somewhere closer.
MASTER_SITE_FREEBSD - Sets OVERRIDE to be FreeBSD's own master repository.
Define SHLIBDIR?= ${LIBDIR} and install shared libraries in
${DESTDIR}${SHLIBDIR} instead of in ${DESTDIR}${LIBDIR}.
SHLIBDIR may be defined in /etc/make.conf to override the
default of /usr/lib (I use /lib). Other changes are required
for non-default shared library directories to actually work
(ld* and crtso have too many hard-coded paths).
Bruce
RANTOUCH may be defined in /etc/make.conf as
`${ECHO} skipping ${RANLIB} -t' to help stop `make install' from
changing the timestamps on unchanged libraries, thus making the
uninstalled binaries appear to be out of date... Other changes
are required to stop install from clobbering the timestamps.
Comment about missing libraries for LIBDES, LIBKDB, LIBKRB, LIBMP, LIBPC
and LIBPLOT.
Don't define LIBDBM since it was replaced by db in libc.
Remove duplication. ${DESTDIR}/usr/lib/... gives /usr/lib/... even when
DESTDIR is not defined.
put the stuff into the right "distribution". As default things end up
in "bindist".
Normal (ie: most) makefiles know naught of this.
More commits will follow, which will direct various parts of the tree
into the distribution we want them in.
Some of the grief of being release-engineer is supposed to go away with this.
about them.. :-) The patches/* won't work, it needs to be patches/patch-*
to avoid catching things like CVS files when working with a checked-out
copy of ports! Whoops!
1. Make build rely on a BUILD_COOKIE now. I'm tired of builds
being redone gratuitously while I'm trying to debug a tree build
problem.
2. Remove all the literal `touch -f' commands and indirect them through
variables. This lets you "leave tracks" in different ways, depending
on the medium. Just part 1 of my planned changes to make builds
directly off the CD work.
cc/Makefile.inc use (abuse?) LDDESTDIR for their internal libraries
so "?=" hides non-default external libraries. Adding multiple paths
to LDDESTDIR works except it makes it even harder than usual to
decide which libraries will actually be linked against.
is an interactive port, and requires user input somewhere along
the way (either fetching, configuring, building or installing).
If the user then sets BATCH in their environment, this port will be
skipped. If the user sets INTERACTIVE, then ONLY those ports marked
interactive are run (allowing one to do all ports in two passes).
If the user sets both BATCH and INTERACTIVE, then a metal claw extends
from the CRT and brutally yanks their nose off.
install cookie work any other way (perhaps I'm just being stupid).
In any case, INSTALL_COOKIE now works as advertised, and prevents duplicate
installations. pre-install users will have to keep their own cookies if
they wish to avoid duplicate installations, or tell me how to make the
rules run properly.
2. Update the list of library names and variables.
3. Update to reflect forth coming bsd.inc.mk file.
4. Update which .mk files include other .mk files.
Submitted by: Bruce Evans (partial, enhanced by me)
1. Make DEPENDS fully qualified, and not implictly assume relative
to ${PORTSDIR}. This allows more arbitrary dependencies to be
specified. This also means that DEPENDS= x11/foo needs to be changed
to DEPENDS= ${PORTSDIR}/x11/foo in any Makefiles. I'll try to do
these changes myself.
2. Add an option NO_DEPENDS to disable the automagic building of depended
ports.
Submitted by: rww
Make DEPENDS now does a `make is_depended' in the target port.
This defaults to `all install' globally, but can be overriden locally
by a port if it wants to do different things when other ports depend on it.
the light. `env' can be used to pass environment variables to shell
scripts this way, which means that all *configure/post-build scripts
_no longer take any arguments_; everything they should need (and more)
is now available in the environment. I'm working now to adapt the older
shell scripts over, but if you want beat me to it on some of your own
ports, don't let me stop you! :)
Submitted by: witr
if requested. LKMs which need it should use:
SRCS+= vnode_if.h
CLEANFILES+= vnode_if.h vnode_if.c
These rules were already present for VFS LKMs; now they are enabled all
the time. (VFS LKMs do not need the fragment above; it is still done for them.)