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

Reply via email to