[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: execution of rules in included Makefiles
From: |
Paul Smith |
Subject: |
Re: execution of rules in included Makefiles |
Date: |
Sun, 14 Nov 2010 15:22:37 -0500 |
On Tue, 2010-11-09 at 17:43 -0500, Chris Cross wrote:
> The "Testing" line above is from a rule in Makefile.gen that generates
> source used in the outer makefile and before that is the rule I added
> to make the target directory. What I see from using --debug=v is that
> rule being executed before "Considering target file `all'", where
> `all' is the first rule in the outer Makefile.
I don't recall if I replied to this or not.
At any rate, if you see things like this it almost invariably means that
somehow, those targets are being rebuilt as a side-effect of trying to
rebuild all the included files.
For example, if your makefile has automatically generated dependencies,
like:
include foo.d
and you have a rule that creates foo.d and foo.o at the same time and
from the same set of prerequisites:
%.o %.d : %.c
...
then whenever you invoke your "make" and foo.d is determined to be out
of date, make will rebuild it first and re-exec itself, to read the
newest dependency information.
This is just an example of course: there could be multiple reasons.
--
-------------------------------------------------------------------------------
Paul D. Smith <address@hidden> Find some GNU make tips at:
http://www.gnu.org http://make.mad-scientist.net
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist