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
82 -e
's|++GIT_VERSION++|$(GIT_VERSION)|g' \
83 -e
's|++GIT_BINDIR++|$(bindir)|g' \
84 -e
's|++GITWEB_CONFIG++|$(GITWEB_CONFIG)|g' \
85 -e
's|++GITWEB_CONFIG_SYSTEM++|$(GITWEB_CONFIG_SYSTEM)|g' \
86 -e
's|++GITWEB_CONFIG_COMMON++|$(GITWEB_CONFIG_COMMON)|g' \
87 -e
's|++GITWEB_HOME_LINK_STR++|$(GITWEB_HOME_LINK_STR)|g' \
88 -e
's|++GITWEB_SITENAME++|$(GITWEB_SITENAME)|g' \
89 -e
's|++GITWEB_PROJECTROOT++|$(GITWEB_PROJECTROOT)|g' \
90 -e
's|"++GITWEB_PROJECT_MAXDEPTH++"|$(GITWEB_PROJECT_MAXDEPTH)|g' \
91 -e
's|++GITWEB_EXPORT_OK++|$(GITWEB_EXPORT_OK)|g' \
92 -e
's|++GITWEB_STRICT_EXPORT++|$(GITWEB_STRICT_EXPORT)|g' \
93 -e
's|++GITWEB_BASE_URL++|$(GITWEB_BASE_URL)|g' \
94 -e
's|++GITWEB_LIST++|$(GITWEB_LIST)|g' \
95 -e
's|++GITWEB_HOMETEXT++|$(GITWEB_HOMETEXT)|g' \
96 -e
's|++GITWEB_CSS++|$(GITWEB_CSS)|g' \
97 -e
's|++GITWEB_LOGO++|$(GITWEB_LOGO)|g' \
98 -e
's|++GITWEB_FAVICON++|$(GITWEB_FAVICON)|g' \
99 -e
's|++GITWEB_JS++|$(GITWEB_JS)|g' \
100 -e
's|++GITWEB_SITE_HTML_HEAD_STRING++|$(GITWEB_SITE_HTML_HEAD_STRING)|g' \
101 -e
's|++GITWEB_SITE_HEADER++|$(GITWEB_SITE_HEADER)|g' \
102 -e
's|++GITWEB_SITE_FOOTER++|$(GITWEB_SITE_FOOTER)|g' \
103 -e
's|++HIGHLIGHT_BIN++|$(HIGHLIGHT_BIN)|g'
106 $(MAK_DIR_GITWEB
)GITWEB-BUILD-OPTIONS
: FORCE
108 @echo
"x" '$(PERL_PATH_SQ)' $(GITWEB_REPLACE
) "$(JSMIN)|$(CSSMIN)" >$@
+
109 @cmp
-s
$@
+ $@
&& rm -f
$@
+ || mv
-f
$@
+ $@
111 $(MAK_DIR_GITWEB
)gitweb.cgi
: $(MAK_DIR_GITWEB
)GITWEB-BUILD-OPTIONS
112 $(MAK_DIR_GITWEB
)gitweb.cgi
: $(MAK_DIR_GITWEB
)gitweb.perl
113 $(QUIET_GEN
)$(RM
) $@
$@
+ && \
114 sed
-e
'1s|#!.*perl|#!$(PERL_PATH_SQ)|' \
115 $(GITWEB_REPLACE
) $< >$@
+ && \
119 $(MAK_DIR_GITWEB
)static
/gitweb.js
: $(addprefix $(MAK_DIR_GITWEB
),$(GITWEB_JSLIB_FILES
))
120 $(QUIET_GEN
)$(RM
) $@
$@
+ && \
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
)