From a5e4ad2d8b9c6bcfc7029894d3a3837166996b35 Mon Sep 17 00:00:00 2001 From: John Keeping Date: Thu, 4 Apr 2013 18:32:24 +0100 Subject: [PATCH] cgit.mk: fix dependency handling 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 --- cgit.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cgit.mk b/cgit.mk index bf3bbb1..8af0041 100644 --- 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