Makefile: another take on git dependency rules

When building cgit we depend on xdiff/lib.a and libgit.a in the git
directory, but the previous attempt on describing this dependency
failed since the build instructions for the libs was placed under the
phony `git` target.

This patch fixes the issue by moving the build instructions to their
real targets. It also makes it clear that only the `cgit` target
depends on the git binaries (since they're only used during linking).

And while at it, the patch also cleans up the list of phony targets.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2008-08-01 01:25:51 +02:00
parent 952f4ece29
commit a1266edfe6

View File

@ -73,7 +73,7 @@ ifdef NEEDS_LIBICONV
endif
.PHONY: all git test install clean distclean emptycache force-version get-git
.PHONY: all git test install uninstall clean force-version get-git
all: cgit
@ -90,21 +90,19 @@ CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
cgit: $(OBJECTS)
cgit: $(OBJECTS) git/libgit.a git/xdiff/lib.a
$(QUIET_CC)$(CC) $(CFLAGS) -o cgit $(OBJECTS) $(EXTLIBS)
$(OBJECTS): | git/xdiff/lib.a git/libgit.a
cgit.o: VERSION
-include $(OBJECTS:.o=.d)
git/xdiff/lib.a, git/libgit.a: git
git:
$(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a
git/libgit.a: git
$(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) libgit.a
git/xdiff/lib.a: git
$(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a
test: all
$(QUIET_SUBDIR0)tests $(QUIET_SUBDIR1) all