Makefile: split GIT_USER_AGENT from GIT-CFLAGS

The default user-agent depends on the GIT_VERSION, which means that anytime you switch versions, it causes a full rebuild. Instead, let's split it out into its own file and restrict the dependency to version.o. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Jun 20, 2012 at 14:31 UTC 620c293abdc36f3db18edd61a622eae30f01ce8e
2 files changed +10 -2
.gitignore
+1
@@ -2,6 +2,7 @@
2 /GIT-CFLAGS
3 /GIT-LDFLAGS
4 /GIT-GUI-VARS
5 +/GIT-USER-AGENT
6 /GIT-VERSION-FILE
7 /bin-wrappers/
8 /git
Makefile
+9 -2
@@ -1922,7 +1922,11 @@ endif
1922 GIT_USER_AGENT_SQ = $(subst ','\'',$(GIT_USER_AGENT))
1923 GIT_USER_AGENT_CQ = "$(subst ",\",$(subst \,\\,$(GIT_USER_AGENT)))"
1924 GIT_USER_AGENT_CQ_SQ = $(subst ','\'',$(GIT_USER_AGENT_CQ))
1925 -BASIC_CFLAGS += -DGIT_USER_AGENT='$(GIT_USER_AGENT_CQ_SQ)'
1925 +GIT-USER-AGENT: FORCE
1926 + @if test x'$(GIT_USER_AGENT_SQ)' != x"`cat GIT-USER-AGENT 2>/dev/null`"; then \
1927 + echo >&2 " * new user-agent flag"; \
1928 + echo '$(GIT_USER_AGENT_SQ)' >GIT-USER-AGENT; \
1929 + fi
1930
1931 ALL_CFLAGS += $(BASIC_CFLAGS)
1932 ALL_LDFLAGS += $(BASIC_LDFLAGS)
@@ -1987,8 +1991,10 @@ builtin/help.sp builtin/help.s builtin/help.o: EXTRA_CPPFLAGS = \
1991 '-DGIT_MAN_PATH="$(mandir_SQ)"' \
1992 '-DGIT_INFO_PATH="$(infodir_SQ)"'
1993
1994 +version.sp version.s version.o: GIT-USER-AGENT
1995 version.sp version.s version.o: EXTRA_CPPFLAGS = \
1991 - '-DGIT_VERSION="$(GIT_VERSION)"'
1996 + '-DGIT_VERSION="$(GIT_VERSION)"' \
1997 + '-DGIT_USER_AGENT=$(GIT_USER_AGENT_CQ_SQ)'
1998
1999 $(BUILT_INS): git$X
2000 $(QUIET_BUILT_IN)$(RM) $@ && \
@@ -2710,6 +2716,7 @@ ifndef NO_TCLTK
2716 $(MAKE) -C git-gui clean
2717 endif
2718 $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-GUI-VARS GIT-BUILD-OPTIONS
2719 + $(RM) GIT-USER-AGENT
2720
2721 .PHONY: all install profile-clean clean strip
2722 .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell