]> rtime.felk.cvut.cz Git - ulut.git/blob - doc/srcdoc/Makefile
uLUt documentation converted to XML DocBook variant.
[ulut.git] / doc / srcdoc / Makefile
1 TMPLFILES += ulut.tmpl
2 TMPLFILES += gavl.tmpl
3
4 FIGFILES += $(wildcard fig/*)
5
6 ifndef MAKERULES_DIR
7 MAKERULES_DIR := $(shell ( old_pwd="" ;  while [ ! -e Makefile.rules ] ; do if [ "$$old_pwd" == `pwd`  ] ; then exit 1 ; else old_pwd=`pwd` ; cd -L .. 2>/dev/null ; fi ; done ; pwd ) )
8 endif
9
10 ifeq ($(MAKERULES_DIR),)
11 $(error The Makefile.rules has not been found in this or partent directory)
12 endif
13
14 DOCOUTDIR=$(MAKERULES_DIR)/_compiled/doc
15 SCRIPTDIR=$(MAKERULES_DIR)/scripts
16 #SCRIPTDIR=$(CURDIR)/../scripts
17
18 TMPL2SGML=$(SCRIPTDIR)/tmpl2sgml
19 export TMPL2SGML
20 KERNELDOC=$(SCRIPTDIR)/kernel-doc
21 export KERNELDOC
22
23 .PHONY: all default fig-prepare xmldocs htmldocs pdfdocs clean
24
25 $(DOCOUTDIR)/%.xml: %.tmpl
26         $(TMPL2SGML) $< >$@
27
28 $(DOCOUTDIR)/%.pdf : $(DOCOUTDIR)/%.xml
29         @(which db2pdf > /dev/null 2>&1) || \
30          (echo "*** You need to install DocBook stylesheets ***"; \
31           exit 1)
32         cd $(dir $@) && db2pdf $<
33
34 $(DOCOUTDIR)/%.html: $(DOCOUTDIR)/%.xml
35         @(which db2html > /dev/null 2>&1) || \
36          (echo "*** You need to install DocBook stylesheets ***"; \
37           exit 1)
38         cd $(dir $@) && db2html $<
39         cd $(dir $@) && BOOKNAME=$$(cat $(@:%.html=%)/index.html | sed -n -e 's/>\([^<>]*\)<\/TITLE/\1/p') ; \
40         echo  "<a HREF=\"$(@:%.html=%)/index.html\">$$BOOKNAME</a><p>" >$@
41
42 $(DOCOUTDIR)/%.xml: $(DOCOUTDIR)/%.sgml
43         cd $(dir $@) && /usr/local/share/lyx/db2lyx/scripts/sgml2xml.pl /usr/local/share/lyx/db2lyx/xml/docbook/xml-dtd-4.1.2-9/docbookx.dtd $<
44
45 $(DOCOUTDIR)/%.lyx: $(DOCOUTDIR)/%.xml
46         cd $(dir $@) && xsltproc --catalogs /usr/local/share/lyx/db2lyx/format220/docbook.xsl $< >$@
47
48 $(DOCOUTDIR)/fig/%: fig/%
49         @mkdir -p $(DOCOUTDIR)/fig
50         @rm -f $@
51         @cp -v $< $@
52
53 $(DOCOUTDIR)/fig/%.pdf: $(DOCOUTDIR)/fig/%.fig
54         fig2dev -L pdf $< $@
55
56 $(DOCOUTDIR)/fig/%.gif: $(DOCOUTDIR)/fig/%.fig
57         fig2dev -L gif $< $@
58
59 all: default
60
61 default: $(DOCOUTDIR)/depend fig-prepare xmldocs htmldocs pdfdocs
62
63 fig-prepare: $(FIGFILES:fig/%=$(DOCOUTDIR)/fig/%) $(patsubst %.fig,$(DOCOUTDIR)/%.pdf,$(filter %.fig,$(FIGFILES))) \
64              $(patsubst %.fig,$(DOCOUTDIR)/%.gif,$(filter %.fig,$(FIGFILES)))
65
66 #       [ -d fig ] || exit 0 ; \
67 #       mkdir -p $(DOCOUTDIR)/fig
68 #       for i in fig/* ; do \
69 #         if ! cmp -s $$i $(DOCOUTDIR)/$$i ; then \
70 #           cp -v $$i $(DOCOUTDIR)/$$i ; \
71 #           fig2dev -L pdf $(DOCOUTDIR)/$$i ; \
72 #         fi \
73 #       done
74 #       echo Done
75 #       exit 1
76
77 xmldocs: $(TMPLFILES:%.tmpl=$(DOCOUTDIR)/%.xml)
78
79 htmldocs: $(TMPLFILES:%.tmpl=$(DOCOUTDIR)/%.html)
80
81 pdfdocs: $(TMPLFILES:%.tmpl=$(DOCOUTDIR)/%.pdf)
82
83 clean:
84         rm -f $(DOCOUTDIR)/depend \
85             $(TMPLFILES:%.tmpl=$(DOCOUTDIR)/%.pdf) $(TMPLFILES:%.tmpl=$(DOCOUTDIR)/%.out) \
86             $(TMPLFILES:%.tmpl=$(DOCOUTDIR)/%.xml) $(TMPLFILES:%.tmpl=$(DOCOUTDIR)/%.html) \
87             $(FIGFILES:fig/%=$(DOCOUTDIR)/fig/%) $(patsubst %.fig,$(DOCOUTDIR)/%.pdf,$(filter %.fig,$(FIGFILES))) \
88             $(patsubst %.fig,$(DOCOUTDIR)/%.gif,$(filter %.fig,$(FIGFILES)))
89         rm -rf *.junk
90
91 $(DOCOUTDIR)/depend: $(TMPLFILES)
92         mkdir -p $(DOCOUTDIR)
93         rm -f $(DOCOUTDIR)/depend
94         $(foreach f,$(TMPLFILES), \
95           echo '$(f:%.tmpl=$(DOCOUTDIR)/%.xml) : \' >>$(DOCOUTDIR)/depend ; \
96           ( cat $(f) | sed -n -e 's/^![FIE]\(.*\)$$/\t\1 \\/p' >>$(DOCOUTDIR)/depend ) ; \
97           echo >>$(DOCOUTDIR)/depend ; \
98         )
99
100 -include $(DOCOUTDIR)/depend