aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.mk
diff options
context:
space:
mode:
authorGravatar John Keeping <john@keeping.me.uk>2013-03-07 06:22:08 (JST)
committerGravatar Jason A. Donenfeld <Jason@zx2c4.com>2013-03-21 05:08:32 (JST)
commitd6768a67093166810621d2521f10fd016bd75721 (patch)
tree8eb04db917f11a34d3910376fb9494bb0563c7fd /cgit.mk
parent1a6feaf5fafdaec4a1adb1c0d54b95106122ede5 (diff)
downloadcgit-d6768a67093166810621d2521f10fd016bd75721.zip
cgit-d6768a67093166810621d2521f10fd016bd75721.tar.gz
cgit.mk: don't rebuild everything if CGIT_VERSION changes
If CGIT_VERSION is in CGIT_CFLAGS then a change in version (for example because you have committed your changes) causes all of the CGit objects to be rebuilt. Avoid this by using EXTRA_CPPFLAGS to add the version for only those files that are affected and make them depend on VERSION. Signed-off-by: John Keeping <john@keeping.me.uk>
Diffstat (limited to 'cgit.mk')
-rw-r--r--cgit.mk9
1 files changed, 8 insertions, 1 deletions
diff --git a/cgit.mk b/cgit.mk
index 4869c55..c8ecd3a 100644
--- a/cgit.mk
+++ b/cgit.mk
@@ -15,7 +15,6 @@ $(CGIT_PREFIX)VERSION: force-version
15 15
16# CGIT_CFLAGS is a separate variable so that we can track it separately 16# CGIT_CFLAGS is a separate variable so that we can track it separately
17# and avoid rebuilding all of Git when these variables change. 17# and avoid rebuilding all of Git when these variables change.
18CGIT_CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
19CGIT_CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"' 18CGIT_CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
20CGIT_CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"' 19CGIT_CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
21CGIT_CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"' 20CGIT_CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
@@ -53,6 +52,14 @@ CGIT_OBJ_NAMES += vector.o
53 52
54CGIT_OBJS := $(addprefix $(CGIT_PREFIX),$(CGIT_OBJ_NAMES)) 53CGIT_OBJS := $(addprefix $(CGIT_PREFIX),$(CGIT_OBJ_NAMES))
55 54
55# Only cgit.c reference CGIT_VERSION so we only rebuild its objects when the
56# version changes.
57CGIT_VERSION_OBJS := $(addprefix $(CGIT_PREFIX),cgit.o)
58$(CGIT_VERSION_OBJS): $(CGIT_PREFIX)VERSION
59$(CGIT_VERSION_OBJS): EXTRA_CPPFLAGS = \
60 -DCGIT_VERSION='"$(CGIT_VERSION)"'
61
62
56ifeq ($(wildcard $(CGIT_PREFIX).depend),) 63ifeq ($(wildcard $(CGIT_PREFIX).depend),)
57missing_dep_dirs += $(CGIT_PREFIX).depend 64missing_dep_dirs += $(CGIT_PREFIX).depend
58endif 65endif