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-all mailing list