Date: Thu, 5 Sep 2013 17:40:50 -0700 From: "Simon J. Gerraty" <sjg@juniper.net> To: Tijl Coosemans <tijl@coosemans.org> Cc: bapt@FreeBSD.ORG, Alexey Dokuchaev <danfe@FreeBSD.ORG>, freebsd-bugs@FreeBSD.ORG Subject: Re: bin/178819: bmake w/ WRKDIRPEFIX=/tmp breaks Ports Collection Message-ID: <20130906004051.006105807E@chaos.jnpr.net> In-Reply-To: <20130905213942.007a0040@kalimero.tijl.coosemans.org> References: <201309030703.r8373BSU072280@freefall.freebsd.org> <20130905164552.3639E5807E@chaos.jnpr.net> <20130905175936.GB58718@FreeBSD.org> <20130905185758.7D04D5807E@chaos.jnpr.net> <20130905213942.007a0040@kalimero.tijl.coosemans.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 5 Sep 2013 21:39:42 +0200, Tijl Coosemans writes:
>fmake does set it. It goes something like this:
>
>1) the port makefiles are all named Makefile so fmake sets
> MAKEFILE=Makefile. With bmake this is sometimes an absolute path.
IIRC it will be an absolute path anytime .OBJDIR!=.CURDIR
>2) bsd.port.mk has MAKEFILE?=Makefile which doesn't do anything under
> both fmake and bmake because it's already defined.
True, but there a good number of places in ports where it is set to
something else - eg
irc/inspircd12/Makefile:51:MAKEFILE= BSDmakefile
irc/trickyirc/Makefile:15:MAKEFILE= GNUmakefile
these should work with the new bmake, but
MAKEFILE?= Makefile
won't.
>3) bsd.port.mk runs something like "cd ${WRKSRC} && make -f ${MAKEFILE}"
> This fails with bmake if MAKEFILE happens to be an absolute path
> pointing to the port makefile (instead of the source code makefile).
> With fmake this only works by accident.
I suppose ${MAKEFILE:T} above wouldn't help...
>bsd.port.mk should not try to reuse MAKEFILE like this. I once looked
>into renaming this variable to MAKE_FILE but that affects many ports.
Yes, I counted 925 places where MAKEFILE is set or referenced.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130906004051.006105807E>
