cvs commit: src/usr.bin/make make.1
Garance A Drosehn
gad at FreeBSD.org
Wed Oct 12 11:07:56 PDT 2005
At 6:05 PM +0100 10/12/05, Ceri Davies wrote:
>On Wed, Oct 12, 2005, Warner Losh wrote:
> > From: Ruslan Ermilov <ru at freebsd.org>
> > >
> > > __MAKE_CONF doesn't fall under "make sets or knows about the
> > > following internal variables or environment variables".
Seems to me that it does. I think the detailed description could
remain in make.conf(5), but that the variable name should still
be explicitly mentioned in make(1).
> > > Rather, it's a FreeBSD specific feature, it doesn't have
> > > any direct connection to the make utility (as well as
> > > CPUTYPE, CFLAGS, etc.).
The man page documents the make utility on FreeBSD. The fact that
__MAKE_CONF is a FreeBSD-specific feature does not change the fact
that setting __MAKE_CONF will effect *every* invocation of 'make'.
It is *not* limited to makefiles in /usr/src and /usr/ports. So,
the following comment in make.conf(5) is not completely accurate:
The purpose of make.conf is not to [...]. Instead, it is
included by the various makefiles in /usr/src, /usr/ports
and /usr/doc which conditionalize their internal actions
according to the settings found there.
I just created a makefile in /tmp with nothing but the lines:
all :
echo "${CC} ${CFLAGS}"
and when I type 'make all' in /tmp, the /etc/make.conf file is
included. If I set __MAKE_CONF, and if that file changes the value
of CC, then my 'make all' is changed. That /tmp/makefile does not
explicitly .include any other file. The effect of __MAKE_CONF is
not limited to FreeBSD-project makefiles.
--
Garance Alistair Drosehn = gad at gilead.netel.rpi.edu
Senior Systems Programmer or gad at FreeBSD.org
Rensselaer Polytechnic Institute; Troy, NY; USA
More information about the cvs-src
mailing list