aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-12-23 09:32:26 -0800
committerJunio C Hamano <gitster@pobox.com>2024-12-23 09:32:26 -0800
commitf074cdea467524afd355766c6cdb27d6d94d1e4e (patch)
tree19f76609aeaa5aacf3c03c0f3eb11eb5379a48c0 /Makefile
parent83c8f7623538e67262db18c98d9c1da6b50e289d (diff)
parent1bc815c3d0eff054c7a032130206d16839bb331a (diff)
downloadgit-f074cdea467524afd355766c6cdb27d6d94d1e4e.tar.xz
Merge branch 'ps/build-hotfix'
A topic to optionally build with meson, which has graduated to 'master' recently, has regressed the normal Makefile build, which is being corrected. * ps/build-hotfix: meson: add options to override build information GIT-VERSION-GEN: fix overriding GIT_BUILT_FROM_COMMIT and GIT_DATE GIT-VERSION-GEN: fix overriding GIT_VERSION Makefile: introduce template for GIT-VERSION-GEN Makefile: drop unneeded indirection for GIT-VERSION-GEN outputs Makefile: stop including "GIT-VERSION-FILE" in docs
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile25
1 files changed, 14 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 3257038891..3fa4bf0d06 100644
--- a/Makefile
+++ b/Makefile
@@ -591,13 +591,6 @@ include shared.mak
#
# Disable -pedantic compilation.
-GIT-VERSION-FILE: FORCE
- @OLD=$$(cat $@ 2>/dev/null || :) && \
- $(SHELL_PATH) ./GIT-VERSION-GEN "$(shell pwd)" GIT-VERSION-FILE.in $@ && \
- NEW=$$(cat $@ 2>/dev/null || :) && \
- if test "$$OLD" != "$$NEW"; then echo "$$NEW" >&2; fi
--include GIT-VERSION-FILE
-
# Set our default configuration.
#
# Among the variables below, these:
@@ -1465,6 +1458,18 @@ ifdef DEVELOPER
include config.mak.dev
endif
+GIT-VERSION-FILE: FORCE
+ @OLD=$$(cat $@ 2>/dev/null || :) && \
+ $(call version_gen,"$(shell pwd)",GIT-VERSION-FILE.in,$@) && \
+ NEW=$$(cat $@ 2>/dev/null || :) && \
+ if test "$$OLD" != "$$NEW"; then echo "$$NEW" >&2; fi
+
+# We need to set GIT_VERSION_OVERRIDE before including the version file as
+# otherwise any user-provided value for GIT_VERSION would have been overridden
+# already.
+GIT_VERSION_OVERRIDE := $(GIT_VERSION)
+-include GIT-VERSION-FILE
+
# what 'all' will build and 'install' will install in gitexecdir,
# excluding programs for built-in commands
ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS)
@@ -2511,8 +2516,7 @@ pager.sp pager.s pager.o: EXTRA_CPPFLAGS = \
-DPAGER_ENV='$(PAGER_ENV_CQ_SQ)'
version-def.h: version-def.h.in GIT-VERSION-GEN GIT-VERSION-FILE GIT-USER-AGENT
- $(QUIET_GEN)GIT_USER_AGENT="$(GIT_USER_AGENT)" $(SHELL_PATH) ./GIT-VERSION-GEN "$(shell pwd)" $< $@+
- @if cmp $@+ $@ >/dev/null 2>&1; then $(RM) $@+; else mv $@+ $@; fi
+ $(QUIET_GEN)$(call version_gen,"$(shell pwd)",$<,$@)
version.sp version.s version.o: version-def.h
@@ -2553,8 +2557,7 @@ $(SCRIPT_SH_GEN) $(SCRIPT_LIB) : % : %.sh generate-script.sh GIT-BUILD-OPTIONS G
mv $@+ $@
git.rc: git.rc.in GIT-VERSION-GEN GIT-VERSION-FILE
- $(QUIET_GEN)$(SHELL_PATH) ./GIT-VERSION-GEN "$(shell pwd)" $< $@+
- @if cmp $@+ $@ >/dev/null 2>&1; then $(RM) $@+; else mv $@+ $@; fi
+ $(QUIET_GEN)$(call version_gen,"$(shell pwd)",$<,$@)
git.res: git.rc GIT-PREFIX
$(QUIET_RC)$(RC) -i $< -o $@