summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2007-02-04 22:57:34 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-02-04 23:12:04 (UTC)
commitc52e84135e6272d008f69a9ac00265875ff4e60e (patch) (unidiff)
tree74cb0a76ea7b69f152766cb5510c6f60a7caf2a1
parent74b0db95560e4c11439d7e0e8016d1e8cd48cdda (diff)
downloadcgit-c52e84135e6272d008f69a9ac00265875ff4e60e.zip
cgit-c52e84135e6272d008f69a9ac00265875ff4e60e.tar.gz
cgit-c52e84135e6272d008f69a9ac00265875ff4e60e.tar.bz2
Add support for prefix and gitsrc arguments to 'make'
This should improve the installation a little, especially since the new options are mentioned in the README. Also, add a make-rule to build the git binaries if necessary + a dependency between cgit and libgit.a. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile18
-rw-r--r--README34
2 files changed, 37 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index 72a1cff..e863205 100644
--- a/Makefile
+++ b/Makefile
@@ -1,35 +1,41 @@
1CGIT_VERSION = 0.1 1CGIT_VERSION = 0.1
2 2
3INSTALL_DIR = /var/www/htdocs/cgit 3prefix = /var/www/htdocs/cgit
4CACHE_ROOT = /var/cache/cgit 4gitsrc = ../git
5 5
6EXTLIBS = ../git/libgit.a ../git/xdiff/lib.a -lz -lcrypto 6CACHE_ROOT = /var/cache/cgit
7EXTLIBS = $(gitsrc)/libgit.a $(gitsrc)/xdiff/lib.a -lz -lcrypto
7OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ 8OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \
8 ui-summary.o ui-log.o ui-view.c ui-tree.c ui-commit.c ui-diff.o 9 ui-summary.o ui-log.o ui-view.c ui-tree.c ui-commit.c ui-diff.o
9 10
10CFLAGS += -Wall 11CFLAGS += -Wall
11 12
12ifdef DEBUG 13ifdef DEBUG
13 CFLAGS += -g 14 CFLAGS += -g
14endif 15endif
15 16
16all: cgit 17all: cgit
17 18
18install: all clean-cache 19install: all clean-cache
19 install cgit $(INSTALL_DIR)/cgit.cgi 20 mkdir -p $(prefix)
20 install cgit.css $(INSTALL_DIR)/cgit.css 21 install cgit $(prefix)/cgit.cgi
22 install cgit.css $(prefix)/cgit.css
21 23
22cgit: cgit.c cgit.h git.h $(OBJECTS) 24cgit: cgit.c cgit.h git.h $(OBJECTS) $(gitsrc)/libgit.a
23 $(CC) $(CFLAGS) -DCGIT_VERSION='"$(CGIT_VERSION)"' cgit.c -o cgit \ 25 $(CC) $(CFLAGS) -DCGIT_VERSION='"$(CGIT_VERSION)"' cgit.c -o cgit \
24 $(OBJECTS) $(EXTLIBS) 26 $(OBJECTS) $(EXTLIBS)
25 27
26$(OBJECTS): cgit.h git.h 28$(OBJECTS): cgit.h git.h
27 29
28ui-diff.o: xdiff.h 30ui-diff.o: xdiff.h
29 31
32$(gitsrc)/libgit.a:
33 $(MAKE) -C $(gitsrc)
34
35
30.PHONY: clean 36.PHONY: clean
31clean: 37clean:
32 rm -f cgit *.o 38 rm -f cgit *.o
33 39
34clean-cache: 40clean-cache:
35 rm -rf $(CACHE_ROOT)/* 41 rm -rf $(CACHE_ROOT)/*
diff --git a/README b/README
index 17e284e..a14418e 100644
--- a/README
+++ b/README
@@ -5,26 +5,42 @@
5This is an attempt to create a fast web interface for the git scm, using a 5This is an attempt to create a fast web interface for the git scm, using a
6builtin cache to decrease server io-pressure. 6builtin cache to decrease server io-pressure.
7 7
8 8
9Installation 9Installation
10 10
11$ $EDITOR Makefile 11 $ make gitsrc=<path>
12$ make 12 $ su
13$ sudo make install 13 $ make prefix=<path> install
14 14
15Note: cgit requires the git and xdiff libraries. Currently, the makefile 15
16expects these files to be found in '../git/libgit.a' and '../git/xdiff/lib.a', 16Default value for gitsrc is "../git", and this directory should contain the
17where they will be if you have built git from source in a parallell directory. 17git sources.
18
19Default value for prefix is "/var/www/htdocs/cgit". This directory will
20contain "cgit.cgi" and "cgit.css" after 'make install'.
21
22After installation, httpd.conf probably must be updated with a Directory-
23section for cgit, possibly something like this:
24
25 <Directory "/var/www/htdocs/cgit/">
26 AllowOverride None
27 Options ExecCGI
28 Order allow,deny
29 Allow from all
30 </Directory>
18 31
19 32
20Runtime configuration 33Runtime configuration
21 34
22The file /etc/cgitrc is read by cgit before handling a request. A template 35The file /etc/cgitrc is read by cgit before handling a request. In addition
23cgitrc is shipped with the sources, and all parameters and default values 36to runtime parameters, this file also contains a list of the repositories
24can be found in this file. 37displayed by cgit.
38
39A template cgitrc is shipped with the sources, and all parameters and default
40values are documented in this file.
25 41
26 42
27The cache 43The cache
28 44
29When cgit is invoked it looks for a cachefile matching the request and 45When cgit is invoked it looks for a cachefile matching the request and
30returns it to the client. If no such cachefile exist (or if it has expired), 46returns it to the client. If no such cachefile exist (or if it has expired),