From: Junio C Hamano Date: Thu, 22 Jun 2006 09:04:04 GMT Subject: Re: [PATCH] Pass -DDEFAULT_GIT_TEMPLATE_DIR only where actually used. Message-ID: <7v7j39tvcr.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20060622104901.f3543f07.tihirvon@gmail.com> Timo Hirvonen writes: > Junio C Hamano wrote: > >> By the way, I really started hating that we have $(GIT_VERSION) >> in $(TRACK_CFLAGS). Since the version string is tied to the >> HEAD commit object name, having it in $(TRACK_CFLAGS) means that >> every time I switch branches, make a new commit on top of the >> current branch, or checkout-compile-and-then-make-local-change >> sequence would force pretty much everything to be rebuilt. >... >> For that matter, I do not think tracking prefix_SQ makes much >> sense since what matters are bindir, gitexecdir and template_dir >> which are already covered, and prefix is merely a convenience to >> set these three (four, counting GIT_PYTHON_DIR; we probably >> should add it to TRACK_CFLAGS). > > Yes, only ALL_CFLAGS, bindir, gitexecdir, template_dir and > GIT_PYTHON_DIR should be in TRACK_CFLAGS. Exactly my thinking. Let's do it like this, then. -- >8 -- Makefile: do not force unneeded recompilation upon GIT_VERSION changes --- diff --git a/Makefile b/Makefile index 55a84d4..d45f3dc 100644 --- a/Makefile +++ b/Makefile @@ -612,7 +612,7 @@ tags: find . -name '*.[hcS]' -print | xargs ctags -a ### Detect prefix changes -TRACK_CFLAGS = $(subst ','\'',$(ALL_CFLAGS)):$(GIT_VERSION):\ +TRACK_CFLAGS = $(subst ','\'',$(ALL_CFLAGS)):$(GIT_PYTHON_DIR_SQ):\ $(bindir_SQ):$(gitexecdir_SQ):$(template_dir_SQ):$(prefix_SQ) GIT-CFLAGS: .FORCE-GIT-CFLAGS