Makefile experts, unite!
Sebastien Alaiwan via Digitalmars-d
digitalmars-d at puremagic.com
Mon Jun 12 22:53:51 PDT 2017
On Monday, 12 June 2017 at 06:38:34 UTC, ketmar wrote:
> Sebastien Alaiwan wrote:
>
>> The selling points, to me, are:
>> 1) the automatic dependency detection through filesystem hooks
>> 2) recipes also are dependencies
>> 3) the genericity/low-level. I believe build systems should
>> let me define my own abstractions, instead of trying to define
>> for me what an "executable" or a "static library" should be.
>
> i'm not that all excited by "1", though. tbh, i prefer simplier
> things, like regexp scanning. while regexp scanners may find
> more dependencies than there really are, they doesn't require
> any dirty tricks to work.
I understand your point ; I was explaining to my colleagues
yesterday that "1" was a "good step in the wrong direction".
I think dependencies should come from above, they should be
forced at the build system level. No more 'include' or 'imports'
(Bazel took one step into this direction).
The consequence is that now you can't consider the build system
of your project as a second class citizen. It's the only place
where you're forced to express something vaguely resembling to a
high-level architecture.
Instead of letting module implementations happily create
dependencies to any other module implementation (which is an
architectural sin!) and then resorting to system-level hacks to
try to re-create the DAG of this mess (and good luck with
generated files).
However: "1" is still a "good" step. Compared to where we are
now, it's in theory equivalent to perfectly doing regexp/gcc-MM
scanning, in a langage agnostic way. It's a net win!
More information about the Digitalmars-d
mailing list