From owner-cvs-all@FreeBSD.ORG Thu Jan 31 12:44:37 2008 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A82A516A469; Thu, 31 Jan 2008 12:44:37 +0000 (UTC) (envelope-from fjoe@samodelkin.net) Received: from neo.samodelkin.net (samodelkin.net [195.62.0.66]) by mx1.freebsd.org (Postfix) with ESMTP id 4541C13C458; Thu, 31 Jan 2008 12:44:37 +0000 (UTC) (envelope-from fjoe@samodelkin.net) Received: by neo.samodelkin.net (Postfix, from userid 10117) id 5FE39172CD; Thu, 31 Jan 2008 18:25:12 +0600 (NOVT) Received: from husky.fjoe.local (gw.nsib.ru [217.117.80.2]) by neo.samodelkin.net (Postfix) with ESMTP id F1C3117261; Thu, 31 Jan 2008 18:25:09 +0600 (NOVT) Message-ID: <47A1BE18.4000903@samodelkin.net> Date: Thu, 31 Jan 2008 18:24:56 +0600 From: Max Khon User-Agent: Thunderbird 2.0.0.6 (X11/20071028) MIME-Version: 1.0 To: obrien@freebsd.org References: <200703080916.l289GB7N040141@repoman.freebsd.org> <20080113101421.GA45977@dragon.NUXI.org> In-Reply-To: <20080113101421.GA45977@dragon.NUXI.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Bogosity: No, tests=bogofilter, spamicity=0.000000, version=0.16.4 X-Mailman-Approved-At: Thu, 31 Jan 2008 12:52:34 +0000 Cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/usr.bin/make globals.h job.c job.h main.c make.1 make.h parse.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2008 12:44:37 -0000 David O'Brien wrote: > On Thu, Mar 08, 2007 at 09:16:11AM +0000, Max Khon wrote: >> fjoe 2007-03-08 09:16:11 UTC >> Modified files: >> usr.bin/make globals.h job.c job.h main.c make.1 >> make.h parse.c >> Log: >> Implement "Remaking Makefiles" feature: >> >> After reading Makefile and all the files that are included using >> .include or .sinclude directives (source Makefiles) make considers >> each source Makefile as a target and tries to rebuild it. Both >> explicit and implicit rules are checked and all source Makefiles are >> updated if necessary. If any of the source Makefiles were rebuilt, >> make restarts from clean state. > > How does one turn this off? It causes SuffFindDeps to be run over every > .MAKEFILE_LIST member. This causes a problem if you try to build in > src/gnu/usr.bin/cvs/contrib and ./Makefile has an older date than > src/contrib/cvs/contrib/Makefile.in. > > I'm curious, is this functionality depended on to build world? Or it > is a feature to do cool stuff outside of /usr/src? I wanted to use this feature to auto-calculate depends during build world. I know about Makefile.in issue in contrib/cvs and this seems to be the only issue in FreeBSD src tree. I'd better remove Makefile.in from there. >> When remaking a source Makefile options -t (touch target), -q (query >> mode), and -n (no exec) do not take effect, unless source Makefile is >> specified explicitly as a target in make command line. > > I'm not so sure this is good behavior. When trying to debug the issue > with src/gnu/usr.bin/cvs/contrib/Makefile; I did: > rm Makefile ; cvs up Makefile ; make -n > and yet still had my Makefile damanged (do to the other issues with this > commit). I really do think 'make -n' really does mean "DO NOT ACTUALLY > EXECUTE THEM". > > At a minimum, make.1 needs updating to make it clear that 'make -n' can > have side affects. Will do it. /fjoe