From c52e84135e6272d008f69a9ac00265875ff4e60e Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Sun, 4 Feb 2007 23:57:34 +0100 Subject: 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 --- Makefile | 18 ++++++++++++------ README | 34 +++++++++++++++++++++++++--------- 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= + $ su + $ make prefix= 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: + + + AllowOverride None + Options ExecCGI + Order allow,deny + Allow from all + 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 -- cgit v1.2.3-59-g8ed1b