-CGIT_VERSION = v0.8.3.3
+CGIT_VERSION = v0.8.3.4
CGIT_SCRIPT_NAME = cgit.cgi
CGIT_SCRIPT_PATH = /var/www/htdocs/cgit
CGIT_DATA_PATH = $(CGIT_SCRIPT_PATH)
CGIT_CONFIG = /etc/cgitrc
CACHE_ROOT = /var/cache/cgit
+ prefix = /usr
+ libdir = $(prefix)/lib
+ filterdir = $(libdir)/cgit/filters
+ docdir = $(prefix)/share/doc/cgit
+ htmldir = $(docdir)
+ pdfdir = $(docdir)
+ mandir = $(prefix)/share/man
SHA1_HEADER = <openssl/sha.h>
GIT_VER = 1.7.3
GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2
INSTALL = install
+ MAN5_TXT = $(wildcard *.5.txt)
+ MAN_TXT = $(MAN5_TXT)
+ DOC_MAN5 = $(patsubst %.txt,%,$(MAN5_TXT))
+ DOC_HTML = $(patsubst %.txt,%.html,$(MAN_TXT))
+ DOC_PDF = $(patsubst %.txt,%.pdf,$(MAN_TXT))
# Define NO_STRCASESTR if you don't have strcasestr.
#
# Define a pattern rule for automatic dependency building
#
%.d: %.c
- $(QUIET_MM)$(CC) $(CFLAGS) -MM $< | sed -e 's/\($*\)\.o:/\1.o $@:/g' >$@
+ $(QUIET_MM)$(CC) $(CFLAGS) -MM -MP $< | sed -e 's/\($*\)\.o:/\1.o $@:/g' >$@
#
# Define a pattern rule for silent object building
.PHONY: all libgit test install uninstall clean force-version get-git \
- doc man-doc html-doc clean-doc
+ doc clean-doc install-doc install-man install-html install-pdf \
+ uninstall-doc uninstall-man uninstall-html uninstall-pdf
all: cgit
CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
+GIT_OPTIONS = prefix=/usr
+
ifdef NO_ICONV
CFLAGS += -DNO_ICONV
endif
$(INSTALL) -m 0755 -d $(DESTDIR)$(CGIT_DATA_PATH)
$(INSTALL) -m 0644 cgit.css $(DESTDIR)$(CGIT_DATA_PATH)/cgit.css
$(INSTALL) -m 0644 cgit.png $(DESTDIR)$(CGIT_DATA_PATH)/cgit.png
+ $(INSTALL) -m 0755 -d $(DESTDIR)$(filterdir)
+ $(INSTALL) -m 0755 filters/* $(DESTDIR)$(filterdir)
+
+ install-doc: install-man install-html install-pdf
+
+ install-man: doc-man
+ $(INSTALL) -m 0755 -d $(DESTDIR)$(mandir)/man5
+ $(INSTALL) -m 0644 $(DOC_MAN5) $(DESTDIR)$(mandir)/man5
+
+ install-html: doc-html
+ $(INSTALL) -m 0755 -d $(DESTDIR)$(htmldir)
+ $(INSTALL) -m 0644 $(DOC_HTML) $(DESTDIR)$(htmldir)
+
+ install-pdf: doc-pdf
+ $(INSTALL) -m 0755 -d $(DESTDIR)$(pdfdir)
+ $(INSTALL) -m 0644 $(DOC_PDF) $(DESTDIR)$(pdfdir)
uninstall:
rm -f $(CGIT_SCRIPT_PATH)/$(CGIT_SCRIPT_NAME)
rm -f $(CGIT_DATA_PATH)/cgit.css
rm -f $(CGIT_DATA_PATH)/cgit.png
- doc: man-doc html-doc pdf-doc
+ uninstall-doc: uninstall-man uninstall-html uninstall-pdf
+
+ uninstall-man:
+ @for i in $(DOC_MAN5); do \
+ rm -fv $(DESTDIR)$(mandir)/man5/$$i; \
+ done
+
+ uninstall-html:
+ @for i in $(DOC_HTML); do \
+ rm -fv $(DESTDIR)$(htmldir)/$$i; \
+ done
+
+ uninstall-pdf:
+ @for i in $(DOC_PDF); do \
+ rm -fv $(DESTDIR)$(pdfdir)/$$i; \
+ done
+
+ doc: doc-man doc-html doc-pdf
+ doc-man: doc-man5
+ doc-man5: $(DOC_MAN5)
+ doc-html: $(DOC_HTML)
+ doc-pdf: $(DOC_PDF)
- man-doc: cgitrc.5.txt
- a2x -f manpage cgitrc.5.txt
+ %.5 : %.5.txt
+ a2x -f manpage $<
- html-doc: cgitrc.5.txt
- a2x -f xhtml --stylesheet=cgit-doc.css cgitrc.5.txt
+ $(DOC_HTML): %.html : %.txt
+ a2x -f xhtml --stylesheet=cgit-doc.css $<
- pdf-doc: cgitrc.5.txt
+ $(DOC_PDF): %.pdf : %.txt
a2x -f pdf cgitrc.5.txt
clean: clean-doc
Specifies the number of tags to display in the repository "summary"
view. Default value: "10".
+strict-export::
+ Filename which, if specified, needs to be present within the repository
+ for cgit to allow access to that repository. This can be used to emulate
+ gitweb's EXPORT_OK and STRICT_EXPORT functionality and limit cgit's
+ repositories to match those exported by git-daemon. This option MUST come
+ before 'scan-path'.
+
virtual-root::
Url which, if specified, will be used as root for all cgit links. It
will also cause cgit to generate 'virtual urls', i.e. urls like
# Specify some default clone prefixes
- clone-prefix=git://foobar.com ssh://foobar.com/pub/git http://foobar.com/git
+ clone-prefix=git://example.com ssh://example.com/pub/git http://example.com/git
# Specify the css url
css=/css/cgit.css
# Set the title and heading of the repository index page
- root-title=foobar.com git repositories
+ root-title=example.com git repositories
# Set a subheading for the repository index page
root-desc=tracking the foobar development
- # Include some more info about foobar.com on the index page
+ # Include some more info about example.com on the index page
root-readme=/var/www/htdocs/about.html
repo.url=foo
repo.path=/pub/git/foo.git
repo.desc=the master foo repository
- repo.owner=fooman@foobar.com
+ repo.owner=fooman@example.com
repo.readme=info/web/about.html
repo.url=bar
repo.path=/pub/git/bar.git
repo.desc=the bars for your foo
- repo.owner=barman@foobar.com
+ repo.owner=barman@example.com
repo.readme=info/web/about.html