[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU make 4.3.91 release candidate available
From: |
Frank Heckenbach |
Subject: |
Re: GNU make 4.3.91 release candidate available |
Date: |
Wed, 19 Oct 2022 06:31:56 +0200 |
> * WARNING: Future backward-incompatibility!
> In the NEXT release of GNU Make, pattern rules will implement the same
> behavior change for multiple targets as explicit grouped targets, below: if
> any target of the rule is needed by the build, the recipe will be invoked if
> any target of the rule is missing or out of date. During testing some
> makefiles were found to contain pattern rules that do not build all targets;
> this can cause issues so we are delaying this change for one release cycle
> to allow these makefiles to be updated. GNU Make shows a warning if it
> detects this situation: "pattern recipe did not update peer target".
This warning doesn't seem to be given for indirect targets as e.g.
would be the case with bison and cc: %.y -> %.[ch] -> %.o which was
the case that caused me problems with 4.3.90. I've since fixed my
Makefile, so no actual problem to me, but I just did a recheck and
expected to see this warning with my old Makefile and didn't get it.
% cat Makefile
%.c %.h &: %.y; touch "$@"
%.o: %.c; touch "$@"
foo.y: ; touch "$@"
clean: ; @rm -f foo.y foo.c foo.o
% make clean; make -s foo.c
Makefile:1: warning: pattern recipe did not update peer target 'foo.h'.
% make clean; make -s foo.o
%
- Re: GNU make 4.3.92 on mingw, (continued)
- Re: GNU make 4.3.92 on mingw, Paul Smith, 2022/10/25
- Re: GNU make 4.3.92 on mingw, Eli Zaretskii, 2022/10/25
- Re: GNU make 4.3.92 on mingw, Paul Smith, 2022/10/25
- Re: GNU make 4.3.92 on mingw, David Boyce, 2022/10/25
- Re: GNU make 4.3.92 on mingw, Eli Zaretskii, 2022/10/25
- Re: GNU make 4.3.92 on mingw, Paul Smith, 2022/10/25
GNU make 4.3.91 on GNU/Hurd, Bruno Haible, 2022/10/18
GNU make 4.3.91 on other platforms, Bruno Haible, 2022/10/18
Re: GNU make 4.3.91 release candidate available,
Frank Heckenbach <=
features/temp_stdin FAILED (was: GNU make 4.3.91 release candidate available), Frank Heckenbach, 2022/10/19