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)