summaryrefslogtreecommitdiff
path: root/doc/Makefile
blob: df56f09964894d327dcd86f9f114a47c79f09fc7 (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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

include ../config.mak

web = mkz@pgf:/home/pgfoundry.org/groups/skytools/htdocs/skytools-3.0

EPYDOC = epydoc
EPYARGS = --no-private --url="http://pgfoundry.org/projects/skytools/" \
	--name="Skytools" --html --no-private -v

TOPHTML = README.html INSTALL.html index.html
DOCHTML = \
	TODO.html pgq-sql.html pgq-nodupes.html \
	faq.html set.notes.html skytools3.html devnotes.html pgqd.html \
	londiste3.html walmgr3.html qadmin.html scriptmgr.html \
	sql-grants.html \
	skytools_upgrade.html queue_mover3.html queue_splitter3.html \
	simple_consumer3.html simple_local_consumer3.html \
	howto/londiste3_cascaded_rep_howto.html \
	howto/londiste3_merge_howto.html \
	howto/londiste3_partitioning_howto.html \
	howto/londiste3_simple_rep_howto.html \
	howto/setup_walmgr_replication.html


MAN5 =
MAN1_SFX = scriptmgr.1 skytools_upgrade.1
MAN1 = qadmin.1 pgqd.1 walmgr3.1 londiste3.1 simple_consumer3.1 simple_local_consumer3.1 \
       queue_mover3.1 queue_splitter3.1

FQHTML = $(addprefix html/doc/, $(DOCHTML)) $(addprefix html/, $(TOPHTML))
FQMAN1 = $(addprefix man/, $(MAN1))
FQMAN1_SFX = $(addprefix man/, $(MAN1_SFX))
FQMAN5 = $(addprefix man/, $(MAN5))
FQMAN = $(FQMAN1) $(FQMAN1_SFX) $(FQMAN5)

COMMON = common.switches.txt common.config.txt

GETATTRS = $(PYTHON) ../misc/getattrs.py
FIXMAN = $(PYTHON) ../misc/fixman.py

#AFLAGS = -a linkcss
#AFLAGS = -a stylesheet=extra.css

all: $(FQMAN)

man: $(FQMAN)

html: $(FQHTML)

install: $(FQMAN)
	mkdir -p $(DESTDIR)/$(mandir)/man1
	mkdir -p $(DESTDIR)/$(mandir)/man5
	mkdir -p $(DESTDIR)/$(docdir)
	for m in $(FQMAN1_SFX); do \
	  xf="`basename $$m | sed 's/[.]/$(SUFFIX)./'`"; \
	  install -m 644 $$m $(DESTDIR)/$(mandir)/man1/$$xf || exit 1; \
	done
	for m in $(FQMAN1); do \
	  install -m 644 $$m $(DESTDIR)/$(mandir)/man1 || exit 1; \
	done
	for m in $(FQMAN5); do \
	  install -m 644 $$m $(DESTDIR)/$(mandir)/man5 || exit 1; \
	done

htmlinstall: $(FQHTML)
	for h in $(FQHTML); do \
	  install -m 644 $$h $(DESTDIR)/$(docdir) || exit 1; \
	done

PY_PKGS = skytools pgq londiste

#	skytools.config skytools.dbstruct skytools.gzlog \
#	skytools.quoting skytools.scripting skytools.sqltools \
#	pgq pgq.consumer pgq.event pgq.maint pgq.producer pgq.status pgq.ticker \
#	londiste londiste.compare londiste.file_read londiste.file_write \
#	londiste.installer londiste.playback londiste.repair londiste.setup \
#	londiste.syncer londiste.table_copy

apidoc:
	rm -rf html/api
	mkdir -p html/api
	cd ../python && $(EPYDOC) $(EPYARGS) -o ../doc/html/api $(PY_PKGS)
	cd ../sql/pgq && rm -rf docs/html && $(MAKE) dox && cp -rp docs/html ../../doc/html/pgq
	cd ../sql/pgq_coop && rm -rf docs/html && $(MAKE) dox && cp -rp docs/html ../../doc/html/pgq_coop
	cd ../sql/pgq_node && rm -rf docs/html && $(MAKE) dox && cp -rp docs/html ../../doc/html/pgq_node
	cd ../sql/londiste && rm -rf docs/html && $(MAKE) dox && cp -rp docs/html ../../doc/html/londiste
	cd ../sql/pgq_ext && rm -rf docs/html && $(MAKE) dox && cp -rp docs/html ../../doc/html/pgq_ext

apiupload: apidoc
	-rsync -rtlz api/* $(web)/api
	-rsync -rtlz ../sql/pgq/docs/html/* $(web)/pgq/
	-rsync -rtlz ../sql/pgq_coop/docs/html/* $(web)/pgq_coop/
	-rsync -rtlz ../sql/pgq_node/docs/html/* $(web)/pgq_node/
	-rsync -rtlz ../sql/londiste/docs/html/* $(web)/londiste/

clean:
	rm -rf html *.xml api

distclean: clean
	rm -rf ../sql/pgq/docs/pgq

realclean: distclean
	rm -rf man *.xml *.html

ifneq ($(ASCIIDOC),no)
ifneq ($(XMLTO),no)
man/%.xml: %.txt $(COMMON)
	@mkdir -p man
	$(ASCIIDOC) -b docbook -d manpage `$(GETATTRS) $<` -o $@ $<

man/%.1: man/%.xml
	@mkdir -p man
	$(XMLTO) -o man man $<
endif

html/doc/%.html: %.txt $(COMMON)
	@mkdir -p $(dir $@)
	LANG=C cat $< \
	| sed -e '/^include/b' -e 's,\([A-Za-z.0-9]*\)[.]txt,link:\1.html[],g' \
	| $(ASCIIDOC) $(AFLAGS) -a toc `$(GETATTRS) $<` -o - - \
	| sed -e "/^[/][*] Workarounds/r ../misc/extra.css" \
	> $@

html/README.html: ../README
	@mkdir -p $(dir $@)
	cat $< \
	| sed -e 's,doc/\([!-~]*\)[.]txt,link:\1.html[],g' \
	      -e 's,http:[!-~]*,&[],g' \
	| $(ASCIIDOC) $(AFLAGS) -a toc -o - - \
	| sed -e "/^[/][*] Workarounds/r ../misc/extra.css" \
	> $@

html/INSTALL.html: ../INSTALL
	@mkdir -p $(dir $@)
	$(ASCIIDOC) $(AFLAGS) -o - $< \
	| sed -e "/^[/][*] Workarounds/r ../misc/extra.css" \
	> $@

html/index.html: index.txt
	@mkdir -p $(dir $@)
	$(ASCIIDOC) $(AFLAGS) -o - $< \
	| sed -e "/^[/][*] Workarounds/r ../misc/extra.css" \
	> $@
endif

web: $(FQHTMLS)
	rsync -avz html/* $(web)/