[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #63098] make-4.3.90 regression of unexpected dependencies in patter
From: |
Sergei Trofimovich |
Subject: |
[bug #63098] make-4.3.90 regression of unexpected dependencies in pattern rules with multiple targets |
Date: |
Fri, 23 Sep 2022 15:05:26 -0400 (EDT) |
URL:
<https://savannah.gnu.org/bugs/?63098>
Summary: make-4.3.90 regression of unexpected dependencies in
pattern rules with multiple targets
Project: make
Submitter: slyfox
Submitted: Fri 23 Sep 2022 07:05:25 PM UTC
Severity: 3 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: None
Operating System: None
Fixed Release: None
Triage Status: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Fri 23 Sep 2022 07:05:25 PM UTC By: Sergei Trofimovich <slyfox>
Initially noticed the problem in OpenSP-1.5.2 build failure. Here is a
minimised example:
# cat Makefile
all: foo.a foo.b
%.a %.b %.c: %.d
touch $*.a
touch $*.b
touch $*.c
To trigger it we need to have up-to-date foo.d, foo.a and foo.b:
$ touch foo.d; touch foo.a; touch foo.b
# good make-4.3:
$ make-4.3
make: Nothing to be done for 'all'.
# problematic make-4.3.90:
$ make-4.3.90
touch foo.a
touch foo.b
touch foo.c
Note how new make version decided it needs to do extra work.
Looks like a bug.
A bit of background on original bug context (in case I extracted it
incorrectly):
OpenSP-1.5.2 uses similar pattern in
https://sourceforge.net/p/openjade/code/HEAD/tree/trunk/sp/lib/Makefile.am
# ...
%.h %.cxx %.rc: %.msg
[ ! -f $(top_srcdir)/msggen.pl ] || $(PERL) -w $(top_srcdir)/msggen.pl
$(MSGGENFLAGS) $<
OpenSP's release tarball ships only .h and .rc files (but not .cxx):
lib/WinInetStorageMessages.h lib/WinInetStorageMessages.msg
lib/WinInetStorageMessages.rc. It looks like nothing requires .cxx files in
that directory.
I only noticed the failure because my sandbox environment did not have perl
and caused build failure of make upgrade to 4.3.90.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?63098>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [bug #63098] make-4.3.90 regression of unexpected dependencies in pattern rules with multiple targets,
Sergei Trofimovich <=