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) (side-by-side diff) | |
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 @@ CGIT_VERSION = 0.1 -INSTALL_DIR = /var/www/htdocs/cgit -CACHE_ROOT = /var/cache/cgit +prefix = /var/www/htdocs/cgit +gitsrc = ../git -EXTLIBS = ../git/libgit.a ../git/xdiff/lib.a -lz -lcrypto +CACHE_ROOT = /var/cache/cgit +EXTLIBS = $(gitsrc)/libgit.a $(gitsrc)/xdiff/lib.a -lz -lcrypto OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ ui-summary.o ui-log.o ui-view.c ui-tree.c ui-commit.c ui-diff.o CFLAGS += -Wall ifdef DEBUG CFLAGS += -g endif all: cgit install: all clean-cache - install cgit $(INSTALL_DIR)/cgit.cgi - install cgit.css $(INSTALL_DIR)/cgit.css + mkdir -p $(prefix) + install cgit $(prefix)/cgit.cgi + install cgit.css $(prefix)/cgit.css -cgit: cgit.c cgit.h git.h $(OBJECTS) +cgit: cgit.c cgit.h git.h $(OBJECTS) $(gitsrc)/libgit.a $(CC) $(CFLAGS) -DCGIT_VERSION='"$(CGIT_VERSION)"' cgit.c -o cgit \ $(OBJECTS) $(EXTLIBS) $(OBJECTS): cgit.h git.h ui-diff.o: xdiff.h +$(gitsrc)/libgit.a: + $(MAKE) -C $(gitsrc) + + .PHONY: clean clean: rm -f cgit *.o clean-cache: rm -rf $(CACHE_ROOT)/* @@ -5,26 +5,42 @@ This is an attempt to create a fast web interface for the git scm, using a builtin cache to decrease server io-pressure. Installation -$ $EDITOR Makefile -$ make -$ sudo make install + $ make gitsrc=<path> + $ su + $ make prefix=<path> install -Note: cgit requires the git and xdiff libraries. Currently, the makefile -expects these files to be found in '../git/libgit.a' and '../git/xdiff/lib.a', -where they will be if you have built git from source in a parallell directory. + +Default value for gitsrc is "../git", and this directory should contain the +git sources. + +Default value for prefix is "/var/www/htdocs/cgit". This directory will +contain "cgit.cgi" and "cgit.css" after 'make install'. + +After installation, httpd.conf probably must be updated with a Directory- +section for cgit, possibly something like this: + + <Directory "/var/www/htdocs/cgit/"> + AllowOverride None + Options ExecCGI + Order allow,deny + Allow from all + </Directory> Runtime configuration -The file /etc/cgitrc is read by cgit before handling a request. A template -cgitrc is shipped with the sources, and all parameters and default values -can be found in this file. +The file /etc/cgitrc is read by cgit before handling a request. In addition +to runtime parameters, this file also contains a list of the repositories +displayed by cgit. + +A template cgitrc is shipped with the sources, and all parameters and default +values are documented in this file. The cache When cgit is invoked it looks for a cachefile matching the request and returns it to the client. If no such cachefile exist (or if it has expired), |