summaryrefslogtreecommitdiffabout
path: root/Makefile
Unidiff
Diffstat (limited to 'Makefile') (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile36
1 files changed, 31 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index c9be8fa..223765d 100644
--- a/Makefile
+++ b/Makefile
@@ -12,12 +12,38 @@ GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2
12# 12#
13-include cgit.conf 13-include cgit.conf
14 14
15#
16# Define a way to invoke make in subdirs quietly, shamelessly ripped
17# from git.git
18#
19QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
20QUIET_SUBDIR1 =
21
22ifneq ($(findstring $(MAKEFLAGS),w),w)
23PRINT_DIR = --no-print-directory
24else # "make -w"
25NO_SUBDIR = :
26endif
27
28ifndef V
29 QUIET_CC = @echo ' ' CC $@;
30 QUIET_MM = @echo ' ' MM $@;
31 QUIET_SUBDIR0 = +@subdir=
32 QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \
33 $(MAKE) $(PRINT_DIR) -C $$subdir
34endif
15 35
16# 36#
17# Define a pattern rule for automatic dependency building 37# Define a pattern rule for automatic dependency building
18# 38#
19%.d: %.c 39%.d: %.c
20 $(CC) $(CFLAGS) -MM $< | sed -e 's/\($*\)\.o:/\1.o $@:/g' >$@ 40 $(QUIET_MM)$(CC) $(CFLAGS) -MM $< | sed -e 's/\($*\)\.o:/\1.o $@:/g' >$@
41
42#
43# Define a pattern rule for silent object building
44#
45%.o: %.c
46 $(QUIET_CC)$(CC) -o $*.o -c $(CFLAGS) $<
21 47
22 48
23EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto 49EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto
@@ -64,7 +90,7 @@ CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
64 90
65 91
66cgit: $(OBJECTS) 92cgit: $(OBJECTS)
67 $(CC) $(CFLAGS) -o cgit $(OBJECTS) $(EXTLIBS) 93 $(QUIET_CC)$(CC) $(CFLAGS) -o cgit $(OBJECTS) $(EXTLIBS)
68 94
69$(OBJECTS): git/xdiff/lib.a git/libgit.a 95$(OBJECTS): git/xdiff/lib.a git/libgit.a
70 96
@@ -77,11 +103,11 @@ git/xdiff/lib.a: | git
77git/libgit.a: | git 103git/libgit.a: | git
78 104
79git: 105git:
80 cd git && $(MAKE) xdiff/lib.a 106 $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a
81 cd git && $(MAKE) libgit.a 107 $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) libgit.a
82 108
83test: all 109test: all
84 $(MAKE) -C tests 110 $(QUIET_SUBDIR0)tests $(QUIET_SUBDIR1) all
85 111
86install: all 112install: all
87 mkdir -p $(DESTDIR)$(CGIT_SCRIPT_PATH) 113 mkdir -p $(DESTDIR)$(CGIT_SCRIPT_PATH)