[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #51311] Checking search retries for implicit make rules
From: |
Markus Elfring |
Subject: |
[bug #51311] Checking search retries for implicit make rules |
Date: |
Sun, 25 Jun 2017 15:40:48 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0 |
URL:
<http://savannah.gnu.org/bugs/?51311>
Summary: Checking search retries for implicit make rules
Project: make
Submitted by: elfring
Submitted on: Sun 25 Jun 2017 09:40:47 PM CEST
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 4.2.1
Operating System: Any
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
The documentation contains the following information
<https://www.gnu.org/software/make/manual/html_node/Goals.html>:
“…
Any target in the makefile may be specified as a goal (…). Even targets not
in the makefile may be specified, if make can find implicit rules that say how
to make them.
…”
my_info?=echo
my_compilation?=echo
my_preparation?=cat
footer?=MOTD.txt
prepared_file?=MOTD.in
MOTD.info: ${footer}
${my_info} "$(shell date): Is this acceptable?: $(shell cat ${footer})"
> $@
MOTD%.log: MOTD%.txt MOTD%.in
${my_compilation} "$<: $(shell cat ${prepared_file} ${footer})" > $@
${prepared_file}: MOTD.draft
${my_preparation} $< > $@
Test result:
address@hidden:~/Projekte/Bau> LANG=C make --no-builtin-rules -f
../GNU/make/rule-check3.make -d MOTD.log
…
Updating goal targets....
Considering target file 'MOTD.log'.
File 'MOTD.log' does not exist.
Looking for an implicit rule for 'MOTD.log'.
No implicit rule found for 'MOTD.log'.
Finished prerequisites of target file 'MOTD.log'.
Must remake target 'MOTD.log'.
make: *** No rule to make target 'MOTD.log'. Stop.
I would interpret the second rule as a make pattern rule
<https://www.gnu.org/software/make/manual/html_node/Pattern-Match.html> which
is also categorised as an implicit rule then. An explicit make rule does not
exist in this small test example for the specified (non-default) goal. So I
would expect that another search try will be performed.
Why do I observe a mismatch there?
How much does it matter in this test case that I would like to try a
prerequisite out which should contain two “patterns”?
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?51311>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #51311] Checking search retries for implicit make rules,
Markus Elfring <=