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:
parent
952f4ece29
commit
a1266edfe6
14
Makefile
14
Makefile
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user