1
1
# Import tree-wide shared Makefile behavior and libraries
2
2
include ../shared.mak
3
3
4
+ .PHONY : FORCE
5
+
4
6
# Guard against environment variables
5
7
MAN1_TXT =
6
8
MAN5_TXT =
@@ -111,6 +113,7 @@ TECH_DOCS += MyFirstObjectWalk
111
113
TECH_DOCS += SubmittingPatches
112
114
TECH_DOCS += ToolsForGit
113
115
TECH_DOCS += technical/bitmap-format
116
+ TECH_DOCS += technical/build-systems
114
117
TECH_DOCS += technical/bundle-uri
115
118
TECH_DOCS += technical/hash-function-transition
116
119
TECH_DOCS += technical/long-running-process-protocol
@@ -148,16 +151,12 @@ man5dir = $(mandir)/man5
148
151
man7dir = $(mandir ) /man7
149
152
# DESTDIR =
150
153
151
- GIT_DATE := $(shell git show --quiet --pretty='% as')
152
-
153
154
ASCIIDOC = asciidoc
154
155
ASCIIDOC_EXTRA =
155
156
ASCIIDOC_HTML = xhtml11
156
157
ASCIIDOC_DOCBOOK = docbook
157
158
ASCIIDOC_CONF = -f asciidoc.conf
158
- ASCIIDOC_COMMON = $(ASCIIDOC ) $(ASCIIDOC_EXTRA ) $(ASCIIDOC_CONF ) \
159
- -amanmanual='Git Manual' -amansource='Git $(GIT_VERSION ) ' \
160
- -arevdate='$(GIT_DATE ) '
159
+ ASCIIDOC_COMMON = $(ASCIIDOC ) $(ASCIIDOC_EXTRA ) $(ASCIIDOC_CONF )
161
160
ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS
162
161
TXT_TO_HTML = $(ASCIIDOC_COMMON ) -b $(ASCIIDOC_HTML )
163
162
TXT_TO_XML = $(ASCIIDOC_COMMON ) -b $(ASCIIDOC_DOCBOOK )
@@ -210,6 +209,14 @@ ASCIIDOC_DEPS = asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
210
209
DBLATEX_COMMON =
211
210
XMLTO_EXTRA += --skip-validation
212
211
XMLTO_EXTRA += -x manpage.xsl
212
+
213
+ asciidoctor-extensions.rb : asciidoctor-extensions.rb.in FORCE
214
+ $(QUIET_GEN ) GIT_USER_AGENT=" $( GIT_USER_AGENT) " $(SHELL_PATH ) ../GIT-VERSION-GEN " $( shell pwd) /.." $< $@ +
215
+ @if cmp $@ + $@ > /dev/null 2>&1 ; then $(RM ) $@ +; else mv $@ + $@ ; fi
216
+ else
217
+ asciidoc.conf : asciidoc.conf.in FORCE
218
+ $(QUIET_GEN ) GIT_USER_AGENT=" $( GIT_USER_AGENT) " $(SHELL_PATH ) ../GIT-VERSION-GEN " $( shell pwd) /.." $< $@ +
219
+ @if cmp $@ + $@ > /dev/null 2>&1 ; then $(RM ) $@ +; else mv $@ + $@ ; fi
213
220
endif
214
221
215
222
ASCIIDOC_DEPS += docinfo.html
@@ -218,6 +225,7 @@ SHELL_PATH ?= $(SHELL)
218
225
# Shell quote;
219
226
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH ) )
220
227
228
+ ASCIIDOC_EXTRA += -abuild_dir='$(shell pwd) '
221
229
ifdef DEFAULT_PAGER
222
230
DEFAULT_PAGER_SQ = $(subst ','\'',$(DEFAULT_PAGER ) )
223
231
ASCIIDOC_EXTRA += -a 'git-default-pager=$(DEFAULT_PAGER_SQ ) '
@@ -275,15 +283,17 @@ ifneq ($(filter-out lint-docs clean,$(MAKECMDGOALS)),)
275
283
-include ../GIT-VERSION-FILE
276
284
endif
277
285
286
+ mergetools_txt = mergetools-diff.txt mergetools-merge.txt
287
+
278
288
#
279
289
# Determine "include::" file references in asciidoc files.
280
290
#
281
291
docdep_prereqs = \
282
- mergetools-list.made $(mergetools_txt ) \
292
+ $(mergetools_txt ) \
283
293
cmd-list.made $(cmds_txt )
284
294
285
295
doc.dep : $(docdep_prereqs ) $(DOC_DEP_TXT ) build-docdep.perl
286
- $(QUIET_GEN )$(PERL_PATH ) ./build-docdep.perl > $@ $(QUIET_STDERR )
296
+ $(QUIET_GEN )$(PERL_PATH ) ./build-docdep.perl " $( shell pwd ) " > $@ $(QUIET_STDERR )
287
297
288
298
ifneq ($(MAKECMDGOALS ) ,clean)
289
299
-include doc.dep
@@ -305,22 +315,14 @@ cmds_txt = cmds-ancillaryinterrogators.txt \
305
315
$(cmds_txt ) : cmd-list.made
306
316
307
317
cmd-list.made : cmd-list.perl ../command-list.txt $(MAN1_TXT )
308
- $(QUIET_GEN )$(PERL_PATH ) ./cmd-list.perl ../command-list.txt $(cmds_txt ) $( QUIET_STDERR ) && \
318
+ $(QUIET_GEN )$(PERL_PATH ) ./cmd-list.perl .. . $(cmds_txt ) && \
309
319
date > $@
310
320
311
- mergetools_txt = mergetools-diff.txt mergetools-merge.txt
312
-
313
- $(mergetools_txt ) : mergetools-list.made
314
-
315
- mergetools-list.made : ../git-mergetool--lib.sh $(wildcard ../mergetools/* )
316
- $(QUIET_GEN ) \
317
- $(SHELL_PATH ) -c ' MERGE_TOOLS_DIR=../mergetools && TOOL_MODE=diff && \
318
- . ../git-mergetool--lib.sh && \
319
- show_tool_names can_diff' | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >mergetools-diff.txt && \
320
- $(SHELL_PATH ) -c ' MERGE_TOOLS_DIR=../mergetools && TOOL_MODE=merge && \
321
- . ../git-mergetool--lib.sh && \
322
- show_tool_names can_merge' | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >mergetools-merge.txt && \
323
- date > $@
321
+ mergetools-% .txt : generate-mergetool-list.sh ../git-mergetool--lib.sh $(wildcard ../mergetools/* )
322
+ mergetools-diff.txt :
323
+ $(QUIET_GEN )$(SHELL_PATH ) ./generate-mergetool-list.sh .. diff $@
324
+ mergetools-merge.txt :
325
+ $(QUIET_GEN )$(SHELL_PATH ) ./generate-mergetool-list.sh .. merge $@
324
326
325
327
TRACK_ASCIIDOCFLAGS = $(subst ','\'',$(ASCIIDOC_COMMON ) :$(ASCIIDOC_HTML ) :$(ASCIIDOC_DOCBOOK ) )
326
328
@@ -341,6 +343,7 @@ clean:
341
343
$(RM ) SubmittingPatches.txt
342
344
$(RM ) $(cmds_txt ) $(mergetools_txt ) * .made
343
345
$(RM ) GIT-ASCIIDOCFLAGS
346
+ $(RM ) asciidoc.conf asciidoctor-extensions.rb
344
347
345
348
docinfo.html : docinfo-html.in
346
349
$(QUIET_GEN )$(RM ) $@ && cat $< > $@
@@ -364,7 +367,7 @@ manpage-cmd = $(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
364
367
% .xml : % .txt $(ASCIIDOC_DEPS )
365
368
$(QUIET_ASCIIDOC )$(TXT_TO_XML ) -d manpage -o $@ $<
366
369
367
- user-manual.xml : user-manual.txt user-manual.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
370
+ user-manual.xml : user-manual.txt user-manual.conf $( ASCIIDOC_DEPS )
368
371
$(QUIET_ASCIIDOC )$(TXT_TO_XML ) -d book -o $@ $<
369
372
370
373
technical/api-index.txt : technical/api-index-skel.txt \
@@ -373,7 +376,7 @@ technical/api-index.txt: technical/api-index-skel.txt \
373
376
374
377
technical/% .html : ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
375
378
$(patsubst % ,% .html,$(API_DOCS ) technical/api-index $(TECH_DOCS ) ) : % .html : % .txt \
376
- asciidoc.conf GIT-ASCIIDOCFLAGS
379
+ $( ASCIIDOC_DEPS )
377
380
$(QUIET_ASCIIDOC )$(TXT_TO_HTML ) $* .txt
378
381
379
382
SubmittingPatches.txt : SubmittingPatches
@@ -416,13 +419,13 @@ $(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
416
419
howto-index.txt : howto-index.sh $(HOWTO_TXT )
417
420
$(QUIET_GEN ) ' $(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT ) ) > $@
418
421
419
- $(patsubst % ,% .html,$(ARTICLES ) ) : % .html : % .txt
422
+ $(patsubst % ,% .html,$(ARTICLES ) ) : % .html : % .txt $( ASCIIDOC_DEPS )
420
423
$(QUIET_ASCIIDOC )$(TXT_TO_HTML ) $* .txt
421
424
422
425
WEBDOC_DEST = /pub/software/scm/git/docs
423
426
424
427
howto/% .html : ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
425
- $(patsubst % .txt,% .html,$(HOWTO_TXT ) ) : % .html : % .txt GIT-ASCIIDOCFLAGS
428
+ $(patsubst % .txt,% .html,$(HOWTO_TXT ) ) : % .html : % .txt $( ASCIIDOC_DEPS )
426
429
$(QUIET_ASCIIDOC ) \
427
430
sed -e ' 1,/^$$/d' $< | \
428
431
$(TXT_TO_HTML ) - > $@
0 commit comments