gitweb/Makefile: prepare to merge into top-level Makefile

Since the "gitweb/Makefile" was split out from the top-level Makefile in 62331ef1637 (gitweb: Makefile improvements, 2010-01-30) we've kept the inter-dependencies between the two, and worse have dealt with a lot of duplication as a result. In preparation for merging the two again add a MAK_DIR_GITWEB variable to various rules in it. This will allow us to set this variable to "gitweb/" as we include it in the top-level Makefile, which will minimize the size of the subsequent diff. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Jun 28, 2022 at 12:15 UTC b82d66eb0cf840a991ff906ab4679785eae4605a
1 file changed +18 -11
gitweb/Makefile
+18 -11
@@ -2,6 +2,8 @@
2 all::
3 .PHONY: all
4
5 +MAK_DIR_GITWEB =
6 +
7 # Define V=1 to have a more verbose compile.
8 #
9 # Define JSMIN to point to JavaScript minifier that functions as
@@ -106,8 +108,9 @@ GITWEB_PROGRAMS = gitweb.cgi
108 GITWEB_JS_MIN = static/gitweb.min.js
109 ifdef JSMIN
110 GITWEB_JS = $(GITWEB_JS_MIN)
109 -all:: $(GITWEB_JS_MIN)
110 -$(GITWEB_JS_MIN): $(GITWEB_JS_IN) GITWEB-BUILD-OPTIONS
111 +all:: $(MAK_DIR_GITWEB)$(GITWEB_JS_MIN)
112 +$(MAK_DIR_GITWEB)$(GITWEB_JS_MIN): $(MAK_DIR_GITWEB)GITWEB-BUILD-OPTIONS
113 +$(MAK_DIR_GITWEB)$(GITWEB_JS_MIN): $(MAK_DIR_GITWEB)$(GITWEB_JS_IN)
114 $(QUIET_GEN)$(JSMIN) <$< >$@
115 endif
116 GITWEB_FILES += $(GITWEB_JS)
@@ -115,8 +118,9 @@ GITWEB_FILES += $(GITWEB_JS)
118 GITWEB_CSS_MIN = static/gitweb.min.css
119 ifdef CSSMIN
120 GITWEB_CSS = $(GITWEB_CSS_MIN)
118 -all:: $(GITWEB_CSS_MIN)
119 -$(GITWEB_CSS_MIN): $(GITWEB_CSS_IN) GITWEB-BUILD-OPTIONS
121 +all:: $(MAK_DIR_GITWEB)$(GITWEB_CSS_MIN)
122 +$(MAK_DIR_GITWEB)$(GITWEB_CSS_MIN): $(MAK_DIR_GITWEB)GITWEB-BUILD-OPTIONS
123 +$(MAK_DIR_GITWEB)$(GITWEB_CSS_MIN): $(MAK_DIR_GITWEB)$(GITWEB_CSS_IN)
124 $(QUIET_GEN)$(CSSMIN) <$< >$@
125 endif
126 GITWEB_FILES += $(GITWEB_CSS)
@@ -161,19 +165,20 @@ GITWEB_REPLACE = \
165 -e 's|++HIGHLIGHT_BIN++|$(HIGHLIGHT_BIN)|g'
166
167 .PHONY: FORCE
164 -GITWEB-BUILD-OPTIONS: FORCE
168 +$(MAK_DIR_GITWEB)GITWEB-BUILD-OPTIONS: FORCE
169 @rm -f $@+
170 @echo "x" '$(PERL_PATH_SQ)' $(GITWEB_REPLACE) "$(JSMIN)|$(CSSMIN)" >$@+
171 @cmp -s $@+ $@ && rm -f $@+ || mv -f $@+ $@
172
169 -gitweb.cgi: gitweb.perl GITWEB-BUILD-OPTIONS
173 +$(MAK_DIR_GITWEB)gitweb.cgi: $(MAK_DIR_GITWEB)GITWEB-BUILD-OPTIONS
174 +$(MAK_DIR_GITWEB)gitweb.cgi: $(MAK_DIR_GITWEB)gitweb.perl
175 $(QUIET_GEN)$(RM) $@ $@+ && \
176 sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \
177 $(GITWEB_REPLACE) $< >$@+ && \
178 chmod +x $@+ && \
179 mv $@+ $@
180
176 -static/gitweb.js: $(GITWEB_JSLIB_FILES)
181 +$(MAK_DIR_GITWEB)static/gitweb.js: $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_JSLIB_FILES))
182 $(QUIET_GEN)$(RM) $@ $@+ && \
183 cat $^ >$@+ && \
184 mv $@+ $@
@@ -194,14 +199,16 @@ test-installed:
199 .PHONY: install
200 install: all
201 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)'
197 - $(INSTALL) -m 755 $(GITWEB_PROGRAMS) '$(DESTDIR_SQ)$(gitwebdir_SQ)'
202 + $(INSTALL) -m 755 $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_PROGRAMS)) \
203 + '$(DESTDIR_SQ)$(gitwebdir_SQ)'
204 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
199 - $(INSTALL) -m 644 $(GITWEB_FILES) '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
205 + $(INSTALL) -m 644 $(addprefix $(MAK_DIR_GITWEB),$(GITWEB_FILES)) \
206 + '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
207
208 ### Cleaning rules
209
210 .PHONY: clean
211 clean:
205 - $(RM) gitweb.cgi $(GITWEB_JS_IN) \
212 + $(RM) $(addprefix $(MAK_DIR_GITWEB),gitweb.cgi $(GITWEB_JS_IN) \
213 $(GITWEB_JS_MIN) $(GITWEB_CSS_MIN) \
207 - GITWEB-BUILD-OPTIONS
214 + GITWEB-BUILD-OPTIONS)