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.)
to a reasonable compromise:
MASTER_SITES now contains a space seperated list of sites for which each
DISTFILE may be retrieved. This should be a directory spec, which will be
concatenated with each file in DISTFILES. HOME_LOCATION is *gone* now
and isn't used for anything, so you can delete it from your Makefiles.
If you want to force a fetch from a given location, simply do something like:
MASTER_SITES= ftp://fnord.foo.bar/pub/dist
DISTFILES= a.tar.gz b.tar.gz
Your entry in MASTER_SITES will be tried first to fetch a.tar.gz and
b.tar.gz, followed by any master sites we have set up (right now, only
freebsd.cdrom.com).
1. DISTFILE is gone and replaced by DISTFILES, which can contain one or
more file specifications.
2. MASTER_SITE created, which points to the distfiles directory on
freebsd.cdrom.com (which I'll set up in a moment).
3. HOME_LOCATION is now simply a hint, and is never directly used except
to inform the user when ncftp unable to transfer a file from
MASTER_SITE.
4. ncftp is now assumed to live somewhere in the path, in preparation for
Andrew bringing it in on a more permanant basis.
5. XMKMF defined - it was not before.
Thanks to Andrew (ache) for many helpful suggestions.
multiple targets when dealing with creating a set of distribution files
from scratch. Another problem is *verifying* that a given file fetched
from its HOME_LOCATION is the one we wanted (what if the stupid ftp site
maintainer updated it in place?). Rich Morin pointed this out and suggested
some solutions. I need to think about it some more (suggestions?).
For now, we have a seperate `fetch' and `extract' target.
Submitted by: jkh
be easy to change to /usr/X11R6 if and when the time comes. This is
to deal with things like xditview which otherwise had hardcoded assumptions
about where X lived. Yuck.
Submitted by: jkh
remains, and that's that this does not work with multiple targets, which
sort of throws the tk and fvwm distributions into a mess. tk needs both
a tarball and a patch file from the same site, fvwm needs up to 3 different
files if you want all the options. If anyone wants to take this the last
few steps of the way towards somehow handling cases like this, I'd be very
happy.
Submitted by: jkh
${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}
With simply `${DISTFILE}' which defaults to the above. This lets you
easily name distribution files that don't cooperate with any rational
naming syntax.
Similarly, make a variable called ${PKGFILE} which fills the same purpose
for packages.
Just trying to make this thing really really general to suit every need.
Now I need somebody to figure out how to make the extract target auto-fetch
things from ${HOME_LOCATION} with ncftp *if* ncftp is installed and it
looks possible to reach the foreign site. That will take some fancy footwork,
but would be slick. I've changed this too so that HOME_LOCATION is no longer
set by default, allowing you to do an .if defined(..) check for it. The
extract rule now does this too.
Submitted by: jkh
Build an intermediate object file even when there is only one source
file. This costs a little space but saves time if the target is rebuilt
a lot, and it stops the target varying with the name of temporary
intermediates.
Use ${ECHO} instead of `echo' so that `make -s' is fairly quiet.
Use ${ECHODIR} instead of echo for printing directory names so that
`make -ss' is very quiet.