summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show 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
@@ -9,18 +9,44 @@ GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2
9 9
10# 10#
11# Let the user override the above settings. 11# Let the user override the above settings.
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
24OBJECTS = 50OBJECTS =
25OBJECTS += cache.o 51OBJECTS += cache.o
26OBJECTS += cgit.o 52OBJECTS += cgit.o
@@ -61,30 +87,30 @@ CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
61CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"' 87CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
62CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"' 88CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
63CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"' 89CFLAGS += -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
71cgit.o: VERSION 97cgit.o: VERSION
72 98
73-include $(OBJECTS:.o=.d) 99-include $(OBJECTS:.o=.d)
74 100
75git/xdiff/lib.a: | git 101git/xdiff/lib.a: | git
76 102
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)
88 install cgit $(DESTDIR)$(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME) 114 install cgit $(DESTDIR)$(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME)
89 install cgit.css $(DESTDIR)$(CGIT_SCRIPT_PATH)/cgit.css 115 install cgit.css $(DESTDIR)$(CGIT_SCRIPT_PATH)/cgit.css
90 install cgit.png $(DESTDIR)$(CGIT_SCRIPT_PATH)/cgit.png 116 install cgit.png $(DESTDIR)$(CGIT_SCRIPT_PATH)/cgit.png