[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Looking for nastiest makefile that uses function calls to make the m
Re: Looking for nastiest makefile that uses function calls to make the makefile in memory...
Mon, 20 Mar 2017 12:22:16 +1300
You want complex GNU makefiles? Alrighty then...
Please find attached a small piece of our build system. It emulates local
variables, essentially by saving the values of all variables prior to a
makefile being included, then restoring them and clearing any new ones
after. I wrote it to help us find bugs in and make our large (~20k LoC) and
very complex build system more robust.
As an aside -- if anyone has any ideas on how to do this better and/or
faster (it is very slow, ~doubling my no-op build times) I'd be very happy
to hear them.
I've been meaning to publish the full build system framework itself as
open-source for ages (and I have agreement from my senior management to do
that), but that requires first separating it into generic and
build-specific parts, and ensuring none of our company-specific or
proprietary bits are left in the former. Since it is so large and complex
this is not easy. This bit, however, is already generic and should be
usable on its own.
On Sat, Mar 18, 2017 at 5:45 AM, Brian Cowan <address@hidden> wrote:
> I'm chasing down use cases for the $(call and $(eval functions to
> effectively build the makefile from macros in the makefile (or included
> files). I'm looking to stress-test the make tool I support, which supports
> GNU make syntax, but I'm finding that elementary usecases don't always
> suffice. So, if someone knows of a makefile-from-h**l they have fought
> with, I'd love to hear about it... If its in an open-source project, that
> would be even better...
> Brian Cowan
> ClearCase/Licensing Software Advisory Team (SWAT)
> HCL Technologies at IBM
> IBM Cloud Support
> 550 King St
> Littleton MA 01460
> Phone: +1 978 899 5436
> Help-make mailing list
"I never could learn to drink that blood and call it wine" - Bob Dylan
Description: Text Data