summaryrefslogtreecommitdiffabout
path: root/Makefile
Unidiff
Diffstat (limited to 'Makefile') (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile23
1 files changed, 23 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 2107610..dc98072 100644
--- a/Makefile
+++ b/Makefile
@@ -1,38 +1,58 @@
1CGIT_VERSION = v0.8.1 1CGIT_VERSION = v0.8.1
2CGIT_SCRIPT_NAME = cgit.cgi 2CGIT_SCRIPT_NAME = cgit.cgi
3CGIT_SCRIPT_PATH = /var/www/htdocs/cgit 3CGIT_SCRIPT_PATH = /var/www/htdocs/cgit
4CGIT_CONFIG = /etc/cgitrc 4CGIT_CONFIG = /etc/cgitrc
5CACHE_ROOT = /var/cache/cgit 5CACHE_ROOT = /var/cache/cgit
6SHA1_HEADER = <openssl/sha.h> 6SHA1_HEADER = <openssl/sha.h>
7GIT_VER = 1.6.0.3 7GIT_VER = 1.6.0.3
8GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2 8GIT_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# Define NO_STRCASESTR if you don't have strcasestr.
16#
17# Define NEEDS_LIBICONV if linking with libc is not enough (eg. Darwin).
18#
19
20#-include config.mak
21
22#
23# Platform specific tweaks
24#
25
26uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
27uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
28uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
29
30ifeq ($(uname_O),Cygwin)
31 NO_STRCASESTR = YesPlease
32 NEEDS_LIBICONV = YesPlease
33endif
34
15# 35#
16# Define a way to invoke make in subdirs quietly, shamelessly ripped 36# Define a way to invoke make in subdirs quietly, shamelessly ripped
17# from git.git 37# from git.git
18# 38#
19QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir 39QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
20QUIET_SUBDIR1 = 40QUIET_SUBDIR1 =
21 41
22ifneq ($(findstring $(MAKEFLAGS),w),w) 42ifneq ($(findstring $(MAKEFLAGS),w),w)
23PRINT_DIR = --no-print-directory 43PRINT_DIR = --no-print-directory
24else # "make -w" 44else # "make -w"
25NO_SUBDIR = : 45NO_SUBDIR = :
26endif 46endif
27 47
28ifndef V 48ifndef V
29 QUIET_CC = @echo ' ' CC $@; 49 QUIET_CC = @echo ' ' CC $@;
30 QUIET_MM = @echo ' ' MM $@; 50 QUIET_MM = @echo ' ' MM $@;
31 QUIET_SUBDIR0 = +@subdir= 51 QUIET_SUBDIR0 = +@subdir=
32 QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \ 52 QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \
33 $(MAKE) $(PRINT_DIR) -C $$subdir 53 $(MAKE) $(PRINT_DIR) -C $$subdir
34endif 54endif
35 55
36# 56#
37# Define a pattern rule for automatic dependency building 57# Define a pattern rule for automatic dependency building
38# 58#
@@ -75,48 +95,51 @@ OBJECTS += ui-tree.o
75ifdef NEEDS_LIBICONV 95ifdef NEEDS_LIBICONV
76 EXTLIBS += -liconv 96 EXTLIBS += -liconv
77endif 97endif
78 98
79 99
80.PHONY: all libgit test install uninstall clean force-version get-git 100.PHONY: all libgit test install uninstall clean force-version get-git
81 101
82all: cgit 102all: cgit
83 103
84VERSION: force-version 104VERSION: force-version
85 @./gen-version.sh "$(CGIT_VERSION)" 105 @./gen-version.sh "$(CGIT_VERSION)"
86-include VERSION 106-include VERSION
87 107
88 108
89CFLAGS += -g -Wall -Igit 109CFLAGS += -g -Wall -Igit
90CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER)' 110CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER)'
91CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"' 111CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
92CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"' 112CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
93CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"' 113CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
94CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"' 114CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
95 115
96ifdef NO_ICONV 116ifdef NO_ICONV
97 CFLAGS += -DNO_ICONV 117 CFLAGS += -DNO_ICONV
98endif 118endif
119ifdef NO_STRCASESTR
120 CFLAGS += -DNO_STRCASESTR
121endif
99 122
100cgit: $(OBJECTS) libgit 123cgit: $(OBJECTS) libgit
101 $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o cgit $(OBJECTS) $(EXTLIBS) 124 $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o cgit $(OBJECTS) $(EXTLIBS)
102 125
103cgit.o: VERSION 126cgit.o: VERSION
104 127
105-include $(OBJECTS:.o=.d) 128-include $(OBJECTS:.o=.d)
106 129
107libgit: 130libgit:
108 $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) libgit.a 131 $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) libgit.a
109 $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a 132 $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a
110 133
111test: all 134test: all
112 $(QUIET_SUBDIR0)tests $(QUIET_SUBDIR1) all 135 $(QUIET_SUBDIR0)tests $(QUIET_SUBDIR1) all
113 136
114install: all 137install: all
115 mkdir -p $(DESTDIR)$(CGIT_SCRIPT_PATH) 138 mkdir -p $(DESTDIR)$(CGIT_SCRIPT_PATH)
116 install cgit $(DESTDIR)$(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME) 139 install cgit $(DESTDIR)$(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME)
117 install -m 0644 cgit.css $(DESTDIR)$(CGIT_SCRIPT_PATH)/cgit.css 140 install -m 0644 cgit.css $(DESTDIR)$(CGIT_SCRIPT_PATH)/cgit.css
118 install -m 0644 cgit.png $(DESTDIR)$(CGIT_SCRIPT_PATH)/cgit.png 141 install -m 0644 cgit.png $(DESTDIR)$(CGIT_SCRIPT_PATH)/cgit.png
119 142
120uninstall: 143uninstall:
121 rm -f $(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME) 144 rm -f $(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME)
122 rm -f $(CGIT_SCRIPT_PATH)/cgit.css 145 rm -f $(CGIT_SCRIPT_PATH)/cgit.css