[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Chain of pattern rule and non-terminal match-anything rule
From: |
Renaud Pacalet |
Subject: |
Re: Chain of pattern rule and non-terminal match-anything rule |
Date: |
Fri, 11 Jan 2019 12:03:34 +0100 |
On 10/01/2019 11:55, Renaud Pacalet wrote:
> With the following Makefile:
>
> # Makefile
> %.dat: aa
> touch $@
>
> %:
> mkdir -p $@
>
> invoking `make -d aa/bb.dat` produces:
> ...
> Must remake target 'aa/bb.dat'.
> make: *** No rule to make target 'aa/bb.dat'. Stop.
> ...
> Does anybody know where this behaviour comes from or what part of the
> GNU make manual explains this behaviour?
I think I found it in a comment in the source code:
$ git rev-parse --short HEAD
214865e
$ sed -n '321,323p;323q' src/implicit.c
/* Rules that can match any filename and are not terminal
are ignored if we're recursing, so that they cannot be
intermediate files. */
Shouldn't this be explicit in the documentation? Is it?
--
Renaud Pacalet