1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# Copyright (c) 2015-2016, Loïc Hoguin <[email protected]>
# This file is part of erlang.mk and subject to the terms of the ISC License.
ifeq ($(filter asciideck,$(DEPS) $(DOC_DEPS)),asciideck)
.PHONY: asciidoc asciidoc-guide asciidoc-manual install-asciidoc distclean-asciidoc-guide distclean-asciidoc-manual
# Core targets.
docs:: asciidoc
distclean:: distclean-asciidoc-guide distclean-asciidoc-manual
# Plugin-specific targets.
asciidoc: asciidoc-guide asciidoc-manual
# User guide.
ifeq ($(wildcard doc/src/guide/book.asciidoc),)
asciidoc-guide:
else
asciidoc-guide: distclean-asciidoc-guide doc-deps
a2x -v -f pdf doc/src/guide/book.asciidoc && mv doc/src/guide/book.pdf doc/guide.pdf
a2x -v -f chunked doc/src/guide/book.asciidoc && mv doc/src/guide/book.chunked/ doc/html/
distclean-asciidoc-guide:
$(gen_verbose) rm -rf doc/html/ doc/guide.pdf
endif
# Man pages.
ASCIIDOC_MANUAL_FILES := $(wildcard doc/src/manual/*.asciidoc)
ifeq ($(ASCIIDOC_MANUAL_FILES),)
asciidoc-manual:
else
# Configuration.
MAN_INSTALL_PATH ?= /usr/local/share/man
MAN_SECTIONS ?= 3 7
MAN_PROJECT ?= $(shell echo $(PROJECT) | sed 's/^./\U&\E/')
MAN_VERSION ?= $(PROJECT_VERSION)
# Plugin-specific targets.
define asciidoc2man.erl
try
[begin
ok = asciideck:to_manpage(asciideck:parse_file(F), #{
compress => gzip,
outdir => filename:dirname(F),
extra2 => "$(MAN_PROJECT) $(MAN_VERSION)",
extra3 => "$(MAN_PROJECT) Function Reference"
})
end || F <- [$(shell echo $(addprefix $(comma)\",$(addsuffix \",$1)) | sed 's/^.//')]],
halt(0)
catch _:_ ->
halt(1)
end.
endef
asciidoc-manual:: doc-deps
asciidoc-manual:: $(ASCIIDOC_MANUAL_FILES)
$(call erlang,$(call asciidoc2man.erl,$?))
$(foreach s,$(MAN_SECTIONS),mkdir -p doc/man$s/ && mv doc/src/manual/*.$s.gz doc/man$s/;)
install-docs:: install-asciidoc
install-asciidoc: asciidoc-manual
$(foreach s,$(MAN_SECTIONS),\
mkdir -p $(MAN_INSTALL_PATH)/man$s/ && \
install -g `id -u` -o `id -g` -m 0644 doc/man$s/*.gz $(MAN_INSTALL_PATH)/man$s/;)
distclean-asciidoc-manual:
$(gen_verbose) rm -rf $(addprefix doc/man,$(MAN_SECTIONS))
endif
endif
|