1
0
Fork 0
arangodb/Documentation/Makefile.doxygen

163 lines
7.3 KiB
Makefile

# -*- mode: Makefile; -*-
################################################################################
## --SECTION-- DOXYGEN
################################################################################
################################################################################
### @brief directory setup
################################################################################
.PHONY: Doxygen/js Doxygen/js/system Doxygen/js/modules
BUILT_SOURCES += Doxygen/.setup-directories
Doxygen/.setup-directories:
@test -d Doxygen || mkdir Doxygen
@test -d Doxygen/doc || mkdir Doxygen/doc
@test -d Doxygen/doc/images || mkdir Doxygen/doc/images
@test -d Doxygen/js || mkdir Doxygen/js
@test -d Doxygen/js/actions || mkdir Doxygen/js/actions
@test -d Doxygen/js/actions/system || mkdir Doxygen/js/actions/system
@test -d Doxygen/js/common || mkdir Doxygen/js/common
@test -d Doxygen/js/common/bootstrap || mkdir Doxygen/js/common/bootstrap
@test -d Doxygen/js/common/modules || mkdir Doxygen/js/common/modules
@test -d Doxygen/js/server/modules/org/arangodb || mkdir -p Doxygen/js/server/modules/org/arangodb
@test -d Doxygen/js/client || mkdir Doxygen/js/client
@test -d Doxygen/latex || mkdir Doxygen/latex
@test -d Doxygen/latex/images || mkdir Doxygen/latex/images
@test -d Doxygen/man || mkdir Doxygen/man
@test -d Doxygen/man/man1 || mkdir Doxygen/man/man1
@test -d Doxygen/man/man8 || mkdir Doxygen/man/man8
@test -d Doxygen/wiki || mkdir Doxygen/wiki
@test -d Doxygen/xml || mkdir Doxygen/xml
@touch $@
Doxygen/js/actions/system/%.c: @srcdir@/js/actions/system/%.js Doxygen/.setup-directories
@python @top_srcdir@/Documentation/Scripts/js2doxy.py $< > $@
Doxygen/js/common/bootstrap/%.c: @srcdir@/js/common/bootstrap/%.js Doxygen/.setup-directories
@python @top_srcdir@/Documentation/Scripts/js2doxy.py $< > $@
Doxygen/js/common/modules/%.c: @srcdir@/js/common/modules/%.js Doxygen/.setup-directories
@python @top_srcdir@/Documentation/Scripts/js2doxy.py $< > $@
Doxygen/js/server/%.c: @srcdir@/js/server/%.js Doxygen/.setup-directories
@python @top_srcdir@/Documentation/Scripts/js2doxy.py $< > $@
Doxygen/js/server/modules/%.c: @srcdir@/js/server/modules/%.js Doxygen/.setup-directories
@python @top_srcdir@/Documentation/Scripts/js2doxy.py $< > $@
Doxygen/xml/%.md: Doxygen/xml/%.xml
@python @top_srcdir@/Doxygen/Scripts/xml2md.py $< > $@
################################################################################
### @brief doxygen
################################################################################
.PHONY: doxygen
Doxygen/arango-html.doxy: Documentation/arango.template
sed -e 's:GENERATE_HTML *= *NO:GENERATE_HTML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = HTML:' < $< > $@
$(MAKE) lib/BasicsC/voc-errors.h
doxygen: Doxygen/.setup-directories Doxygen/arango-html.doxy $(DOXYGEN)
doxygen Doxygen/arango-html.doxy > /dev/null
@for w in $(WIKI); do @top_srcdir@/Documentation/Scripts/html2html.sh Doxygen/html/$$w.html Doxygen/doc/$$w.html; done
cp -R @top_srcdir@/Documentation/images/* Doxygen/doc/images
################################################################################
### @brief wiki
################################################################################
.PHONY: wiki wiki2
Doxygen/arango-xml.doxy: Documentation/arango.template
sed -e 's:GENERATE_XML *= *NO:GENERATE_XML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = XML:' < $< > $@
$(MAKE) lib/BasicsC/voc-errors.h
wiki: wiki2
@test -d Doxygen/wiki || mkdir Doxygen/wiki
@for w in $(WIKI); do python @top_srcdir@/Documentation/Scripts/xml2md.py Doxygen/xml/$$w.xml > Doxygen/xml/$$w.md; done
@for w in $(WIKI); do @top_srcdir@/Documentation/Scripts/fixmd.sh Doxygen/xml/$$w.md; done
wiki2: Doxygen/arango-xml.doxy $(DOXYGEN)
doxygen Doxygen/arango-xml.doxy > /dev/null
################################################################################
### @brief latex
################################################################################
.PHONY: latex
Doxygen/arango-latex.doxy: Documentation/arango.template
sed -e 's:GENERATE_LATEX *= *NO:GENERATE_LATEX = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = LATEX:' < $< > $@
$(MAKE) lib/BasicsC/voc-errors.h
latex: Doxygen/.setup-directories Doxygen/arango-latex.doxy $(DOXYGEN)
doxygen Doxygen/arango-latex.doxy > /dev/null
echo "\def\arangodbversion{@PACKAGE_VERSION@}" > Doxygen/latex/version.tex
cp -R Documentation/latex/*.tex Doxygen/latex
cp -R Documentation/images Doxygen/latex/images
python @top_srcdir@/Documentation/Scripts/tex2tex.py Doxygen/latex/InstallManual.tex > Doxygen/latex/InstallManual.inc.tex
cd Doxygen/latex && pdflatex -interaction batchmode install-manual.tex || true
python @top_srcdir@/Documentation/Scripts/tex2tex.py Doxygen/latex/UserManual.tex > Doxygen/latex/UserManual.inc.tex
cd Doxygen/latex && pdflatex -interaction batchmode user-manual.tex || true
python @top_srcdir@/Documentation/Scripts/tex2tex.py Doxygen/latex/ImplementorManual.tex > Doxygen/latex/ImplementorManual.inc.tex
cd Doxygen/latex && pdflatex -interaction batchmode implementor-manual.tex || true
python @top_srcdir@/Documentation/Scripts/tex2tex.py Doxygen/latex/RefManual.tex > Doxygen/latex/RefManual.inc.tex
cd Doxygen/latex && pdflatex -interaction batchmode ref-manual.tex || true
python @top_srcdir@/Documentation/Scripts/tex2tex.py Doxygen/latex/DbaManual.tex > Doxygen/latex/DbaManual.inc.tex
cd Doxygen/latex && pdflatex -interaction batchmode dba-manual.tex || true
python @top_srcdir@/Documentation/Scripts/tex2tex.py Doxygen/latex/ImpManual.tex > Doxygen/latex/ImpManual.inc.tex
cd Doxygen/latex && pdflatex -interaction batchmode imp-manual.tex || true
################################################################################
### @brief man pages
################################################################################
.PHONY: man
man: Doxygen/.setup-directories
for section in 1 8; do for i in `ls Documentation/man$$section`; do sed -f Documentation/Scripts/man.sed -e "s/\<SECTION\>/$$section/" -e "s/\<COMMAND\>/$$i/g" -e "s/DATE/`date`/g" Documentation/man$$section/$$i > Doxygen/man/man$$section/$$i.$$section; done; done
################################################################################
### @brief install man pages
################################################################################
dist_man_MANS += \
Doxygen/man/man1/arangoimp.1 \
Doxygen/man/man1/arangosh.1 \
Doxygen/man/man8/rcarangod.8 \
Doxygen/man/man8/arangod.8 \
Doxygen/man/man8/arango-dfdb.8 \
Doxygen/man/man8/arango-password.8 \
Doxygen/man/man8/arango-upgrade.8
################################################################################
### @brief cleanup
################################################################################
CLEANUP += \
$(DOXYGEN) \
$(addsuffix .md,$(addprefix Doxygen/xml/,$(WIKI))) \
$(addsuffix .md,$(addprefix Doxygen/wiki/,$(WIKI))) \
Doxygen/.setup-directories
################################################################################
## --SECTION-- END-OF-FILE
################################################################################
## Local Variables:
## mode: outline-minor
## outline-regexp: "^\\(### @brief\\|## --SECTION--\\|# -\\*- \\)"
## End: