bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Idea: Allow $(name ...) as an abbrevation of $(call name ....)


From: Tim Murphy
Subject: Re: Idea: Allow $(name ...) as an abbrevation of $(call name ....)
Date: Fri, 14 Jun 2019 07:54:41 +0100



On Fri, 14 Jun 2019 at 03:17, Masahiro Yamada <address@hidden> wrote:
On Fri, Jun 14, 2019 at 2:58 AM David A. Wheeler <address@hidden> wrote:
>
> On Thu, 13 Jun 2019 18:18:15 +0100, Tim Murphy <address@hidden> wrote:
> > builtin functions can check their arguments to some extent. Interesting to
> > wonder if user defined ones can.
> > we don't even have $(equals) or a way to know the number of arguments that
> > were supplied or any mathematical operations with which to compare. So when
> > something is called wongly it charges on to the end, evaluating blindly to
> > who knows what and we can spend hours trying to tease out the cause of a
> > missing compiler option .... but.....we are focused on the saving of a tiny
> > bit of typing.
>
> It's not the typing, it's the reading.  When 20% of the lines makes a user-defined
> function call (my situation), simplifying the function call matters.
>
> Equals and math operations can be implemented using $(shell ...).
> If you think more are needed, that sounds like a proposal, go ahead and make it.
> There's no conflict between this syntax proposal & adding more built-in functions.

No but as you can imagine, changes in syntax generate debate since we're all going to end up reading the next set of botched makefiles that the guy learning make has strung together in some exciting new misunderstanding for us to fix.
 
This is a matter of cost of
native functions vs $(shell ...) .

$(shell) is a big problem but it gets used because it seems like the only way to deal with the shortage of builtin functions. There is a way to build new builtin functions now and dynamically load them. Pity that doesn't seem to have been noticed much.
 
Linux kernel build system highly exploits recursive building.

So, I avoid using $(shell ...) in the recursively-invoked Makefiles.

--
Best Regards
Masahiro Yamada

reply via email to

[Prev in Thread] Current Thread [Next in Thread]