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>
This commit is contained in:
джерело
1a6feaf5fa
коміт
d6768a6709
9
cgit.mk
9
cgit.mk
@ -15,7 +15,6 @@ $(CGIT_PREFIX)VERSION: force-version
|
|||||||
|
|
||||||
# CGIT_CFLAGS is a separate variable so that we can track it separately
|
# CGIT_CFLAGS is a separate variable so that we can track it separately
|
||||||
# and avoid rebuilding all of Git when these variables change.
|
# and avoid rebuilding all of Git when these variables change.
|
||||||
CGIT_CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
|
|
||||||
CGIT_CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
|
CGIT_CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
|
||||||
CGIT_CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
|
CGIT_CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
|
||||||
CGIT_CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
|
CGIT_CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
|
||||||
@ -53,6 +52,14 @@ CGIT_OBJ_NAMES += vector.o
|
|||||||
|
|
||||||
CGIT_OBJS := $(addprefix $(CGIT_PREFIX),$(CGIT_OBJ_NAMES))
|
CGIT_OBJS := $(addprefix $(CGIT_PREFIX),$(CGIT_OBJ_NAMES))
|
||||||
|
|
||||||
|
# Only cgit.c reference CGIT_VERSION so we only rebuild its objects when the
|
||||||
|
# version changes.
|
||||||
|
CGIT_VERSION_OBJS := $(addprefix $(CGIT_PREFIX),cgit.o)
|
||||||
|
$(CGIT_VERSION_OBJS): $(CGIT_PREFIX)VERSION
|
||||||
|
$(CGIT_VERSION_OBJS): EXTRA_CPPFLAGS = \
|
||||||
|
-DCGIT_VERSION='"$(CGIT_VERSION)"'
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(wildcard $(CGIT_PREFIX).depend),)
|
ifeq ($(wildcard $(CGIT_PREFIX).depend),)
|
||||||
missing_dep_dirs += $(CGIT_PREFIX).depend
|
missing_dep_dirs += $(CGIT_PREFIX).depend
|
||||||
endif
|
endif
|
||||||
|
Завантаження…
Посилання в новій задачі
Block a user