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
부모 952f4ece29
커밋 a1266edfe6

파일 보기

@ -73,7 +73,7 @@ ifdef NEEDS_LIBICONV
endif 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 all: cgit
@ -90,21 +90,19 @@ CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"' 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) $(QUIET_CC)$(CC) $(CFLAGS) -o cgit $(OBJECTS) $(EXTLIBS)
$(OBJECTS): | git/xdiff/lib.a git/libgit.a
cgit.o: VERSION cgit.o: VERSION
-include $(OBJECTS:.o=.d) -include $(OBJECTS:.o=.d)
git/xdiff/lib.a, git/libgit.a: git git/libgit.a: git
git:
$(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a
$(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) libgit.a $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) libgit.a
git/xdiff/lib.a: git
$(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a
test: all test: all
$(QUIET_SUBDIR0)tests $(QUIET_SUBDIR1) all $(QUIET_SUBDIR0)tests $(QUIET_SUBDIR1) all