gitweb: Create install target for gitweb in Makefile
Installing gitweb is now as easy as # make gitwebdir=/var/www/cgi-bin gitweb-install ;# as root The gitweb/INSTALL file was updated accordingly, to make use of this new target. Fix shell quoting, i.e. setting bindir_SQ etc., in gitweb/Makefile. Those variables were not used previously. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
8515392f5d
commit
152d94348f
3
Makefile
3
Makefile
@ -2004,6 +2004,9 @@ endif
|
|||||||
done; } && \
|
done; } && \
|
||||||
./check_bindir "z$$bindir" "z$$execdir" "$$bindir/git-add$X"
|
./check_bindir "z$$bindir" "z$$execdir" "$$bindir/git-add$X"
|
||||||
|
|
||||||
|
install-gitweb:
|
||||||
|
$(MAKE) -C gitweb install
|
||||||
|
|
||||||
install-doc:
|
install-doc:
|
||||||
$(MAKE) -C Documentation install
|
$(MAKE) -C Documentation install
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@ gitweb.css, git-logo.png and git-favicon.png) to their destination.
|
|||||||
For example if git was (or is) installed with /usr prefix, you can do
|
For example if git was (or is) installed with /usr prefix, you can do
|
||||||
|
|
||||||
$ make prefix=/usr gitweb ;# as yourself
|
$ make prefix=/usr gitweb ;# as yourself
|
||||||
# cp gitweb/*.cgi gitweb/*.css \
|
# make gitwebdir=/var/www/cgi-bin install-gitweb ;# as root
|
||||||
gitweb/*.js gitweb/*.png \
|
|
||||||
/var/www/cgi-bin/ ;# as root
|
|
||||||
|
|
||||||
Alternatively you can use autoconf generated ./configure script to
|
Alternatively you can use autoconf generated ./configure script to
|
||||||
set up path to git binaries (via config.mak.autogen), so you can write
|
set up path to git binaries (via config.mak.autogen), so you can write
|
||||||
@ -18,9 +16,8 @@ instead
|
|||||||
$ make configure ;# as yourself
|
$ make configure ;# as yourself
|
||||||
$ ./configure --prefix=/usr ;# as yourself
|
$ ./configure --prefix=/usr ;# as yourself
|
||||||
$ make gitweb ;# as yourself
|
$ make gitweb ;# as yourself
|
||||||
# cp gitweb/*.cgi gitweb/*.css \
|
# make gitwebdir=/var/www/cgi-bin \
|
||||||
gitweb/*.js gitweb/*.png \
|
install-gitweb ;# as root
|
||||||
/var/www/cgi-bin/ ;# as root
|
|
||||||
|
|
||||||
The above example assumes that your web server is configured to run
|
The above example assumes that your web server is configured to run
|
||||||
[executable] files in /var/www/cgi-bin/ as server scripts (as CGI
|
[executable] files in /var/www/cgi-bin/ as server scripts (as CGI
|
||||||
|
@ -12,7 +12,10 @@ all::
|
|||||||
|
|
||||||
prefix ?= $(HOME)
|
prefix ?= $(HOME)
|
||||||
bindir ?= $(prefix)/bin
|
bindir ?= $(prefix)/bin
|
||||||
|
gitwebdir ?= /var/www/cgi-bin
|
||||||
|
|
||||||
RM ?= rm -f
|
RM ?= rm -f
|
||||||
|
INSTALL ?= install
|
||||||
|
|
||||||
# default configuration for gitweb
|
# default configuration for gitweb
|
||||||
GITWEB_CONFIG = gitweb_config.perl
|
GITWEB_CONFIG = gitweb_config.perl
|
||||||
@ -50,8 +53,10 @@ PERL_PATH ?= /usr/bin/perl
|
|||||||
|
|
||||||
# Shell quote;
|
# Shell quote;
|
||||||
bindir_SQ = $(subst ','\'',$(bindir))#'
|
bindir_SQ = $(subst ','\'',$(bindir))#'
|
||||||
|
gitwebdir_SQ = $(subst ','\'',$(gitwebdir))#'
|
||||||
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))#'
|
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))#'
|
||||||
PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))#'
|
PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))#'
|
||||||
|
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))#'
|
||||||
|
|
||||||
# Quiet generation (unless V=1)
|
# Quiet generation (unless V=1)
|
||||||
QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
|
QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
|
||||||
@ -80,20 +85,30 @@ endif
|
|||||||
|
|
||||||
all:: gitweb.cgi
|
all:: gitweb.cgi
|
||||||
|
|
||||||
|
GITWEB_PROGRAMS = gitweb.cgi
|
||||||
|
|
||||||
ifdef JSMIN
|
ifdef JSMIN
|
||||||
|
GITWEB_FILES += gitweb.min.js
|
||||||
GITWEB_JS = gitweb.min.js
|
GITWEB_JS = gitweb.min.js
|
||||||
all:: gitweb.min.js
|
all:: gitweb.min.js
|
||||||
gitweb.min.js: gitweb.js GITWEB-BUILD-OPTIONS
|
gitweb.min.js: gitweb.js GITWEB-BUILD-OPTIONS
|
||||||
$(QUIET_GEN)$(JSMIN) <$< >$@
|
$(QUIET_GEN)$(JSMIN) <$< >$@
|
||||||
|
else
|
||||||
|
GITWEB_FILES += gitweb.js
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CSSMIN
|
ifdef CSSMIN
|
||||||
|
GITWEB_FILES += gitweb.min.css
|
||||||
GITWEB_CSS = gitweb.min.css
|
GITWEB_CSS = gitweb.min.css
|
||||||
all:: gitweb.min.css
|
all:: gitweb.min.css
|
||||||
gitweb.min.css: gitweb.css GITWEB-BUILD-OPTIONS
|
gitweb.min.css: gitweb.css GITWEB-BUILD-OPTIONS
|
||||||
$(QUIET_GEN)$(CSSMIN) <$ >$@
|
$(QUIET_GEN)$(CSSMIN) <$ >$@
|
||||||
|
else
|
||||||
|
GITWEB_FILES += gitweb.css
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
GITWEB_FILES += git-logo.png git-favicon.png
|
||||||
|
|
||||||
GITWEB_REPLACE = \
|
GITWEB_REPLACE = \
|
||||||
-e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
|
-e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
|
||||||
-e 's|++GIT_BINDIR++|$(bindir)|g' \
|
-e 's|++GIT_BINDIR++|$(bindir)|g' \
|
||||||
@ -127,8 +142,17 @@ gitweb.cgi: gitweb.perl GITWEB-BUILD-OPTIONS
|
|||||||
chmod +x $@+ && \
|
chmod +x $@+ && \
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
|
### Installation rules
|
||||||
|
|
||||||
|
install: all
|
||||||
|
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)'
|
||||||
|
$(INSTALL) -m 755 $(GITWEB_PROGRAMS) '$(DESTDIR_SQ)$(gitwebdir_SQ)'
|
||||||
|
$(INSTALL) -m 644 $(GITWEB_FILES) '$(DESTDIR_SQ)$(gitwebdir_SQ)'
|
||||||
|
|
||||||
|
### Cleaning rules
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) gitweb.cgi gitweb.min.js gitweb.min.css GITWEB-BUILD-OPTIONS
|
$(RM) gitweb.cgi gitweb.min.js gitweb.min.css GITWEB-BUILD-OPTIONS
|
||||||
|
|
||||||
.PHONY: all clean .FORCE-GIT-VERSION-FILE FORCE
|
.PHONY: all clean install .FORCE-GIT-VERSION-FILE FORCE
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user