[jamming] Undesired multi pass build
holtdl at yahoo.com
Wed Feb 4 20:36:05 PST 2004
--- Roger.Shimada at lawson.com wrote:
> LawMkHdr $(GENINC)/$(var:B).h : $(var:B).c : -g ;
I suspect this is your problem. Your header-file target isn't the same as
what source.c #include's -- HdrRule puts an Includes on source.c of
common.h, not $(GENINC)/common.h, so there's no association between
common.h the target and common.h the #include'd header file, so there's
none between common.h the target and source.c, just between source.c and
the common.h it finds in $(GENINC) (via $(HDRSEARCH)) once common.h has
been built. So there's nothing saying to rebuild source.c, until after
common.h has been built (and its timestamp bumped), which is why source.c
recompiles on a second pass but not on one. If you make your target the
same as what's #include'd, you should probably be okay.
(holtdl at yahoo.com)
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
More information about the jamming