summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-02-04 22:57:34 +0000
committerLars Hjemli <hjemli@gmail.com>2007-02-04 23:12:04 +0000
commitc52e84135e6272d008f69a9ac00265875ff4e60e (patch)
tree74cb0a76ea7b69f152766cb5510c6f60a7caf2a1
parent74b0db95560e4c11439d7e0e8016d1e8cd48cdda (diff)
downloadcgit-c52e84135e6272d008f69a9ac00265875ff4e60e.tar
cgit-c52e84135e6272d008f69a9ac00265875ff4e60e.tar.gz
cgit-c52e84135e6272d008f69a9ac00265875ff4e60e.zip
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--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,9 +1,10 @@
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
@@ -16,10 +17,11 @@ 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)
@@ -27,6 +29,10 @@ $(OBJECTS): cgit.h git.h
ui-diff.o: xdiff.h
+$(gitsrc)/libgit.a:
+ $(MAKE) -C $(gitsrc)
+
+
.PHONY: clean
clean:
rm -f cgit *.o
diff --git a/README b/README
index 17e284e..a14418e 100644
--- a/README
+++ b/README
@@ -8,20 +8,36 @@ 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