## generate API documentation with doxygen
apidox-am-yes:
	@if test "$(subdir)" == "."; then \
		$(mkinstalldirs) $(top_builddir)/apidocs/$(subdir) ;\
		if test "$(DOXYGEN_LINK_WITH_KDE_QT_APIDOX)" == "YES"; then \
			if test ! -x $(top_builddir)/apidocs/common; then \
				if test -d $(top_srcdir)/doc/common; then \
					common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\
				else \
					common_dir=$(kde_libs_htmldir)/en/common ;\
				fi ;\
				$(LN_S) $$common_dir $(top_builddir)/apidocs/common; \
			fi ;\
		fi ;\
		cp $(top_srcdir)/admin/Doxyfile.global Doxyfile; \
		echo "PROJECT_NAME           = $(DOXYGEN_PROJECT_NAME)" >> Doxyfile; \
		echo "PROJECT_NUMBER         = \"Version $(VERSION)\"" >> Doxyfile; \
		echo "OUTPUT_DIRECTORY       = $(PWD)/apidocs/en" >> Doxyfile; \
		echo "BRIEF_MEMBER_DESC      = NO" >> Doxyfile; \
		echo "FULL_PATH_NAMES        = YES" >> Doxyfile; \
		echo "STRIP_FROM_PATH        = $(top_srcdir)/" >> Doxyfile; \
		echo "ALIASES               += \"feature=\xrefitem features \\\"Feature(s)\\\" \\\"Features\\\"\" " >> Doxyfile; \
		echo "ALIASES               += \"maintainer=\xrefitem maintainers \\\"Maintainer(s)\\\" \\\"Maintainers\\\"\" " >> Doxyfile; \
		echo "ALIASES               += \"unmaintained=\xrefitem unmaintained \\\"Unmaintained\\\" \\\"Unmaintained\\\"\" " >> Doxyfile; \
		echo "ALIASES               += \"requirement=\xrefitem requirements \\\"Requirement(s)\\\" \\\"Requirements\\\"\" " >> Doxyfile; \
		echo "ALIASES               += \"faq=\xrefitem FAQ \\\"F.A.Q.\\\" \\\"F.A.Q.\\\"\" " >> Doxyfile; \
		echo "ALIASES               += \"authors=\xrefitem authors \\\"Author(s)\\\" \\\"Authors\\\"\" " >> Doxyfile; \
		echo "ALIASES               += \"FIXME=\xrefitem fixme \\\"Fixme\\\" \\\"Fixme\\\"\" " >> Doxyfile; \
		echo "EXTRACT_ALL            = NO" >> Doxyfile; \
		echo "EXTRACT_PRIVATE        = NO" >> Doxyfile; \
		echo "EXTRACT_LOCAL_CLASSES  = YES" >> Doxyfile; \
		echo "HIDE_UNDOC_CLASSES     = NO" >> Doxyfile; \
		echo "HIDE_UNDOC_MEMBERS     = NO" >> Doxyfile; \
		echo "SORT_MEMBER_DOCS       = YES" >> Doxyfile; \
		echo "GENERATE_TODOLIST      = YES" >> Doxyfile; \
		if test -n "$(DOXYGEN_INPUT)"; then \
			patterns= ;\
			dirs= ;\
			include_items='$(DOXYGEN_INPUT) '; for item in $$include_items; do \
				if test -d "$(top_srcdir)/$$item"; then \
					dirs="$$dirs $$item" ;\
				else \
					patterns="$$patterns $$item" ;\
				fi ;\
			done ;\
			echo "INPUT                 += $$dirs" >> Doxyfile ;\
			echo "FILE_PATTERNS         += $$patterns" >> Doxyfile; \
		fi ;\
		if test -n "$(DOXYGEN_EXCLUDE)"; then \
			patterns= ;\
			dirs= ;\
			exclude_items='$(DOXYGEN_EXCLUDE) '; for item in $$exclude_items; do \
				if test -d "$(top_srcdir)/$$item"; then \
					dirs="$$dirs $$item" ;\
				else \
					patterns="$$patterns $$item" ;\
				fi ;\
			done ;\
			echo "EXCLUDE               += $$dirs" >> Doxyfile ;\
			echo "EXCLUDE_PATTERNS      += $$patterns" >> Doxyfile; \
		fi ;\
		echo "EXAMPLE_PATH           = $(DOXYGEN_EXAMPLE_PATH)" >> Doxyfile; \
		echo "IMAGE_PATH             = $(top_srcdir)/doc/api" >> Doxyfile ;\
		echo "VERBATIM_HEADERS       = NO" >> Doxyfile ;\
		echo "IGNORE_PREFIX          = K" >> Doxyfile ;\
		echo "GENERATE_HTML          = $(GENERATE_FLAG)" >> Doxyfile ;\
		echo "HTML_OUTPUT            = html" >> Doxyfile; \
		if test "$(DOXYGEN_LINK_WITH_KDE_QT_APIDOX)" == "YES"; then \
			if test "$(DOXYGEN_SEARCHENGINE)" == "YES"; then \
				echo "HTML_HEADER            = $(PWD)/apidocs/common/appheader.html" >> Doxyfile ;\
			else \
				echo "HTML_HEADER            = $(PWD)/apidocs/common/header.html" >> Doxyfile ;\
			fi ;\
			echo "HTML_FOOTER            = $(PWD)/apidocs/common/footer.html" >> Doxyfile ;\
			echo "HTML_STYLESHEET        = $(PWD)/apidocs/common/doxygen.css" >> Doxyfile ;\
		else \
			echo "HTML_HEADER            = " >> Doxyfile ;\
			echo "HTML_FOOTER            = " >> Doxyfile ;\
			echo "HTML_STYLESHEET        = " >> Doxyfile ;\
			echo "DISABLE_INDEX          = NO" >> Doxyfile ;\
		fi ;\
		echo "GENERATE_LATEX         = NO" >> Doxyfile ; \
		echo "LATEX_OUTPUT           = $(subdir)/latex" >> Doxyfile; \
		echo "RTF_OUTPUT             = $(subdir)/rtf" >> Doxyfile; \
		echo "GENERATE_MAN           = NO" >> Doxyfile ;\
		echo "MAN_OUTPUT             = $(subdir)/man" >> Doxyfile; \
		echo "MACRO_EXPANSION = YES" >> Doxyfile ; \
		echo "PREDEFINED = ANTLR_USE_NAMESPACE(_x_)=_x_::" >> Doxyfile ; \
		if test "$(DOXYGEN_LINK_WITH_KDE_QT_APIDOX)" == "YES"; then \
			echo "TAGFILES = \\" >> Doxyfile; \
			tags='$(DOXYGEN_REFERENCES) qt'; for tag in $$tags; do \
				tagpath= ;\
				path="../../$$tag" ;\
				if test -f $(top_builddir)/apidocs/$$tag/$$tag.tag; then \
					tagpath="$(top_builddir)/apidocs/$$tag/$$tag.tag" ;\
				else \
					tagpath=`ls -1 $(kde_htmldir)/en/*-apidocs/$$tag/$$tag.tag 2> /dev/null` ;\
					if test -n "$$tagpath"; then \
						path=`echo $$tagpath | sed -e "s,.*/\([^/]*-apidocs\)/$$tag/$$tag.tag,../../\1/$$tag,"` ;\
					else \
						tagpath=`ls -1 $(tdelibs_doxydir)/$$tag/$$tag.tag 2> /dev/null` ;\
						if test -n "$$tagpath"; then \
							path=`echo $$tagpath | sed -e "s,.*/\([^/]*-apidocs\)/$$tag/$$tag.tag,$(tdelibs_doxydir)/$$tag,"` ;\
						else \
							tagpath=/home/apidox/public/cvs-api/$$tag/$$tag.tag ;\
						fi ;\
					fi ;\
				fi ;\
				if test "$$tag" = qt; then \
					echo $$tagpath=$(TQTDOCDIR) >> Doxyfile ;\
				else if test -n "$$tagpath"; then \
					echo "$$tagpath=$$path/html \\" >> Doxyfile ;\
					fi ;\
				fi ;\
			done ;\
		fi ;\
		echo "HAVE_DOT = $(KDE_HAVE_DOT)" >> Doxyfile ; \
		echo "SEARCHENGINE = $(DOXYGEN_SEARCHENGINE)" >> Doxyfile ; \
		if test "$(DOXYGEN_LINK_WITH_KDE_QT_APIDOX)" == "YES"; then \
			rm -f $(top_builddir)/apidocs/common ; \
			if test -d $(top_srcdir)/doc/common; then \
			   common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\
			else \
			   common_dir=$(kde_libs_htmldir)/en/common ;\
			fi ;\
			$(LN_S) $$common_dir $(top_builddir)/apidocs/common ;\
		fi ;\
		$(DOXYGEN) -s -u Doxyfile ; \
		cp Doxyfile Doxyfile.in ; \
		path_to_doxyfile=$(PWD) ;\
		cd $(top_srcdir) ;\
		$(DOXYGEN) $$path_to_doxyfile/Doxyfile ; \
		cd $$path_to_doxyfile ;\
		rm -f Doxyfile; \
	fi

