On Thursday, 25 September 2014 at 17:42:09 UTC, Jacob Carlborg
wrote:
On 2014-09-25 16:23, H. S. Teoh via Digitalmars-d wrote:
That's the hallmark of make-based projects.
This was Ninja actually. But how would the build system know
I've updated the compiler?
The compiler is an input to the build rule. Consider the rule:
build: $(CC) my.c -o my.o
what are the dependencies for the rule "build"?
my.c obviously. Anything the compiler accesses during the
compilation of my.c. And *the compiler itself*, referenced here
as $(CC). From a dependency management standpoint, executables
are not special except as running them leads to the discovery of
more dependencies than may be statically specified.