]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blob - rpp-test-sw/commands/doc/Makefile
6f1d32c17e7e003289436d23ff17077ea5734c4d
[pes-rpp/rpp-test-sw.git] / rpp-test-sw / commands / doc / Makefile
1 include ../../../rpp-lib/Makefile.config
2
3 COMMANDS=$(wildcard ../cmd*.c)
4 COMMANDS+=$(wildcard ../_$(TARGET)/cmd*.c)
5 OBJS=$(COMMANDS:../%.c=%.o) docgen.o
6
7 CFLAGS=-Wall -std=c99 -I../.. -I../../cmdproc/include -I../../rpp-lib/rpp/include -DDOCGEN -DNULL=0 -D'CMD_HANDLER(x)=0'
8
9
10 all:print-doc
11
12 print-doc: docgen
13         ./docgen
14
15 docgen: $(OBJS)
16
17 %.o: ../%.c
18         $(CC) $(CFLAGS) -c -o $@ $<
19
20 _$(TARGET)/%.o: ../_$(TARGET)/%.c
21         mkdir -p _$(TARGET)
22         $(CC) $(CFLAGS) -c -o $@ $<
23
24 clean:
25         rm -f $(OBJS) docgen
26         rm -rf _$(TARGET)
27
28 markdown = $(shell if pandoc -h|grep -q markdown_strict; then echo markdown_strict; else echo markdown; fi)
29
30 doc.mw: docgen
31         (echo '<div class="toclimit-2" style="float: right; margin-left: 1em;">__TOC__</div>'; ./docgen wiki) | pandoc -f $(markdown) -t mediawiki > $@
32
33 doc.mdwn: docgen Makefile
34 #       ./docgen wiki | pandoc -f markdown_strict -t markdown_strict > $@
35         ./docgen wiki  > $@
36
37 doc.html: docgen Makefile
38         ./docgen wiki | pandoc -f $(markdown) -t html --base-header-level=2 > $@
39
40
41 doc.tex: docgen Makefile
42         ./docgen pdfdoc > $@.1
43         pandoc -f $(markdown) -t latex --base-header-level=1 $@.1 -o $@.2
44         sed -e 's/\\subsection/\\newpage\\subsection/' $@.2 > $@
45         rm $@.?
46
47 upload: upload-mw upload-web
48
49 upload-mw: doc.mw
50         cat $< | ./wiki-edit.pl TestCommands -
51
52 WEB=../../../../web/
53 WEBDST=$(WEB)test-sw-commands/rpp-test-sw.mdwn
54 upload-web: doc.mdwn
55 ifneq ($(wildcard $(WEBDST)),)
56         cp $< $(WEBDST)
57         make -C $(WEB)
58         git -C $(WEB) add $(WEBDST:$(WEB)%=%)
59         if ! git -C $(WEB) diff --cached --quiet; then git  -C $(WEB) commit -m 'Automatic update of command reference' $(WEBDST:$(WEB)%=%) && git -C $(WEB) push; fi
60 endif
61
62 FORCE: