From owner-freebsd-current Thu May 23 3:46: 6 2002 Delivered-To: freebsd-current@freebsd.org Received: from web11405.mail.yahoo.com (web11405.mail.yahoo.com [216.136.131.235]) by hub.freebsd.org (Postfix) with SMTP id 8652E37B40B for ; Thu, 23 May 2002 03:46:01 -0700 (PDT) Message-ID: <20020523104601.63164.qmail@web11405.mail.yahoo.com> Received: from [202.167.61.228] by web11405.mail.yahoo.com via HTTP; Thu, 23 May 2002 03:46:01 PDT Date: Thu, 23 May 2002 03:46:01 -0700 (PDT) From: Shizuka Kudo Subject: Re: Infinite 'make' loops while building ports To: Marcel Moolenaar Cc: Jay , kris@obsecurity.org, sreese@codysbooks.com, freebsd-current@FreeBSD.ORG In-Reply-To: <20020523101528.GA91566@dhcp01.pn.xcllnt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --- Marcel Moolenaar wrote: > On Thu, May 23, 2002 at 02:33:56AM -0700, Shizuka > Kudo wrote: > > > > It seems /usr/bin/make set the environment > variable > > MAKEFILE to the Makefile it uses. So when you type > > make build or install, MAKEFILE is pointed to the > > port's Makefile. Workaround for me at this moment > is > > to run "make build MAKEFILE=Makefile" so that > > bsd.ports.mk use the correct Makefile in WRKSRC. > > > > Is the behaviour in /usr/bin/make changed > recently? > > No. This is old behaviour and I filed a PR for it > many moons ago. > I have replaced all uses of MAKEFILE with MAKE_FILE > in all the > makefiles that set it (and changed bsd.ports.mk as > well of course) > The problem is more visible if you set WRKDIROREFIX. > > -- > Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net You're right. The only reason it didn't show up several days before is that v 1.58 added the real path to MAKEFILE as mentioned in the commit log: Make ReadMakefile() operate using the realpath(3) name for the file handed to it, which means that relative paths will be expanded to absolute paths, and filenames without a path will end up with their absolute path included as well. This aids tremendously in debugging a build using our make(1) with multiple Makefile's, such as when there is a syntax error in a file in a sub-directory as per . Normally we'd end up with just "Makefile" known about the Makefile in question, which means that an error would be useless for someone trying to debug their build system, now we end up with a complete real pathname for the Makefile. So mostly this is useful in a debugging context, but possibly others too (I haven't thought of them yet, but they probably are more useful if you make Dir_FindFile use realpath(3), but that's another story). __________________________________________________ Do You Yahoo!? LAUNCH - Your Yahoo! Music Experience http://launch.yahoo.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message