%% Manoj Srivastava <[EMAIL PROTECTED]> writes:

  ms>          [Please retain the CC to [EMAIL PROTECTED] so
  ms>          that the Debian Bug Tracking system can record your input]

  ms> ======================================================================
  ms> Consider the following Makefile:

  ms> %: bar/%.foo
  ms>   @echo success

  ms> Suppose that the following files exist:

  ms>     bar/a.foo
  ms>     bar/b/c.foo

  ms> "make a" prints "success", but "make b/c" says:

  ms>     make: *** No rule to make target `b/c'.  Stop.

  ms> This problem was reported by a Debian user.  I looked through the
  ms> manual to see if there is any restriction on the stem section of a
  ms> pattern match, but I did not see any prohibitions, so this should
  ms> work.

No, this is documented and the behaviour here is correct according to
the documentation.  See the second paragraph in the GNU make manual
section "How Patterns Match".  If the target doesn't contain a slash,
then directory names are removed from the file name before it is
compared.

  ms> I'm almost certain this used to work.

I tried versions of GNU make all the way back to 3.74 with this example,
and they all behaved as above (no rule to make target...).

-- 
-------------------------------------------------------------------------------
 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

_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make

Reply via email to