%% Regarding Re: Circular dependency dropping error; you wrote:

  ch> % ls -la asdf.gif
  ch> asdf.gif

  ch> % make asdf.png
  ch> make: *** No rule to make target `asdf.png'.  Stop.

  >> This is correct, right?

  ch> No, there is a rule for %.png <- %.ppm, and a rule for %.ppm <-
  ch> %.gif.  %.png <- %.gif should have worked.  This does work for
  ch> %.png <- %.xpm, as seen later, and the rules are identical.

Not in the makefile you sent in your message.  There's a target %.gif
that can be built from %.ppm, but there's no implicit rule that shows
how to build anything (including %.ppm) from %.gif.

Either you overlooked it, or the makefile I received got truncated
somehow.

  ch> Anyway, yes, perhaps I'm stretching 'make' too far, but I'm strongly
  ch> encouraged by the fact that this works some of the time!

  >> As far as I can tell, make works all the time when it should work.
  >> What is broken is that in some situations where make can't do what
  >> you want, it will try to do something bogus instead of just
  >> printing an error.

  >> Am I correct here, or am I missing something?

  ch> It's actually doing the right thing about half the time.  I guess the
  ch> code determining which dependency to drop is picking an arbitrary
  ch> dependency, instead of useless dependencies.

It's not clear how make would determine "useless".  What I would assume
is that make would pick the last dependency that caused the loop, and
throw it out.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://www.paulandlesley.org/gmake/
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist

Reply via email to