2 $(error do not run gitweb
/Makefile stand-alone anymore. The
"gitweb" and \
3 "install-gitweb" targets now live in the top-level Makefile
)
6 # Define JSMIN to point to JavaScript minifier that functions as
7 # a filter to have static/gitweb.js minified.
9 # Define CSSMIN to point to a CSS minifier in order to generate a minified
10 # version of static/gitweb.css
13 # default configuration for gitweb
14 GITWEB_CONFIG
= gitweb_config.perl
15 GITWEB_CONFIG_SYSTEM
= /etc
/gitweb.conf
16 GITWEB_CONFIG_COMMON
= /etc
/gitweb-common.conf
17 GITWEB_HOME_LINK_STR
= projects
19 GITWEB_PROJECTROOT
= /pub
/git
20 GITWEB_PROJECT_MAXDEPTH
= 2007
22 GITWEB_STRICT_EXPORT
=
25 GITWEB_HOMETEXT
= indextext.html
26 GITWEB_CSS_IN
= static
/gitweb.css
27 GITWEB_CSS
= $(GITWEB_CSS_IN
)
28 GITWEB_LOGO
= static
/git-logo.png
29 GITWEB_FAVICON
= static
/git-favicon.png
30 GITWEB_JS_IN
= static
/gitweb.js
31 GITWEB_JS
= $(GITWEB_JS_IN
)
32 GITWEB_SITE_HTML_HEAD_STRING
=
35 HIGHLIGHT_BIN
= highlight
37 # What targets we'll add to 'all' for "make gitweb"
39 GITWEB_ALL
+= gitweb.cgi
40 GITWEB_ALL
+= $(GITWEB_JS
)
42 MAK_DIR_GITWEB_ALL
= $(addprefix $(MAK_DIR_GITWEB
),$(GITWEB_ALL
))
44 GITWEB_PROGRAMS
= gitweb.cgi
46 GITWEB_JS_MIN
= static
/gitweb.min.js
48 GITWEB_JS
= $(GITWEB_JS_MIN
)
49 GITWEB_ALL
+= $(MAK_DIR_GITWEB
)$(GITWEB_JS_MIN
)
50 $(MAK_DIR_GITWEB
)$(GITWEB_JS_MIN
): $(MAK_DIR_GITWEB
)GITWEB-BUILD-OPTIONS
51 $(MAK_DIR_GITWEB
)$(GITWEB_JS_MIN
): $(MAK_DIR_GITWEB
)$(GITWEB_JS_IN
)
52 $(QUIET_GEN
)$(JSMIN
) <$< >$@
54 GITWEB_FILES
+= $(GITWEB_JS
)
56 GITWEB_CSS_MIN
= static
/gitweb.min.css
58 GITWEB_CSS
= $(GITWEB_CSS_MIN
)
59 GITWEB_ALL
+= $(MAK_DIR_GITWEB
)$(GITWEB_CSS_MIN
)
60 $(MAK_DIR_GITWEB
)$(GITWEB_CSS_MIN
): $(MAK_DIR_GITWEB
)GITWEB-BUILD-OPTIONS
61 $(MAK_DIR_GITWEB
)$(GITWEB_CSS_MIN
): $(MAK_DIR_GITWEB
)$(GITWEB_CSS_IN
)
62 $(QUIET_GEN
)$(CSSMIN
) <$< >$@
64 GITWEB_FILES
+= $(GITWEB_CSS
)
66 GITWEB_FILES
+= static
/git-logo.png static
/git-favicon.png
68 # JavaScript files that are composed (concatenated) to form gitweb.js
70 # js/lib/common-lib.js should be always first, then js/lib/*.js,
71 # then the rest of files; js/gitweb.js should be last (if it exists)
73 GITWEB_JSLIB_FILES
+= static
/js
/lib
/common-lib.js
74 GITWEB_JSLIB_FILES
+= static
/js
/lib
/datetime.js
75 GITWEB_JSLIB_FILES
+= static
/js
/lib
/cookies.js
76 GITWEB_JSLIB_FILES
+= static
/js
/javascript-detection.js
77 GITWEB_JSLIB_FILES
+= static
/js
/adjust-timezone.js
78 GITWEB_JSLIB_FILES
+= static
/js
/blame_incremental.js
81 $(MAK_DIR_GITWEB
)GITWEB-BUILD-OPTIONS
: FORCE
82 @sed
-e
's|@PERL_PATH@|$(PERL_PATH_SQ)|' \
83 -e
's|@JSMIN@|$(JSMIN)|' \
84 -e
's|@CSSMIN@|$(CSSMIN)|' \
85 -e
's|@GIT_VERSION@|$(GIT_VERSION)|' \
86 -e
's|@GIT_BINDIR@|$(bindir)|' \
87 -e
's|@GITWEB_CONFIG@|$(GITWEB_CONFIG)|' \
88 -e
's|@GITWEB_CONFIG_SYSTEM@|$(GITWEB_CONFIG_SYSTEM)|' \
89 -e
's|@GITWEB_CONFIG_COMMON@|$(GITWEB_CONFIG_COMMON)|' \
90 -e
's|@GITWEB_HOME_LINK_STR@|$(GITWEB_HOME_LINK_STR)|' \
91 -e
's|@GITWEB_SITENAME@|$(GITWEB_SITENAME)|' \
92 -e
's|@GITWEB_PROJECTROOT@|$(GITWEB_PROJECTROOT)|' \
93 -e
's|@GITWEB_PROJECT_MAXDEPTH@|$(GITWEB_PROJECT_MAXDEPTH)|' \
94 -e
's|@GITWEB_EXPORT_OK@|$(GITWEB_EXPORT_OK)|' \
95 -e
's|@GITWEB_STRICT_EXPORT@|$(GITWEB_STRICT_EXPORT)|' \
96 -e
's|@GITWEB_BASE_URL@|$(GITWEB_BASE_URL)|' \
97 -e
's|@GITWEB_LIST@|$(GITWEB_LIST)|' \
98 -e
's|@GITWEB_HOMETEXT@|$(GITWEB_HOMETEXT)|' \
99 -e
's|@GITWEB_CSS@|$(GITWEB_CSS)|' \
100 -e
's|@GITWEB_LOGO@|$(GITWEB_LOGO)|' \
101 -e
's|@GITWEB_FAVICON@|$(GITWEB_FAVICON)|' \
102 -e
's|@GITWEB_JS@|$(GITWEB_JS)|' \
103 -e
's|@GITWEB_SITE_HTML_HEAD_STRING@|$(GITWEB_SITE_HTML_HEAD_STRING)|' \
104 -e
's|@GITWEB_SITE_HEADER@|$(GITWEB_SITE_HEADER)|' \
105 -e
's|@GITWEB_SITE_FOOTER@|$(GITWEB_SITE_FOOTER)|' \
106 -e
's|@HIGHLIGHT_BIN@|$(HIGHLIGHT_BIN)|' \
107 $(MAK_DIR_GITWEB
)GITWEB-BUILD-OPTIONS.in
>"$@+"
108 @cmp
-s
$@
+ $@
&& rm -f
$@
+ || mv
-f
$@
+ $@
110 $(MAK_DIR_GITWEB
)gitweb.cgi
: $(MAK_DIR_GITWEB
)generate-gitweb-cgi.sh
111 $(MAK_DIR_GITWEB
)gitweb.cgi
: $(MAK_DIR_GITWEB
)GITWEB-BUILD-OPTIONS
112 $(MAK_DIR_GITWEB
)gitweb.cgi
: GIT-VERSION-FILE
113 $(MAK_DIR_GITWEB
)gitweb.cgi
: $(MAK_DIR_GITWEB
)gitweb.perl
114 $(QUIET_GEN
)$(RM
) $@
$@
+ && \
115 $(MAK_DIR_GITWEB
)generate-gitweb-cgi.sh
$(MAK_DIR_GITWEB
)/GITWEB-BUILD-OPTIONS .
/GIT-VERSION-FILE
$< $@
+ && \
118 $(MAK_DIR_GITWEB
)static
/gitweb.js
: $(MAK_DIR_GITWEB
)generate-gitweb-js.sh
119 $(MAK_DIR_GITWEB
)static
/gitweb.js
: $(addprefix $(MAK_DIR_GITWEB
),$(GITWEB_JSLIB_FILES
))
120 $(QUIET_GEN
)$(RM
) $@
$@
+ && \
121 $(MAK_DIR_GITWEB
)generate-gitweb-js.sh
$@
+ $^
&& \
124 ### Installation rules
126 .PHONY
: install-gitweb
127 install-gitweb
: $(MAK_DIR_GITWEB_ALL
)
128 $(INSTALL
) -d
-m
755 '$(DESTDIR_SQ)$(gitwebdir_SQ)'
129 $(INSTALL
) -m
755 $(addprefix $(MAK_DIR_GITWEB
),$(GITWEB_PROGRAMS
)) '$(DESTDIR_SQ)$(gitwebdir_SQ)'
130 $(INSTALL
) -d
-m
755 '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
131 $(INSTALL
) -m
644 $(addprefix $(MAK_DIR_GITWEB
),$(GITWEB_FILES
)) \
132 '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
135 install: install-gitweb
143 $(RM
) $(addprefix $(MAK_DIR_GITWEB
),gitweb.cgi
$(GITWEB_JS_IN
) \
144 $(GITWEB_JS_MIN
) $(GITWEB_CSS_MIN
) \
145 GITWEB-BUILD-OPTIONS
)