|Subject:||Non existing target not marked as new|
|Date:||Wed, 8 Feb 2017 13:48:56 +0000|
I created a makefile using instructions for this post: http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
To test it, I make all my files, then deleted one .d file and touched one of the header files present in that .d file.
The target, however, was not rebuilt.
Running with -d, I found that the empty rule to make %.d files, ran the first time the %.d file was needed, in the -include directive.
Than the target was marked as built by make, so the second time it was needed, when building the .o file, the empty recipe was not re-run.
However, since the .d file still didn’t exist, the .o file was not rebuilt.
The author of the article was assuming that if a target is marked as built, all the target it's their prerequisite will also be rebuilt, regardless of the actual state of the target.
Was he mistaken?
If so, is this a bug, or the intended behavior?
I this is the intended behavior, how can I achieve the same affect?
|[Prev in Thread]||Current Thread||[Next in Thread]|