summaryrefslogtreecommitdiffabout
path: root/Makefile
Unidiff
Diffstat (limited to 'Makefile') (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile11
1 files changed, 7 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index a36eede..3d8edb8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,80 +1,83 @@
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
60clean-cgit: 63clean-cgit:
61 rm -f cgit *.o 64 rm -f cgit *.o
62 65
63distclean-cgit: clean-cgit 66distclean-cgit: clean-cgit
64 git clean -d -x 67 git clean -d -x
65 68
66clean-sub: 69clean-sub:
67 $(MAKE) -C git clean 70 $(MAKE) -C git clean
68 71
69distclean-sub: clean-sub 72distclean-sub: clean-sub
70 $(shell cd git && git clean -d -x) 73 $(shell cd git && git clean -d -x)
71 74
72clean-cache: 75clean-cache:
73 rm -rf $(CACHE_ROOT)/* 76 rm -rf $(CACHE_ROOT)/*
74 77
75clean: clean-cgit clean-sub 78clean: clean-cgit clean-sub
76 79
77distclean: distclean-cgit distclean-sub 80distclean: distclean-cgit distclean-sub
78 81
79.PHONY: all install clean clean-cgit clean-sub clean-cache \ 82.PHONY: all install clean clean-cgit clean-sub clean-cache \
80 distclean distclean-cgit distclean-sub 83 distclean distclean-cgit distclean-sub