# -*- mode: Makefile; -*- ## ----------------------------------------------------------------------------- ## --SECTION-- DOCUMENTATION ## ----------------------------------------------------------------------------- ################################################################################ ### @brief TOC files ################################################################################ DOXYGEN_TOC = \ Documentation/DbaManual/DbaManual.md \ Documentation/ImplementorManual/ImplementorManual.md \ Documentation/InstallationManual/InstallationManual.md \ Documentation/Manual/Home.md \ Documentation/RefManual/RefManual.md \ Documentation/UserManual/UserManual.md \ Documentation/Manual/Upgrading.md ################################################################################ ### @brief install man pages ################################################################################ dist_man_MANS += \ Documentation/man/man1/arangob.1 \ Documentation/man/man1/arangoimp.1 \ Documentation/man/man1/arangosh.1 \ Documentation/man/man8/rcarangod.8 \ Documentation/man/man8/arangod.8 \ Documentation/man/man8/arango-dfdb.8 ################################################################################ ### @brief JavaScript files ################################################################################ DOXYGEN = \ Doxygen/js/actions/api-aqlfunction.c \ Doxygen/js/actions/api-collection.c \ Doxygen/js/actions/api-cursor.c \ Doxygen/js/actions/api-edges.c \ Doxygen/js/actions/api-explain.c \ Doxygen/js/actions/api-foxx.c \ Doxygen/js/actions/api-graph.c \ Doxygen/js/actions/api-index.c \ Doxygen/js/actions/api-query.c \ Doxygen/js/actions/api-simple.c \ Doxygen/js/actions/api-system.c \ Doxygen/js/actions/api-transaction.c \ Doxygen/js/actions/api-user.c \ Doxygen/js/common/bootstrap/module-console.c \ Doxygen/js/common/bootstrap/module-fs.c \ Doxygen/js/common/bootstrap/modules.c \ Doxygen/js/common/modules/jsunity.c \ Doxygen/js/common/modules/org/arangodb/aql/functions.c \ Doxygen/js/common/modules/org/arangodb/arango-collection-common.c \ Doxygen/js/common/modules/org/arangodb/arango-statement-common.c \ Doxygen/js/common/modules/org/arangodb/graph-common.c \ Doxygen/js/common/modules/org/arangodb/simple-query-common.c \ Doxygen/js/common/modules/org/arangodb/users-common.c \ Doxygen/js/server/modules/org/arangodb/actions.c \ Doxygen/js/server/modules/org/arangodb/arango-collection.c \ Doxygen/js/server/modules/org/arangodb/arango-database.c \ Doxygen/js/server/modules/org/arangodb/foxx.c \ Doxygen/js/server/modules/org/arangodb/graph.c \ Doxygen/js/server/modules/org/arangodb/simple-query.c \ Doxygen/js/server/server.c ################################################################################ ### @brief wiki pages ################################################################################ WIKI = \ Aql \ AqlExamples \ ArangoErrors \ CommandLine \ Communication \ Compiling \ DbaManual \ DbaManualAuthentication \ DbaManualBasics \ DbaManualDatafileDebugger \ DbaManualEmergencyConsole \ ExtendingAql \ FirstStepsArangoDB \ Graphs \ Glossary \ HandlingCollections \ HandlingDocuments \ HandlingEdges \ HandlingIndexes \ Home \ HttpAqlFunctions \ HttpBatch \ HttpCollection \ HttpCursor \ HttpGraph \ HttpImport \ HttpIndex \ HttpMisc \ HttpQuery \ HttpSimple \ HttpSystem \ HttpTransactions \ HttpUser \ ImpManual \ ImpManualBasics \ ImplementorManual \ ImplementorManualArangoErrors \ IndexBitArray \ IndexCap \ IndexCapHttp \ IndexFulltext \ IndexFulltextHttp \ IndexGeo \ IndexGeoHttp \ IndexHash \ IndexHashHttp \ IndexSkiplist \ IndexSkiplistHttp \ InstallManual \ Installing \ JSModuleActions \ JSModuleConsole \ JSModuleFs \ JSModuleGraph \ JSModules \ NamingConventions \ NewFeatures11 \ NewFeatures12 \ NewFeatures13 \ RefManual \ RefManualArangoErrors \ RestDocument \ RestEdge \ SimpleQueries \ Transactions \ Upgrading \ Upgrading11 \ Upgrading12 \ Upgrading13 \ UserManual \ UserManualActions \ UserManualArangosh \ UserManualWebInterface \ UserManualFoxx \ jsUnity ## ----------------------------------------------------------------------------- ## --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/doc/images || mkdir -p Doxygen/doc/images @test -d Doxygen/website/images || mkdir -p Doxygen/website/images @test -d Doxygen/js/actions || mkdir -p Doxygen/js/actions @test -d Doxygen/js/common/bootstrap || mkdir -p Doxygen/js/common/bootstrap @test -d Doxygen/js/common/modules/org/arangodb/aql || mkdir -p Doxygen/js/common/modules/org/arangodb/aql @test -d Doxygen/js/common/modules/org/arangodb || mkdir -p Doxygen/js/common/modules/org/arangodb @test -d Doxygen/js/server/modules/org/arangodb || mkdir -p Doxygen/js/server/modules/org/arangodb @test -d Doxygen/js/client || mkdir -p Doxygen/js/client @test -d Doxygen/latex/images || mkdir -p Doxygen/latex/images @test -d Doxygen/wiki || mkdir -p Doxygen/wiki @test -d Doxygen/xml || mkdir -p Doxygen/xml @touch $@ Doxygen/js/actions/%.c: @srcdir@/js/actions/%.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 toc ################################################################################ .PHONY: doxygen-toc doxygen-toc: python @top_srcdir@/Documentation/Scripts/generateTOC.py $(DOXYGEN_TOC) >> Doxygen/toc.doxy.tmp cmp -s Doxygen/toc.doxy Doxygen/toc.doxy.tmp || mv Doxygen/toc.doxy.tmp Doxygen/toc.doxy @rm -f Doxygen/toc.doxy.tmp Doxygen/toc.doxy: doxygen-toc ################################################################################ ### @brief doxygen ################################################################################ .PHONY: doxygen Doxygen/arango-html.doxy: Documentation/arango.template Doxygen/toc.doxy sed -e 's:GENERATE_HTML *= *NO:GENERATE_HTML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = HTML:' < $< > $@ cat Doxygen/toc.doxy >> $@ doxygen: Doxygen/.setup-directories Doxygen/arango-html.doxy $(DOXYGEN) $(MAKE) lib/BasicsC/voc-errors.h doxygen Doxygen/arango-html.doxy > /dev/null @for w in $(WIKI); do @top_srcdir@/Documentation/Scripts/html2html.sh --keep-title Doxygen/html/$$w.html Doxygen/website/$$w.html; done cp -R @top_srcdir@/Documentation/images/* Doxygen/website/images cp -R @top_srcdir@/Documentation/arangodb.css Doxygen/website @for w in $(WIKI); do @top_srcdir@/Documentation/Scripts/html2html.sh --full-html --keep-title Doxygen/html/$$w.html Doxygen/doc/$$w.html; done cp -R @top_srcdir@/Documentation/images/* Doxygen/doc/images cp -R @top_srcdir@/Documentation/arangodb.css Doxygen/doc ################################################################################ ### @brief wiki ################################################################################ .PHONY: wiki wiki-raw Doxygen/arango-xml.doxy: Documentation/arango.template Doxygen/toc.doxy sed -e 's:GENERATE_XML *= *NO:GENERATE_XML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = XML:' < $< > $@ cat Doxygen/toc.doxy >> $@ wiki: wiki-raw @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 wiki-raw: Doxygen/arango-xml.doxy $(DOXYGEN) $(MAKE) lib/BasicsC/voc-errors.h doxygen Doxygen/arango-xml.doxy > /dev/null ################################################################################ ### @brief latex ################################################################################ .PHONY: latex Doxygen/arango-latex.doxy: Documentation/arango.template Doxygen/toc.doxy sed -e 's:GENERATE_LATEX *= *NO:GENERATE_LATEX = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = LATEX:' < $< > $@ cat Doxygen/toc.doxy >> $@ latex: Doxygen/.setup-directories Doxygen/arango-latex.doxy $(DOXYGEN) $(MAKE) lib/BasicsC/voc-errors.h 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/" -e "s/\/$$i/g" -e "s/DATE/`date`/g" Documentation/man$$section/$$i > Doxygen/man/man$$section/$$i.$$section; done; done ################################################################################ ### @brief cleanup ################################################################################ CLEANUP += \ Doxygen/* ## ----------------------------------------------------------------------------- ## --SECTION-- EXAMPLES ## ----------------------------------------------------------------------------- ################################################################################ ### @brief generate json for swagger REST-API ################################################################################ .PHONY: swagger swagger: python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/arangod/RestHandler/RestEdgeHandler.cpp > @srcdir@/html/admin/api-docs/edges python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/arangod/RestHandler/RestDocumentHandler.cpp > @srcdir@/html/admin/api-docs/document python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-collection.js > @srcdir@/html/admin/api-docs/collection python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-graph.js > @srcdir@/html/admin/api-docs/graph python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-edges.js > @srcdir@/html/admin/api-docs/edges python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-user.js > @srcdir@/html/admin/api-docs/user python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-system.js > @srcdir@/html/admin/api-docs/system python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-cursor.js > @srcdir@/html/admin/api-docs/cursor python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-explain.js > @srcdir@/html/admin/api-docs/explain python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-index.js > @srcdir@/html/admin/api-docs/index python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-aqlfunction.js > @srcdir@/html/admin/api-docs/aqlfunction python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-simple.js > @srcdir@/html/admin/api-docs/simple python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-query.js > @srcdir@/html/admin/api-docs/query python @srcdir@/Documentation/Scripts/generateSwagger.py \ < @srcdir@/js/actions/api-structure.js > @srcdir@/html/admin/api-docs/structure ################################################################################ ### @brief generate examples ################################################################################ .PHONY: examples examples: @rm -f /tmp/arangodb.examples python @srcdir@/Documentation/Scripts/generateExamples.py \ --output-dir @builddir@/Documentation/Examples \ --arangosh-setup @srcdir@/Documentation/Examples/setup-arangosh.js \ @srcdir@/js/actions/*.js \ @srcdir@/Documentation/DbaManual/*.md \ @srcdir@/Documentation/UserManual/*.md \ @srcdir@/arangod/RestHandler/*.cpp \ > /tmp/arangosh.examples $(MAKE) start-server PID=$(PID) SERVER_START="--server.endpoint unix://$(VOCDIR)/arango.sock --server.disable-authentication true" PROTO=unix @builddir@/bin/arangosh \ -s \ -c @srcdir@/etc/relative/arangosh.conf \ --server.password "" \ --server.endpoint unix://$(VOCDIR)/arango.sock \ --javascript.execute /tmp/arangosh.examples ## ----------------------------------------------------------------------------- ## --SECTION-- END-OF-FILE ## ----------------------------------------------------------------------------- ## Local Variables: ## mode: outline-minor ## outline-regexp: "^\\(### @brief\\|## --SECTION--\\|# -\\*- \\)" ## End: