all repos — cgit @ a5e4ad2d8b9c6bcfc7029894d3a3837166996b35

a hyperfast web frontend for git written in c

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 <john@keeping.me.uk>
John Keeping john@keeping.me.uk
Thu, 04 Apr 2013 18:32:24 +0100
commit

a5e4ad2d8b9c6bcfc7029894d3a3837166996b35

parent

cfb77e97fa63d709c81bc730ea47a06172d78669

1 files changed, 8 insertions(+), 0 deletions(-)

jump to
M cgit.mkcgit.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