]>
Commit | Line | Data |
---|---|---|
affc3b75 ÆAB |
1 | ifndef MAK_DIR_GITWEB |
2 | $(error do not run gitweb/Makefile stand-alone anymore. The "gitweb" and \ | |
3 | "install-gitweb" targets now live in the top-level Makefile) | |
4 | endif | |
b82d66eb | 5 | |
62331ef1 | 6 | # Define JSMIN to point to JavaScript minifier that functions as |
18d05328 | 7 | # a filter to have static/gitweb.js minified. |
62331ef1 | 8 | # |
0e6ce213 | 9 | # Define CSSMIN to point to a CSS minifier in order to generate a minified |
18d05328 | 10 | # version of static/gitweb.css |
0e6ce213 | 11 | # |
62331ef1 | 12 | |
62331ef1 JWH |
13 | # default configuration for gitweb |
14 | GITWEB_CONFIG = gitweb_config.perl | |
15 | GITWEB_CONFIG_SYSTEM = /etc/gitweb.conf | |
131d6afc | 16 | GITWEB_CONFIG_COMMON = /etc/gitweb-common.conf |
62331ef1 JWH |
17 | GITWEB_HOME_LINK_STR = projects |
18 | GITWEB_SITENAME = | |
19 | GITWEB_PROJECTROOT = /pub/git | |
20 | GITWEB_PROJECT_MAXDEPTH = 2007 | |
21 | GITWEB_EXPORT_OK = | |
22 | GITWEB_STRICT_EXPORT = | |
23 | GITWEB_BASE_URL = | |
24 | GITWEB_LIST = | |
25 | GITWEB_HOMETEXT = indextext.html | |
564ebde3 ÆAB |
26 | GITWEB_CSS_IN = static/gitweb.css |
27 | GITWEB_CSS = $(GITWEB_CSS_IN) | |
18d05328 PKS |
28 | GITWEB_LOGO = static/git-logo.png |
29 | GITWEB_FAVICON = static/git-favicon.png | |
564ebde3 ÆAB |
30 | GITWEB_JS_IN = static/gitweb.js |
31 | GITWEB_JS = $(GITWEB_JS_IN) | |
c1355b7f | 32 | GITWEB_SITE_HTML_HEAD_STRING = |
62331ef1 JWH |
33 | GITWEB_SITE_HEADER = |
34 | GITWEB_SITE_FOOTER = | |
7ce896b3 | 35 | HIGHLIGHT_BIN = highlight |
62331ef1 | 36 | |
1e08fa5e ÆAB |
37 | # What targets we'll add to 'all' for "make gitweb" |
38 | GITWEB_ALL = | |
39 | GITWEB_ALL += gitweb.cgi | |
564ebde3 | 40 | GITWEB_ALL += $(GITWEB_JS) |
1e08fa5e | 41 | |
affc3b75 | 42 | MAK_DIR_GITWEB_ALL = $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_ALL)) |
62331ef1 | 43 | |
152d9434 JN |
44 | GITWEB_PROGRAMS = gitweb.cgi |
45 | ||
564ebde3 | 46 | GITWEB_JS_MIN = static/gitweb.min.js |
62331ef1 | 47 | ifdef JSMIN |
564ebde3 | 48 | GITWEB_JS = $(GITWEB_JS_MIN) |
affc3b75 | 49 | GITWEB_ALL += $(MAK_DIR_GITWEB)$(GITWEB_JS_MIN) |
b82d66eb ÆAB |
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) | |
8de096b6 | 52 | $(QUIET_GEN)$(JSMIN) <$< >$@ |
0e6ce213 | 53 | endif |
564ebde3 | 54 | GITWEB_FILES += $(GITWEB_JS) |
8de096b6 | 55 | |
564ebde3 | 56 | GITWEB_CSS_MIN = static/gitweb.min.css |
0e6ce213 | 57 | ifdef CSSMIN |
564ebde3 | 58 | GITWEB_CSS = $(GITWEB_CSS_MIN) |
affc3b75 | 59 | GITWEB_ALL += $(MAK_DIR_GITWEB)$(GITWEB_CSS_MIN) |
b82d66eb ÆAB |
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) | |
70649945 | 62 | $(QUIET_GEN)$(CSSMIN) <$< >$@ |
0e6ce213 | 63 | endif |
564ebde3 | 64 | GITWEB_FILES += $(GITWEB_CSS) |
62331ef1 | 65 | |
18d05328 | 66 | GITWEB_FILES += static/git-logo.png static/git-favicon.png |
152d9434 | 67 | |
9a86dd57 JN |
68 | # JavaScript files that are composed (concatenated) to form gitweb.js |
69 | # | |
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) | |
564ebde3 | 72 | GITWEB_JSLIB_FILES = |
9a86dd57 | 73 | GITWEB_JSLIB_FILES += static/js/lib/common-lib.js |
54b1479a | 74 | GITWEB_JSLIB_FILES += static/js/lib/datetime.js |
fcce886b | 75 | GITWEB_JSLIB_FILES += static/js/lib/cookies.js |
9a86dd57 | 76 | GITWEB_JSLIB_FILES += static/js/javascript-detection.js |
291e52bd | 77 | GITWEB_JSLIB_FILES += static/js/adjust-timezone.js |
9a86dd57 JN |
78 | GITWEB_JSLIB_FILES += static/js/blame_incremental.js |
79 | ||
80 | ||
8de096b6 JH |
81 | GITWEB_REPLACE = \ |
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' \ | |
131d6afc | 86 | -e 's|++GITWEB_CONFIG_COMMON++|$(GITWEB_CONFIG_COMMON)|g' \ |
8de096b6 JH |
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' \ | |
c1355b7f | 100 | -e 's|++GITWEB_SITE_HTML_HEAD_STRING++|$(GITWEB_SITE_HTML_HEAD_STRING)|g' \ |
8de096b6 | 101 | -e 's|++GITWEB_SITE_HEADER++|$(GITWEB_SITE_HEADER)|g' \ |
7ce896b3 CW |
102 | -e 's|++GITWEB_SITE_FOOTER++|$(GITWEB_SITE_FOOTER)|g' \ |
103 | -e 's|++HIGHLIGHT_BIN++|$(HIGHLIGHT_BIN)|g' | |
8de096b6 | 104 | |
7decdb9b | 105 | .PHONY: FORCE |
b82d66eb | 106 | $(MAK_DIR_GITWEB)GITWEB-BUILD-OPTIONS: FORCE |
8de096b6 JH |
107 | @rm -f $@+ |
108 | @echo "x" '$(PERL_PATH_SQ)' $(GITWEB_REPLACE) "$(JSMIN)|$(CSSMIN)" >$@+ | |
109 | @cmp -s $@+ $@ && rm -f $@+ || mv -f $@+ $@ | |
110 | ||
b82d66eb ÆAB |
111 | $(MAK_DIR_GITWEB)gitweb.cgi: $(MAK_DIR_GITWEB)GITWEB-BUILD-OPTIONS |
112 | $(MAK_DIR_GITWEB)gitweb.cgi: $(MAK_DIR_GITWEB)gitweb.perl | |
62331ef1 JWH |
113 | $(QUIET_GEN)$(RM) $@ $@+ && \ |
114 | sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \ | |
8de096b6 | 115 | $(GITWEB_REPLACE) $< >$@+ && \ |
62331ef1 JWH |
116 | chmod +x $@+ && \ |
117 | mv $@+ $@ | |
118 | ||
b82d66eb | 119 | $(MAK_DIR_GITWEB)static/gitweb.js: $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_JSLIB_FILES)) |
9a86dd57 JN |
120 | $(QUIET_GEN)$(RM) $@ $@+ && \ |
121 | cat $^ >$@+ && \ | |
122 | mv $@+ $@ | |
123 | ||
152d9434 JN |
124 | ### Installation rules |
125 | ||
affc3b75 ÆAB |
126 | .PHONY: install-gitweb |
127 | install-gitweb: $(MAK_DIR_GITWEB_ALL) | |
152d9434 | 128 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)' |
affc3b75 | 129 | $(INSTALL) -m 755 $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_PROGRAMS)) '$(DESTDIR_SQ)$(gitwebdir_SQ)' |
18d05328 | 130 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)' |
b82d66eb ÆAB |
131 | $(INSTALL) -m 644 $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_FILES)) \ |
132 | '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)' | |
a35258c6 | 133 | ifndef NO_GITWEB |
affc3b75 ÆAB |
134 | ifndef NO_PERL |
135 | install: install-gitweb | |
136 | endif | |
a35258c6 | 137 | endif |
152d9434 JN |
138 | |
139 | ### Cleaning rules | |
140 | ||
affc3b75 ÆAB |
141 | .PHONY: gitweb-clean |
142 | gitweb-clean: | |
b82d66eb | 143 | $(RM) $(addprefix $(MAK_DIR_GITWEB),gitweb.cgi $(GITWEB_JS_IN) \ |
564ebde3 | 144 | $(GITWEB_JS_MIN) $(GITWEB_CSS_MIN) \ |
b82d66eb | 145 | GITWEB-BUILD-OPTIONS) |
affc3b75 | 146 | clean: gitweb-clean |