This topic is split-up from v4 of ab/make-dependency[1]. Range-diff to it below. As noted in [2] I opted to split up that series rather than having it grow too large. This is miscellanious cleanups related to the "Perl" rules, and some fixes for bad dependency rules in 08/11. Then in 10/11 we make the "Python" rules use the new template we created for "Perl", We are then able to speed up "make" re-builds a bit in 11/11, as we don't need to inject @@GIT_VERSION@@ into the Perl scripts anymore. The 09/11 is new. It's a trivial sorting of the PERL_DEFINES list, which'll help to maintain it in the future. 1. https://lore.kernel.org/git/cover-v4-00.23-00000000000-20211117T101807Z-avarab@xxxxxxxxx/ 2. https://lore.kernel.org/git/211217.86a6h09km9.gmgdl@xxxxxxxxxxxxxxxxxxx/ Ævar Arnfjörð Bjarmason (11): Makefile: clean perl/build/ even with NO_PERL=Y Makefile: don't set up "perl/build" rules under NO_PERL=Y Makefile: use "=" not ":=" for po/* and perl/* Makefile: remove "mv $@ $@+" dance redundant to .DELETE_ON_ERROR Makefile: guard Perl-only variable assignments Makefile: change "ifndef NO_PERL" to "ifdef NO_PERL" Makefile: adjust Perl-related comments & whitespace Makefile: correct "GIT-PERL-{DEFINES,HEADER}" dependency graph Makefile: sort PERL_DEFINES list Makefile: create a GIT-PYTHON-DEFINES, like "PERL" Makefile: stop needing @@GIT_VERSION@@ in *.perl scripts .gitignore | 2 +- Makefile | 160 +++++++++++++++++++++++--------------------- git-cvsserver.perl | 6 +- git-send-email.perl | 7 +- git-svn.perl | 2 +- 5 files changed, 90 insertions(+), 87 deletions(-) Range-diff: 1: 1621ca72c1d < -: ----------- Makefile: don't invoke msgfmt with --statistics 4: daead5ec293 = 1: 185f5a9a9cf Makefile: clean perl/build/ even with NO_PERL=Y 2: b7c36c9fea0 = 2: 37eeccc5646 Makefile: don't set up "perl/build" rules under NO_PERL=Y 3: 29b000eb0f1 = 3: 572a82c71a1 Makefile: use "=" not ":=" for po/* and perl/* 5: 3c987590740 = 4: 5baff22f5af Makefile: remove "mv $@ $@+" dance redundant to .DELETE_ON_ERROR 6: b57f582ccd3 = 5: 992e325491d Makefile: guard Perl-only variable assignments 7: fcdee92f64c = 6: 5e94ef729fe Makefile: change "ifndef NO_PERL" to "ifdef NO_PERL" 8: 1e25b532ca2 = 7: 4eeef8571aa Makefile: adjust Perl-related comments & whitespace 9: 77d9855bfcf = 8: 8aa35537b08 Makefile: correct "GIT-PERL-{DEFINES,HEADER}" dependency graph -: ----------- > 9: 5ff768a5cec Makefile: sort PERL_DEFINES list 10: 6004cdcd8d9 = 10: fe79797f45e Makefile: create a GIT-PYTHON-DEFINES, like "PERL" 11: 17b30e96057 = 11: defbd9b6db2 Makefile: stop needing @@GIT_VERSION@@ in *.perl scripts 12: 30ddf7da2c8 < -: ----------- Makefiles: add "shared.mak", move ".DELETE_ON_ERROR" to it 13: f378a7dc35e < -: ----------- Makefile: move $(comma), $(empty) and $(space) to shared.mak 14: 13cbb851d32 < -: ----------- Makefile: re-add and use the "shellquote" macros 15: 337953e4994 < -: ----------- Makefile: add a "TRACK_template" for GIT-*{FLAGS,DEFINES,...} 16: 5bb597c1993 < -: ----------- Makefile: add "$(QUIET)" boilerplate to shared.mak 17: 3c4d0589667 < -: ----------- Makefile: use $(wspfx) for $(QUIET...) in shared.mak 18: be5882b2c99 < -: ----------- Makefiles: add and use wildcard "mkdir -p" template 19: 2710f8af6cd < -: ----------- Makefile: correct the dependency graph of hook-list.h 20: 59f22a0269a < -: ----------- Makefile: use $(file) I/O instead of "FORCE" when possible 21: dd569a59c74 < -: ----------- Makefile: disable GNU make built-in wildcard rules 22: 4168a7e3b30 < -: ----------- Makefile: define $(LIB_H) in terms of $(FIND_SOURCE_FILES) 23: 48a3927d972 < -: ----------- Makefile: move ".SUFFIXES" rule to shared.mak -- 2.34.1.1119.g7a3fc8778ee