From owner-cvs-src@FreeBSD.ORG Wed Oct 12 18:39:02 2005 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6F99116A41F; Wed, 12 Oct 2005 18:39:02 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13BFB43D7B; Wed, 12 Oct 2005 18:38:55 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from [10.50.41.234] (Not Verified[10.50.41.234]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Wed, 12 Oct 2005 14:55:15 -0400 From: John Baldwin To: Garance A Drosehn Date: Wed, 12 Oct 2005 14:40:12 -0400 User-Agent: KMail/1.8.2 References: <200510121009.j9CA9aE3026075@repoman.freebsd.org> <20051012170509.GH99170@submonkey.net> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200510121440.15780.jhb@freebsd.org> Cc: cvs-src@freebsd.org, yar@freebsd.org, src-committers@freebsd.org, ru@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/usr.bin/make make.1 X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Oct 2005 18:39:02 -0000 On Wednesday 12 October 2005 02:07 pm, Garance A Drosehn wrote: > At 6:05 PM +0100 10/12/05, Ceri Davies wrote: > >On Wed, Oct 12, 2005, Warner Losh wrote: > > > From: Ruslan Ermilov > > > > > > > __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. make(1) does not include it. sys.mk does, and it doesn't include it if %POSIX is defined: > cat > foo all: echo "${CC} ${CFLAGS}" ^D > make -f foo echo "cc -O2 -fno-strict-aliasing -pipe -march=pentium4" cc -O2 -fno-strict-aliasing -pipe -march=pentium4 > make -f foo -D%POSIX echo "c89 -O " c89 -O make(1) does honor some special environment variables like MAKEOBJDIRPREFIX, but __MAKE_CONF is not one of them. It is handled in sys.mk, not in the make(1) program itself. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org