Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Oct 2005 14:07:50 -0400
From:      Garance A Drosehn <gad@FreeBSD.org>
To:        ru@FreeBSD.org, yar@FreeBSD.org
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/usr.bin/make make.1
Message-ID:  <p06230905bf72f8f32a3b@[128.113.24.47]>
In-Reply-To: <20051012170509.GH99170@submonkey.net>
References:  <200510121009.j9CA9aE3026075@repoman.freebsd.org> <20051012.091330.53066886.imp@bsdimp.com> <20051012152710.GC75270@ip.net.ua> <20051012.104300.74694006.imp@bsdimp.com> <20051012170509.GH99170@submonkey.net>

next in thread | previous in thread | raw e-mail | index | archive | help
At 6:05 PM +0100 10/12/05, Ceri Davies wrote:
>On Wed, Oct 12, 2005, Warner Losh wrote:
>  > From: Ruslan Ermilov <ru@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@gilead.netel.rpi.edu
Senior Systems Programmer               or   gad@FreeBSD.org
Rensselaer Polytechnic Institute;             Troy, NY;  USA



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p06230905bf72f8f32a3b>