1
1
MANPAGE := ledger.1
2
2
TEXINFO := $(addsuffix .texi,ledger3 ledger-mode)
3
- SOURCES := $(MANPAGE ) $(TEXINFO )
3
+ SOURCES := version.texi $(MANPAGE ) $(TEXINFO )
4
4
PDF := $(addsuffix .pdf,$(basename $(TEXINFO ) ) )
5
5
HTML := $(addsuffix .html,$(basename $(TEXINFO ) ) $(MANPAGE ) )
6
6
BUILD := build
7
+ OUTPUT := $(BUILD ) /doc
8
+ CURL := curl --silent --location
7
9
8
- HOST := https://raw.githubusercontent.com/ledger
9
- ledger3.texi_repopath := ledger/v3.3.1/doc
10
- ledger.1_repopath := ledger/v3.3.1/doc
11
- ledger.texi_repopath := ledger/v2.6.3
12
- ledger-mode.texi_repopath := ledger-mode/master/doc
10
+ OWNER := ledger
11
+ REPO := ledger
12
+ LATEST := $(shell curl -sqI -w '% {redirect_url}\n' -o /dev/null https://github.com/$(OWNER ) /$(REPO ) /releases/latest | rev | cut -d/ -f1 | rev)
13
13
14
- ledger3.texi_build := 3.0/doc
15
- ledger.1_build := 3.0/doc
16
- ledger-mode.texi_build := 3.0/doc
14
+ HOST := https://raw.githubusercontent.com
15
+ ledger3.texi_repopath := $(OWNER ) /$(REPO ) /$(LATEST ) /doc
16
+ ledger.1_repopath := $(OWNER ) /$(REPO ) /$(LATEST ) /doc
17
+ ledger-mode.texi_repopath := $(OWNER ) /ledger-mode/master/doc
17
18
18
19
docs : init sources pdf html
19
20
@@ -25,20 +26,34 @@ sources: $(SOURCES)
25
26
26
27
.PHONY : init
27
28
init :
28
- mkdir -p $(BUILD ) / $( ledger.texi_build ) $( BUILD ) / $( ledger3.texi_build )
29
+ mkdir -p $(OUTPUT )
29
30
30
31
.PHONY : clean
31
32
clean :
32
33
rm -rf $(BUILD ) $(addsuffix * ,$(basename $(SOURCES ) ) )
33
34
34
35
$(TEXINFO ) $(MANPAGE ) :
35
- curl -sLO $(HOST ) /$($(@ ) _repopath) /$@
36
+ $(CURL ) --remote-name $(HOST ) /$($(@ ) _repopath) /$@
37
+
38
+ # TODO: Remove the line after this comment once the next release after 3.3.1
39
+ # is published as it will include the necessary changes for version.texi and
40
+ # related files to be fetched from the tag instead of the master branch.
41
+ version.texi : LATEST := master
42
+ version.texi :
43
+ $(CURL ) --parallel --create-dirs \
44
+ --output-dir doc --remote-name $(HOST ) /$(OWNER ) /$(REPO ) /$(LATEST ) /doc/$@ .in \
45
+ --remote-name $(HOST ) /$(OWNER ) /$(REPO ) /$(LATEST ) /doc/CMakeLists.txt \
46
+ --next --silent --location --create-dirs \
47
+ --output-dir cmake --remote-name $(HOST ) /$(OWNER ) /$(REPO ) /$(LATEST ) /cmake/LedgerVersion.cmake \
48
+ # curl
49
+ cmake -Wno-dev -S doc
50
+ mv doc/$@ $@
36
51
37
52
% .pdf : % .texi
38
- texi2pdf --batch --verbose --output=$(BUILD ) / $( $( < ) _build ) /$@ $<
53
+ texi2pdf --batch --verbose --output=$(OUTPUT ) /$@ $<
39
54
40
55
% .html : % .texi
41
- makeinfo --force --html --no-split --output=$(BUILD ) / $( $( < ) _build ) /$@ $<
56
+ makeinfo --force --html --no-split --output=$(OUTPUT ) /$@ $<
42
57
43
58
% .1.html : % .1
44
- groff -mandoc -Thtml $< > $(BUILD ) / $( $( < ) _build ) /$@
59
+ groff -mandoc -Thtml $< > $(OUTPUT ) /$@
0 commit comments