summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-02-04 23:57:34 +0100
committerLars Hjemli <hjemli@gmail.com>2007-02-05 00:12:04 +0100
commitc52e84135e6272d008f69a9ac00265875ff4e60e (patch)
tree74cb0a76ea7b69f152766cb5510c6f60a7caf2a1
parent74b0db95560e4c11439d7e0e8016d1e8cd48cdda (diff)
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