author | Lars Hjemli <hjemli@gmail.com> | 2007-02-04 22:57:34 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-02-04 23:12:04 (UTC) |
commit | c52e84135e6272d008f69a9ac00265875ff4e60e (patch) (unidiff) | |
tree | 74cb0a76ea7b69f152766cb5510c6f60a7caf2a1 | |
parent | 74b0db95560e4c11439d7e0e8016d1e8cd48cdda (diff) | |
download | cgit-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>
-rw-r--r-- | Makefile | 18 | ||||
-rw-r--r-- | README | 34 |
2 files changed, 37 insertions, 15 deletions
@@ -1,35 +1,41 @@ | |||
1 | CGIT_VERSION = 0.1 | 1 | CGIT_VERSION = 0.1 |
2 | 2 | ||
3 | INSTALL_DIR = /var/www/htdocs/cgit | 3 | prefix = /var/www/htdocs/cgit |
4 | CACHE_ROOT = /var/cache/cgit | 4 | gitsrc = ../git |
5 | 5 | ||
6 | EXTLIBS = ../git/libgit.a ../git/xdiff/lib.a -lz -lcrypto | 6 | CACHE_ROOT = /var/cache/cgit |
7 | EXTLIBS = $(gitsrc)/libgit.a $(gitsrc)/xdiff/lib.a -lz -lcrypto | ||
7 | OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ | 8 | OBJECTS = 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 | ||
10 | CFLAGS += -Wall | 11 | CFLAGS += -Wall |
11 | 12 | ||
12 | ifdef DEBUG | 13 | ifdef DEBUG |
13 | CFLAGS += -g | 14 | CFLAGS += -g |
14 | endif | 15 | endif |
15 | 16 | ||
16 | all: cgit | 17 | all: cgit |
17 | 18 | ||
18 | install: all clean-cache | 19 | install: 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 | ||
22 | cgit: cgit.c cgit.h git.h $(OBJECTS) | 24 | cgit: 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 | ||
28 | ui-diff.o: xdiff.h | 30 | ui-diff.o: xdiff.h |
29 | 31 | ||
32 | $(gitsrc)/libgit.a: | ||
33 | $(MAKE) -C $(gitsrc) | ||
34 | |||
35 | |||
30 | .PHONY: clean | 36 | .PHONY: clean |
31 | clean: | 37 | clean: |
32 | rm -f cgit *.o | 38 | rm -f cgit *.o |
33 | 39 | ||
34 | clean-cache: | 40 | clean-cache: |
35 | rm -rf $(CACHE_ROOT)/* | 41 | rm -rf $(CACHE_ROOT)/* |
@@ -5,26 +5,42 @@ | |||
5 | This is an attempt to create a fast web interface for the git scm, using a | 5 | This is an attempt to create a fast web interface for the git scm, using a |
6 | builtin cache to decrease server io-pressure. | 6 | builtin cache to decrease server io-pressure. |
7 | 7 | ||
8 | 8 | ||
9 | Installation | 9 | Installation |
10 | 10 | ||
11 | $ $EDITOR Makefile | 11 | $ make gitsrc=<path> |
12 | $ make | 12 | $ su |
13 | $ sudo make install | 13 | $ make prefix=<path> install |
14 | 14 | ||
15 | Note: cgit requires the git and xdiff libraries. Currently, the makefile | 15 | |
16 | expects these files to be found in '../git/libgit.a' and '../git/xdiff/lib.a', | 16 | Default value for gitsrc is "../git", and this directory should contain the |
17 | where they will be if you have built git from source in a parallell directory. | 17 | git sources. |
18 | |||
19 | Default value for prefix is "/var/www/htdocs/cgit". This directory will | ||
20 | contain "cgit.cgi" and "cgit.css" after 'make install'. | ||
21 | |||
22 | After installation, httpd.conf probably must be updated with a Directory- | ||
23 | section 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 | ||
20 | Runtime configuration | 33 | Runtime configuration |
21 | 34 | ||
22 | The file /etc/cgitrc is read by cgit before handling a request. A template | 35 | The file /etc/cgitrc is read by cgit before handling a request. In addition |
23 | cgitrc is shipped with the sources, and all parameters and default values | 36 | to runtime parameters, this file also contains a list of the repositories |
24 | can be found in this file. | 37 | displayed by cgit. |
38 | |||
39 | A template cgitrc is shipped with the sources, and all parameters and default | ||
40 | values are documented in this file. | ||
25 | 41 | ||
26 | 42 | ||
27 | The cache | 43 | The cache |
28 | 44 | ||
29 | When cgit is invoked it looks for a cachefile matching the request and | 45 | When cgit is invoked it looks for a cachefile matching the request and |
30 | returns it to the client. If no such cachefile exist (or if it has expired), | 46 | returns it to the client. If no such cachefile exist (or if it has expired), |