[gnu.utils.bug] GNU Make bug report

tdw%computer-lab.cambridge.ac.uk@NSFNET-RELAY.AC.UK (Tim Wilson) (10/10/89)

GNU Make is making my life a lot easier!  And I particularly
appreciate the manual.  To either correcty my understanding (tell me
on which page to RTFM!), or help improve GNU Make further, I'm
including a script which shows GNU Make committing a sin of
omission--at least, that's what I think.

Here is a session which exibits what I believe to be the bug:
----------------------------------------------------------------------
Script started on Tue Oct 10 15:26:40 1989
~/rvd/c/sys/sum $ cat GMBug
# Demonstrate bug in GNU make
# Last edited: Tue Oct 10 15:14:23 1989 by Tim Wilson
#

%.m : /tmp/z/%.n
        echo $@

a.m :
~/rvd/c/sys/sum $ gmake -d -r -n -f GMBug
GNU Make version 3.56, by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 1989 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Reading makefiles...
Updating makefiles....
 Considering target file `GMBug'.
  Looking for an implicit rule for `GMBug'.
  No implicit rule found for `GMBug'.
  Finished dependencies of target file `GMBug'.
 No need to remake target `GMBug'.
Updating goal targets....
Considering target file `a.m'.
 File `a.m' does not exist.
 Looking for an implicit rule for `a.m'.
 No implicit rule found for `a.m'.
 Finished dependencies of target file `a.m'.
Must remake target `a.m'.
Successfully remade target file `a.m'.
~/rvd/c/sys/sum $ 

script done on Tue Oct 10 15:28:14 1989
----------------------------------------------------------------------

What I expected:
===============

I expected the implicit rule %.m etc to be applicable to the target a.m .

Why I think it is a bug:
=======================

(rather than mis-reading of the manual): Slight variations on the
exact form of the pattern rule do what I would expect, viz attempt to
apply the pattern rule to the target a.m .  Variations which *do* work
include:

%.m : tmp/z/%.n
	echo $@

(ie without the leading `/') and

%.m : /tmp/%.n
	echo $@

(ie without the subdirectory `z').

Thank you for your attention.

Tim Wilson