URL:
<https://savannah.gnu.org/bugs/?65917>
Summary: --dry-run doesn't handle pattern rules with multiple
targets correctly
Group: make
Submitter: ssbssa
Submitted: Mon 24 Jun 2024 06:23:53 PM UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 4.4.1
Operating System: Any
Fixed Release: None
Triage Status: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Mon 24 Jun 2024 06:23:53 PM UTC By: Hannes Domani <ssbssa>
Using this file:
all:
alpha.p beta.p:
touch $@
%.c %.h: %.p
touch $*.c $*.h
alpha.o: alpha.c alpha.h beta.h
touch $@
beta.o: beta.c beta.h alpha.h
touch $@
executable: alpha.o beta.o
touch $@
all: executable
First create all targets:
$ make
touch alpha.p
touch alpha.c alpha.h
touch beta.p
touch beta.c beta.h
touch alpha.o
touch beta.o
touch executable
Remaking all targets depending on beta.p:
$ touch beta.p
$ make --dry-run
touch beta.c beta.h
touch alpha.o
touch beta.o
touch executable
$ make
touch beta.c beta.h
touch alpha.o
touch beta.o
touch executable
Both with and without --dry-run has the same result.
But trying to do the same with alpha.p:
$ make --dry-run
touch alpha.c alpha.h
touch alpha.o
touch executable
$ make
touch alpha.c alpha.h
touch alpha.o
touch beta.o
touch executable
You see that --dry-run is missing 'touch beta.o'.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?65917>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/