apidox-am-no:

## Let's only install the API documentation if the user explicitly invokes it's instalation
##install-data-local: install-apidox

## install API documentation
install-apidox:
	$(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html
	@if test -f $(top_builddir)/apidocs/$(DOXYGEN_PROJECT_NAME).tag; then \
		echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(DOXYGEN_PROJECT_NAME).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
		$(INSTALL_DATA) $(top_builddir)/apidocs/$(DOXYGEN_PROJECT_NAME).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \
	fi;
	@if test -d $(top_builddir)/apidocs/$(subdir)/html; then \
			list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \
			echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\
			for file in $$list; do \
				$(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \
			done; \
	fi;
	@if test "$(DOXYGEN_LINK_WITH_KDE_QT_APIDOX)" == "YES"; then \
		rm -f $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \
		$(LN_S) $(kde_libs_htmldir)/en/common $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \
	fi;
		@echo ""
		@echo ""
		@echo "************************* Important ***************************"
		@echo ""
		@echo "The $(PACKAGE) API documentation was successfuly installed at:"
		@echo "  $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/html"
		@echo ""

uninstall-local: uninstall-apidox

## uninstall API documentation
uninstall-apidox:
	@if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \
		echo "*** Uninstaling $(PACKAGE) API documentation" ; \
		echo "rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs" ; \
		rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \
	fi

apidox:
	$(MAKE) apidox-am-@KDE_HAS_DOXYGEN@
	@set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \
	    list='$(SUBDIRS)'; \
	    for subdir in $$list; do \
		if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am; then \
		echo "Making apidox in $$subdir"; \
		if test "$$subdir" != "."; then \
			(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no apidox) || exit 1; \
		fi ; fi ;\
	    done; \
	    for subdir in $$list; do \
		if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am; then \
		echo "Making apidox in $$subdir"; \
		if test "$$subdir" != "."; then \
			(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=yes apidox) || exit 1; \
		fi ; fi ;\
	    done; \
		if test "$(DOXYGEN_LINK_WITH_KDE_QT_APIDOX)" == "YES"; then \
			echo ""; \
			echo ""; \
			echo "******************* Important *********************"; \
			echo ""; \
			echo "Before you can browse the API documentation you MUST issue:"; \
			echo "  make install-apidox (as root)"; \
			echo ""; \
			echo "The API documentation will then be installed at:"; \
			echo "  $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/html"; \
			echo ""; \
		fi ;\
	fi

.PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox
