I am having a problem with my target not being built when a dependency
is newer than the target.
When I run "make -d" to examine what it happening, I see that when it
evaluates my source file sub-dependencies (i.e. decendent dependencies)
it prunes every single one (i.e. "Pruning file `myfile'."). I can't
figure out why it is pruning them all.
What are the reasons that dependencies are pruned when evaluating
whether to build a target?
Here is some trimmed debug output of make:
Updating goal targets....
Considering target file `default'.
File `default' does not exist.
Considering target file `all'.
File `all' does not exist.
Considering target file `analyzer'.
File `analyzer' does not exist.
Considering target file `EIFGEN/W_code/mission_analyzer'.
Considering target file `EIFGEN/W_code/Makefile'.
Considering target file `EIFGEN/W_code/Makefile.SH'.
Considering target file `EIFGEN/W_code/E1/einit.c'.
Considering target file `mission_analyzer.epr'.
Pruning file `Ace.ace'.
Considering target file
`/home/dhiebert/scr/2103/System/Scripts/exref'.
Looking for an implicit rule for
`/home/dhiebert/scr/2103/System/Scripts/exref'.
No implicit rule found for
`/home/dhiebert/scr/2103/System/Scripts/exref'.
Finished prerequisites of target file
`/home/dhiebert/scr/2103/System/Scripts/exref'.
No need to remake target
`/home/dhiebert/scr/2103/System/Scripts/exref'.
Considering target file `/usr/local/bin/etyperef'.
Looking for an implicit rule for
`/usr/local/bin/etyperef'.
No implicit rule found for `/usr/local/bin/etyperef'.
Finished prerequisites of target file
`/usr/local/bin/etyperef'.
No need to remake target `/usr/local/bin/etyperef'.
Considering target file `../eiffel.mak'.
File `../eiffel.mak' was considered already.
Pruning file `Ace.ace'.
Pruning file `../../Application/Help/about_box.e'.
Pruning file
`../../Application/Help/ascii_document_viewer.e'.
[**full list of pruned files elided for brevity**]
Pruning file
`../../Mission/General/mission_seed_configuration.e'.
Pruning file `../../Mission/General/mission_services.e'.
Finished prerequisites of target file
`mission_analyzer.epr'.
Giving up on target file `mission_analyzer.epr'.
Finished prerequisites of target file
`EIFGEN/W_code/E1/einit.c'.
Giving up on target file `EIFGEN/W_code/E1/einit.c'.
Finished prerequisites of target file
`EIFGEN/W_code/Makefile.SH'.
Giving up on target file `EIFGEN/W_code/Makefile.SH'.
Finished prerequisites of target file `EIFGEN/W_code/Makefile'.
Giving up on target file `EIFGEN/W_code/Makefile'.
Finished prerequisites of target file
`EIFGEN/W_code/mission_analyzer'.
Giving up on target file `EIFGEN/W_code/mission_analyzer'.
Finished prerequisites of target file `analyzer'.
Giving up on target file `analyzer'.
Finished prerequisites of target file `all'.
Giving up on target file `all'.
Finished prerequisites of target file `default'.
Giving up on target file `default'.
In my case, one of my .e files was newer than the target, but it was
pruned.
[I know you answered this question for me privately about a year ago,
but I cannot find that email. If I ask it here, the answer will be
preserved for posterity.]
Darren
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make