From owner-freebsd-arch Thu Mar 8 11:32:22 2001 Delivered-To: freebsd-arch@freebsd.org Received: from gndrsh.dnsmgr.net (GndRsh.dnsmgr.net [198.145.92.4]) by hub.freebsd.org (Postfix) with ESMTP id 7D06937B718 for ; Thu, 8 Mar 2001 11:32:18 -0800 (PST) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.9.3/8.9.3) id LAA26410; Thu, 8 Mar 2001 11:32:08 -0800 (PST) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <200103081932.LAA26410@gndrsh.dnsmgr.net> Subject: Re: Breaking up make.conf In-Reply-To: <20010308020838.A67276@mollari.cthul.hu> from Kris Kennaway at "Mar 8, 2001 02:08:39 am" To: kris@obsecurity.org (Kris Kennaway) Date: Thu, 8 Mar 2001 11:32:08 -0800 (PST) Cc: arch@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > I've been thinking a bit about how to break up the monolithic > make.conf, which is starting to grow a bit unwieldy of late. The > other advantage is that with a broken-up make.conf you can easily have > e.g. different CFLAGS settings for src builds, port builds, and > "manual" builds, and we reduce namespace pollution quite a bit. > > Moving port config options to a ports.conf is trivial, since all ports > include ${PORTSDIR}/Mk/bsd.port.mk, so the .include can be done there. > > Moving world config options to a world.conf is a bit more tricky, > because we need a way to tell whether we're building in src/ (and not > just using 'make world'). The only way I can think to do this is to > have everything include ../Makefile.inc back up to the root of the > tree, which sets a BUILDING_WORLD variable that is used (in bsd.obj.mk > and possibly other makefiles) to control the inclusion of > /etc/world.conf and /etc/defaults/world.conf. It's a bit messy, but I > can't seem to see any better way. I've though about this on and off over the years, and would actually like to see src/make.conf or src/world.conf and remove the /etc dependecy. The major reason is that I often have more than one src tree on a build system and I have to screw around with /etc/make.conf if build environments are different. This can be implemented by a simple backtrace up the tree from any level looking for make.conf, terminating either when we find one, or when we hit /. -- Rod Grimes - KD7CAX @ CN85sl - (RWG25) rgrimes@gndrsh.dnsmgr.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message