[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug #35485] New $(.MFDIR) built-in variable
From: |
Tim Murphy |
Subject: |
Re: [bug #35485] New $(.MFDIR) built-in variable |
Date: |
Thu, 9 Feb 2012 13:33:31 +0000 |
Hi,
I know this is tangential, but:
MAKEFILE_LIST itself is a problem for non-recursive builds because it
gets very big if you have a lot of include statements (as opposed to a
gigantic single makefile file).
Regards,
Tim
On 8 February 2012 18:30, David Boyce <address@hidden> wrote:
> URL:
> <http://savannah.gnu.org/bugs/?35485>
>
> Summary: New $(.MFDIR) built-in variable
> Project: make
> Submitted by: boyski
> Submitted on: Wed 08 Feb 2012 06:30:41 PM GMT
> Severity: 3 - Normal
> Item Group: Enhancement
> Status: None
> Privacy: Public
> Assigned to: None
> Open/Closed: Open
> Discussion Lock: Any
> Component Version: CVS
> Operating System: Any
> Fixed Release: None
> Triage Status: None
>
> _______________________________________________________
>
> Details:
>
> The attached one-line (plus docs) patch adds a .MFDIR variable which evaluates
> to the directory of the containing makefile, more or less. It's actually just
> shorthand:
>
> diff -u -r1.60 default.c
> --- default.c 16 Jan 2012 02:29:22 -0000 1.60
> +++ default.c 8 Feb 2012 17:45:49 -0000
> @@ -527,6 +527,7 @@
> #endif
>
> #endif /* !VMS */
> + ".MFDIR", "$(abspath $(dir $(lastword $(MAKEFILE_LIST))))",
> 0, 0
> };
>
> Justification: though this adds no new functionality, I think it's important
> for support of non-recursive build styles. Given a build tree with many
> directories containing source files and makefiles, in a recursive model the
> tendency is to cd into each directory and invoke make locally, and thus the
> important relative directory is the cwd aka $(CURDIR). But in a flat build
> model those sub-makefiles tend to be included into a single make process and
> CURDIR doesn't change. In this case the important relationship is with the
> directory containing the controlling sub-makefile. Currently the playing field
> is tilted towards cwd-centric builds by the support for CURDIR. Having .MFDIR
> would even that out by making it easier to think in terms of a
> makefile-relative directory. Expecting naive (or even expert) developers to
> qualify paths with "$(abspath $(dir $(lastword $(MAKEFILE_LIST))))" is a
> nonstarter.
>
> This could be made more verbose as MAKEFILE_DIR or less as MWD. The leading
> "." is just my guess as to what would be most compatible.
>
> Also, it's arguable whether this is better handled as a regular predefined
> variable, subject to removal with -R, or a hard-wired variable analogous to
> CURDIR.
>
>
>
> _______________________________________________________
>
> File Attachments:
>
>
> -------------------------------------------------------
> Date: Wed 08 Feb 2012 06:30:41 PM GMT Name: mfdir.diff Size: 2kB By:
> boyski
>
> <http://savannah.gnu.org/bugs/download.php?file_id=25027>
>
> _______________________________________________________
>
> Reply to this item at:
>
> <http://savannah.gnu.org/bugs/?35485>
>
> _______________________________________________
> Message sent via/by Savannah
> http://savannah.gnu.org/
>
>
> _______________________________________________
> Bug-make mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-make
--
You could help some brave and decent people to have access to
uncensored news by making a donation at:
http://www.thezimbabwean.co.uk/friends/
[bug #35485] New $(.MFDIR) built-in variable, David Boyce, 2012/02/09