From owner-cvs-src@FreeBSD.ORG Sun Jan 13 10:14:23 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1745516A477; Sun, 13 Jan 2008 10:14:23 +0000 (UTC) (envelope-from obrien@NUXI.org) Received: from dragon.nuxi.org (trang.nuxi.org [74.95.12.85]) by mx1.freebsd.org (Postfix) with ESMTP id 7D0F513C447; Sun, 13 Jan 2008 10:14:22 +0000 (UTC) (envelope-from obrien@NUXI.org) Received: from dragon.nuxi.org (obrien@localhost [127.0.0.1]) by dragon.nuxi.org (8.14.1/8.14.1) with ESMTP id m0DAELCM046117; Sun, 13 Jan 2008 02:14:21 -0800 (PST) (envelope-from obrien@dragon.nuxi.org) Received: (from obrien@localhost) by dragon.nuxi.org (8.14.1/8.14.1/Submit) id m0DAELOa046116; Sun, 13 Jan 2008 02:14:21 -0800 (PST) (envelope-from obrien) Date: Sun, 13 Jan 2008 02:14:21 -0800 From: "David O'Brien" To: Max Khon Message-ID: <20080113101421.GA45977@dragon.NUXI.org> References: <200703080916.l289GB7N040141@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200703080916.l289GB7N040141@repoman.freebsd.org> X-Operating-System: FreeBSD 8.0-CURRENT User-Agent: Mutt/1.5.16 (2007-06-09) Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, 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-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: obrien@FreeBSD.org List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Jan 2008 10:14:23 -0000 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? > 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. -- David