help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Pruning of dependencies


From: Hiebert, Darren \(MS\)
Subject: Pruning of dependencies
Date: Tue, 1 May 2007 08:41:31 -0700

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]