I am observing a very weird behaviour of gmake and I am trying to see
what I may have done to cause the problem. I have lots of fortran and C
source which needs to be linked to an executable. The relavant portion
of the makefile is as follows

----------------
exename: printflags data code
        @$(ECHO) Linking in Units and Libraries
        $(LINK) $(LFLAGS) $(EXE) $(ALL_OBJS) $(LIB) $(CONFIG_LIB)
        @$(ECHO) SUCCESS

# end of rules for exename
--------------

When I run "gmake  --dry-run -d -r | tail -6" I get the following
-------------------------
echo SUCCESS
  Successfully remade target file `exename'.
 Finished prerequisites of target file `default'.
Must remake target `default'.
Successfully remade target file `default'.
gmake: Nothing to be done for `default'.
------------------------

If I comment out the "$(LINK)" line and then run "gmake --dry-run -d -r
| tail -6" I get the following:
---------------------------
echo Linking in Units and Libraries
echo SUCCESS
  Successfully remade target file `flash3'.
 Finished prerequisites of target file `default'.
Must remake target `default'.
Successfully remade target file `default'.
---------------------------

Why is there an extra "gmake: Nothing to be done for `default'" in the
first case, when it has just finished making it? And commenting out the
"LINK" line removes the extra line. Since both commands are in
"dry-run" mode, commenting out the line shouldn't have this effect.

Is there something which causes gmake to update the target it has just
finished making? Since this is part of a large makefile, I am only able
to give the (hopefully) relevant part of the Makefile.

- Murali

_______________________________________________
help-gnu-utils mailing list
help-gnu-utils@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-utils

Reply via email to