URL: <https://savannah.gnu.org/bugs/?66030>
Summary: --trace only shows the "primary" ($@) target
Group: make
Submitter: None
Submitted: Fri 26 Jul 2024 06:55:37 PM UTC
Severity: 3 - Normal
Item Group: Enhancement
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: SCM
Operating System: None
Fixed Release: None
Triage Status: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Fri 26 Jul 2024 06:55:37 PM UTC By: Anonymous
The Makefile below shows a pattern rule which makes 2 targets but when run
with --trace it says only "target 'foo.h' does not exist". Clearly make knows
this recipe makes 2 targets, in fact prior to 4.3 this is the only
correct/reliable way of making two targets in one recipe, so can it describe
the full set of targets it's making? Of course $@ can have only one value but
that shouldn't constrain the message printed by --trace.
$ cat Makefile
targets := foo.h foo.c
.PHONY: all
all: $(targets)
%.h %.c:
touch $(targets)
.PHONY: clean
clean:
$(RM) $(targets)
$ make --trace
Makefile:7: target 'foo.h' does not exist
touch foo.h foo.c
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?66030>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
