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 <[email protected]>
---
I missed this when changing this to use Git's Makefile - it all worked
nicely until I started jumping between branches :-(

 cgit.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/cgit.mk b/cgit.mk
index e1aed63..3a3c901 100644
--- a/cgit.mk
+++ b/cgit.mk
@@ -60,6 +60,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
-- 
1.8.2.540.gf023cfe


_______________________________________________
cgit mailing list
[email protected]
http://hjemli.net/mailman/listinfo/cgit

Reply via email to