summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2007-05-14 21:09:49 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-05-14 21:09:49 (UTC)
commit9ecde6568a9e39c942f4c5585ffa494c5df870e4 (patch) (unidiff)
tree52038a9c553102b13741cecd546435b03917374a
parent5b94c96a83f19a0175a8e1699d71080965793cc2 (diff)
downloadcgit-9ecde6568a9e39c942f4c5585ffa494c5df870e4.zip
cgit-9ecde6568a9e39c942f4c5585ffa494c5df870e4.tar.gz
cgit-9ecde6568a9e39c942f4c5585ffa494c5df870e4.tar.bz2
Let makefile override the configfile location
Pass CGIT_CONFIG from makefile during build, to enable stuff like make CGIT_CONFIG=/var/cgit/cgit.conf Noticed by Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile11
-rw-r--r--cgit.c2
2 files changed, 8 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index a36eede..3d8edb8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,59 +1,62 @@
1CGIT_VERSION = 0.4 1CGIT_VERSION = 0.4
2 2
3prefix = /var/www/htdocs/cgit 3prefix = /var/www/htdocs/cgit
4 4
5SHA1_HEADER = <openssl/sha.h> 5SHA1_HEADER = <openssl/sha.h>
6
7CACHE_ROOT = /var/cache/cgit 6CACHE_ROOT = /var/cache/cgit
7CGIT_CONFIG = /etc/cgitrc
8
8EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto 9EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto
9OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ 10OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \
10 ui-summary.o ui-log.o ui-view.o ui-tree.o ui-commit.o ui-diff.o \ 11 ui-summary.o ui-log.o ui-view.o ui-tree.o ui-commit.o ui-diff.o \
11 ui-snapshot.o ui-blob.o 12 ui-snapshot.o ui-blob.o
12 13
13CFLAGS += -Wall 14CFLAGS += -Wall
14 15
15ifdef DEBUG 16ifdef DEBUG
16 CFLAGS += -g 17 CFLAGS += -g
17endif 18endif
18 19
19CFLAGS += -Igit -DSHA1_HEADER='$(SHA1_HEADER)' 20CFLAGS += -Igit
21CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER)'
22CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"'
23CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
20 24
21 25
22# 26#
23# If make is run on a nongit platform, we need to get the git sources as a tarball. 27# If make is run on a nongit platform, we need to get the git sources as a tarball.
24# But there is currently no recent enough tarball available on kernel.org, so download 28# But there is currently no recent enough tarball available on kernel.org, so download
25# a zipfile from hjemli.net instead 29# a zipfile from hjemli.net instead
26# 30#
27GITVER = $(shell git version 2>/dev/null || echo nogit) 31GITVER = $(shell git version 2>/dev/null || echo nogit)
28ifeq ($(GITVER),nogit) 32ifeq ($(GITVER),nogit)
29GITURL = http://hjemli.net/git/git/snapshot/?id=v1.5.2-rc2 33GITURL = http://hjemli.net/git/git/snapshot/?id=v1.5.2-rc2
30INITGIT = test -e git/git.c || (curl "$(GITURL)" > tmp.zip && unzip tmp.zip) 34INITGIT = test -e git/git.c || (curl "$(GITURL)" > tmp.zip && unzip tmp.zip)
31else 35else
32INITGIT = ./submodules.sh -i 36INITGIT = ./submodules.sh -i
33endif 37endif
34 38
35 39
36# 40#
37# basic build rules 41# basic build rules
38# 42#
39all: cgit 43all: cgit
40 44
41cgit: cgit.c cgit.h $(OBJECTS) 45cgit: cgit.c cgit.h $(OBJECTS)
42 $(CC) $(CFLAGS) -DCGIT_VERSION='"$(CGIT_VERSION)"' cgit.c -o cgit \ 46 $(CC) $(CFLAGS) cgit.c -o cgit $(OBJECTS) $(EXTLIBS)
43 $(OBJECTS) $(EXTLIBS)
44 47
45$(OBJECTS): cgit.h git/libgit.a 48$(OBJECTS): cgit.h git/libgit.a
46 49
47git/libgit.a: 50git/libgit.a:
48 $(INITGIT) 51 $(INITGIT)
49 $(MAKE) -C git 52 $(MAKE) -C git
50 53
51# 54#
52# phony targets 55# phony targets
53# 56#
54install: all clean-cache 57install: all clean-cache
55 mkdir -p $(prefix) 58 mkdir -p $(prefix)
56 install cgit $(prefix)/cgit.cgi 59 install cgit $(prefix)/cgit.cgi
57 install cgit.css $(prefix)/cgit.css 60 install cgit.css $(prefix)/cgit.css
58 install add.png del.png $(prefix)/ 61 install add.png del.png $(prefix)/
59 62
diff --git a/cgit.c b/cgit.c
index 1d7a83f..67ad103 100644
--- a/cgit.c
+++ b/cgit.c
@@ -230,31 +230,31 @@ static void cgit_parse_args(int argc, const char **argv)
230 if (!strncmp(argv[i], "--ofs=", 6)) { 230 if (!strncmp(argv[i], "--ofs=", 6)) {
231 cgit_query_ofs = atoi(argv[i]+6); 231 cgit_query_ofs = atoi(argv[i]+6);
232 } 232 }
233 } 233 }
234} 234}
235 235
236int main(int argc, const char **argv) 236int main(int argc, const char **argv)
237{ 237{
238 struct cacheitem item; 238 struct cacheitem item;
239 239
240 htmlfd = STDOUT_FILENO; 240 htmlfd = STDOUT_FILENO;
241 item.st.st_mtime = time(NULL); 241 item.st.st_mtime = time(NULL);
242 cgit_repolist.length = 0; 242 cgit_repolist.length = 0;
243 cgit_repolist.count = 0; 243 cgit_repolist.count = 0;
244 cgit_repolist.repos = NULL; 244 cgit_repolist.repos = NULL;
245 245
246 cgit_read_config("/etc/cgitrc", cgit_global_config_cb); 246 cgit_read_config(CGIT_CONFIG, cgit_global_config_cb);
247 if (getenv("QUERY_STRING")) 247 if (getenv("QUERY_STRING"))
248 cgit_querystring = xstrdup(getenv("QUERY_STRING")); 248 cgit_querystring = xstrdup(getenv("QUERY_STRING"));
249 cgit_parse_args(argc, argv); 249 cgit_parse_args(argc, argv);
250 cgit_parse_query(cgit_querystring, cgit_querystring_cb); 250 cgit_parse_query(cgit_querystring, cgit_querystring_cb);
251 if (!cgit_prepare_cache(&item)) 251 if (!cgit_prepare_cache(&item))
252 return 0; 252 return 0;
253 if (cgit_nocache) { 253 if (cgit_nocache) {
254 cgit_fill_cache(&item, 0); 254 cgit_fill_cache(&item, 0);
255 } else { 255 } else {
256 cgit_check_cache(&item); 256 cgit_check_cache(&item);
257 cgit_print_cache(&item); 257 cgit_print_cache(&item);
258 } 258 }
259 return 0; 259 return 0;
260} 260}