1# common dependencies and rules for building libraries
2
3DOXINPUT=$(DOXNAME)lib.dox
4DOXOUTPUT=$(DOXNAME)lib
5
6#check for program
7checkdoxygen:
8	@(type doxygen > /dev/null || (echo "ERROR: Install 'doxygen' software first (get from http://www.doxygen.org)" && exit 1))
9	@(type dot     > /dev/null || (echo "ERROR: Install 'Graphviz/dot' software first" && exit 1))
10
11# generate docs as single HTML document:
12htmldox-single: checkdoxygen cleandox
13	doxygen $(MODULE_TOPDIR)/include/Make/Doxyfile_arch_html
14	@echo "HTML reference in directory ./html/index.html"
15
16# generate docs as multiple HTML documents:
17htmldox: checkdoxygen cleandox
18# hack needed to get main page at beginning:
19	@mv $(DOXINPUT) $(DOXINPUT).org
20	@sed 's+/\*! \\page +/\*! \\mainpage +g' $(DOXINPUT).org > $(DOXINPUT)
21	doxygen $(MODULE_TOPDIR)/include/Make/Doxyfile_arch_html
22	@mv $(DOXINPUT).org $(DOXINPUT)
23	@echo "HTML reference in directory ./html/index.html"
24
25# NOTE: stubs/ and sqlp/ are excluded in ./Doxyfile_arch_latex
26latexdox: checkdoxygen cleandox
27	test ! -d latex || (cd ./latex && $(MAKE) clean)
28# hack needed to get main page at beginning:
29	@mv $(DOXINPUT) $(DOXINPUT).org
30	@sed 's+/\*! \\page +/\*! \\mainpage +g' $(DOXINPUT).org > $(DOXINPUT)
31	doxygen $(MODULE_TOPDIR)/include/Make/Doxyfile_arch_latex
32#this hack is needed to make Acroread's search engine happy:
33	(cd ./latex ; echo "\usepackage[T1]{fontenc}" >> doxygen.sty)
34	(cd ./latex && $(MAKE) )
35	@mv $(DOXINPUT).org $(DOXINPUT)
36	@echo "Latex reference in directory ./latex/refman.dvi"
37
38pdfdox: checkdoxygen cleandox
39	test ! -d latex || (cd ./latex && $(MAKE) clean)
40# hack needed to get main page at beginning:
41	@mv $(DOXINPUT) $(DOXINPUT).org
42	@sed 's+/\*! \\page +/\*! \\mainpage +g' $(DOXINPUT).org > $(DOXINPUT)
43	doxygen $(MODULE_TOPDIR)/include/Make/Doxyfile_arch_latex
44#this hack is needed to make Acroread's search engine happy:
45	(cd ./latex ; echo "\usepackage[T1]{fontenc}" >> doxygen.sty)
46	(cd ./latex && $(MAKE) refman.pdf && mv refman.pdf grass${GRASS_VERSION_MAJOR}${GRASS_VERSION_MINOR}$(DOXOUTPUT)_`date '+%Y_%m_%d'`_refman.pdf)
47	@mv $(DOXINPUT).org $(DOXINPUT)
48	@echo "PDF reference in directory ./latex/grass${GRASS_VERSION_MAJOR}${GRASS_VERSION_MINOR}$(DOXOUTPUT)_`date '+%Y_%m_%d'`_refman.pdf"
49
50cleandox:
51	rm -rf ./latex ./html
52