On Fri, Dec 17 2021, Ævar Arnfjörð Bjarmason wrote: A gentle reminder about considering picking up this topic that got lost around the holidays. This thread doesn't have any reviews, but as the linked-to range-diff shows it's all had reviews already as part of the larger topic I split it up from (except for the trivial addition noted below). > 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