]> granicus.if.org Git - cgit/commitdiff
cgit.mk: fix dependency handling
authorJohn Keeping <john@keeping.me.uk>
Thu, 4 Apr 2013 17:32:24 +0000 (18:32 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 8 Apr 2013 13:43:17 +0000 (15:43 +0200)
Git calculates the dependency files to be included using a simply
expanded Makefile variable, so it does not include the CGit objects that
are added after that Makefile has been processed.

We therefore need to include the dependency files ourselves in order to
get the dependency calculations right.  Do this.

Signed-off-by: John Keeping <john@keeping.me.uk>
cgit.mk

diff --git a/cgit.mk b/cgit.mk
index bf3bbb1c71b5c4a822df6f8e74c566707aec6263..8af0041d78c58b1c47079af9432036a4a7cc2ed4 100644 (file)
--- a/cgit.mk
+++ b/cgit.mk
@@ -62,6 +62,14 @@ $(CGIT_VERSION_OBJS): EXTRA_CPPFLAGS = \
        -DCGIT_VERSION='"$(CGIT_VERSION)"'
 
 
+# Git handles dependencies using ":=" so dependencies in CGIT_OBJ are not
+# handled by that and we must handle them ourselves.
+cgit_dep_files := $(foreach f,$(CGIT_OBJS),$(dir $f).depend/$(notdir $f).d)
+cgit_dep_files_present := $(wildcard $(cgit_dep_files))
+ifneq ($(cgit_dep_files_present),)
+include $(cgit_dep_files_present)
+endif
+
 ifeq ($(wildcard $(CGIT_PREFIX).depend),)
 missing_dep_dirs += $(CGIT_PREFIX).depend
 endif