aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/Makefile.am
blob: 65f8556fa8acac417b99f9855c98d6a1b6791902 (plain)
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Make sure that $(SCITECO_FULL) and the SciTECO-based
# substitutor for *.in is available.
include $(top_srcdir)/bootstrap.am

# tedoc is a code documentation tool for SciTECO commands
# and macros, extracting comments from SciTECO and C
# code.
# It generates Troff manpage markup and acts as a Troff
# preprocessor to manpage templates.
dist_bin_SCRIPTS = tedoc.tes

%.in : %.template tedoc.tes @top_srcdir@/src/*.c
	$(SCITECO_FULL) -m -- @srcdir@/tedoc.tes \
	                -C $@ $< @top_srcdir@/src/*.c

# grosciteco is a troff postprocessor similar to grotty
# which can be used to produce SciTECO-friendly output
# (woman pages).
dist_bin_SCRIPTS += grosciteco.tes
# grosciteco, like many other postprocessors, works
# best with its own macro package.
# Unfortunately, there is no way to query the built-in
# Groff tmac path.
# Therefore, the "sciteco" macros are installed into
# SciTECO's scitecodatadir. Users can copy this file, set up
# environment variables like $GROFF_TMAC_PATH or pass
# the directory via `groff -M`.
dist_scitecodata_DATA = sciteco.tmac

# Fix up the hash-bang line of installed SciTECO scripts upon
# installation to refer to the installed sciteco binary.
# This takes --program-prefix into account.
#
# FIXME: This will patch the hash-bang line repeatedly.
install-exec-hook:
	$(SCITECO_FULL) -e "@EB'$(DESTDIR)$(bindir)/*.tes' 1U* \
	                    EJ-1<%*^[ 0,^Q::@FR'#!^EM^Xsciteco'#!$(SCITECO_INSTALLED)'> \
	                    :EX"

womendir = $(scitecolibdir)/women

women_DATA = grosciteco.tes.1.woman grosciteco.tes.1.woman.tec
CLEANFILES = grosciteco.tes.1 grosciteco.tes.1.intermediate
EXTRA_DIST = grosciteco.tes.1.in

women_DATA += tedoc.tes.1.woman tedoc.tes.1.woman.tec
CLEANFILES += tedoc.tes.1 tedoc.tes.1.intermediate
EXTRA_DIST += tedoc.tes.1.in

women_DATA += sciteco.1.woman sciteco.1.woman.tec
CLEANFILES += sciteco.1 sciteco.1.intermediate
EXTRA_DIST += sciteco.1.in

women_DATA += sciteco.7.woman sciteco.7.woman.tec
CLEANFILES += sciteco.7 sciteco.7.intermediate sciteco.7.in
EXTRA_DIST += sciteco.7.template

women_DATA += tutorial.woman tutorial.woman.tec
CLEANFILES += tutorial.ms tutorial.intermediate
EXTRA_DIST += tutorial.ms.in

CLEANFILES += $(women_DATA)

# FIXME: *.intermediate files are only generated since SciTECO scripts
# cannot currently read stdin via --stdin while passing command-line
# arguments at the same time, so the grosciteco postprocessor
# has to be run on a separate file.
%.woman %.woman.tec : %.intermediate grosciteco.tes
	$(SCITECO_FULL) -m -- @srcdir@/grosciteco.tes \
	                $@ $<

%.intermediate : % sciteco.tmac
	@GROFF@ -wall -Z -Kutf-8 -Tutf8 -t -man -M@srcdir@ -msciteco $< >$@

tutorial.intermediate : tutorial.ms sciteco.tmac
	@GROFF@ -wall -Z -Kutf-8 -Tutf8 -t -ms -M@srcdir@ -msciteco $< >$@

man_MANS = grosciteco.tes.1 tedoc.tes.1 sciteco.1 sciteco.7

dist_noinst_SCRIPTS = htbl.tes

if BUILD_HTMLDOCS
html_DATA = grosciteco.tes.1.html tedoc.tes.1.html \
            sciteco.1.html sciteco.7.html tutorial.html
CLEANFILES += $(html_DATA)
endif

%.html : % htbl.tes
	$(SCITECO_FULL) -qiom -- @srcdir@/htbl.tes <$< | \
	@GROFF@ -wall -Thtml -man >$@

%.html : %.ms
	@GROFF@ -wall -Thtml -ms $< >$@

# FIXME: We may want to build the cheat sheet automatically.
# This would require a full Groff installation, though.
EXTRA_DIST += cheat-sheet.mm

#
# Doxygen processing (do not install or distribute)
#
devdoc : doxygen/

.PHONY: doxygen/
doxygen/ : Doxyfile
	-rm -rf doxygen/
	@DOXYGEN@ $<

clean-local:
	-rm -rf doxygen/