From 7de043e43db24c2f774b481bd608e2912cc97f9d Mon Sep 17 00:00:00 2001
From: George Joseph <george.joseph@fairview5.com>
Date: Thu, 7 May 2015 13:54:35 -0600
Subject: [PATCH] doc: Make progdocs play nice with git

Moved contrib/asterisk-ng-doxygen to doc/asterisk-ng-doxygen.in

Changed /Makefile to copy asterisk-ng-doxygen.in to
asterisk-ng-doxygen then modify it with version instead of
modifying asterisk-ng-doxygen directly.  Updated clean
targets as well.

Updated /.gitignore and doc/.gitignore.

Change-Id: I38712d3e334fa4baec19d30d05de8c6f28137622
---
 .gitignore                                    |  3 ++
 Makefile                                      | 29 +++++++++++++++++--
 doc/.gitignore                                |  2 ++
 .../asterisk-ng-doxygen.in                    |  0
 4 files changed, 32 insertions(+), 2 deletions(-)
 rename contrib/asterisk-ng-doxygen => doc/asterisk-ng-doxygen.in (100%)

diff --git a/.gitignore b/.gitignore
index ed7704c340..8426c0a762 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,3 +31,6 @@ menuselect-tree
 *.pyc
 *.gcno
 *.gcda
+latex
+doxygen.log
+
diff --git a/Makefile b/Makefile
index 585e4a6a13..4ed092a0a6 100644
--- a/Makefile
+++ b/Makefile
@@ -430,6 +430,8 @@ _clean:
 	rm -f main/version.c
 	rm -f doc/core-en_US.xml
 	rm -f doc/full-en_US.xml
+	rm -f doxygen.log
+	rm -rf latex
 	@$(MAKE) -C menuselect clean
 	cp -f .cleancount .lastclean
 
@@ -445,6 +447,7 @@ distclean: $(SUBDIRS_DIST_CLEAN) _clean
 	rm -f include/asterisk/autoconfig.h
 	rm -f include/asterisk/buildopts.h
 	rm -rf doc/api
+	rm -f doc/asterisk-ng-doxygen
 	rm -f build_tools/menuselect-deps
 
 datafiles: _all doc/core-en_US.xml
@@ -742,8 +745,30 @@ webvmail:
 	@echo " +-------------------------------------------+"
 
 progdocs:
-	(cat contrib/asterisk-ng-doxygen; echo "HAVE_DOT=$(HAVEDOT)"; \
-	echo "PROJECT_NUMBER=$(ASTERISKVERSION)") | doxygen -
+# Note, Makefile conditionals must not be tabbed out. Wasted hours with that.
+	@cp doc/asterisk-ng-doxygen.in doc/asterisk-ng-doxygen
+ifeq ($(DOXYGEN),:)
+	@echo "Doxygen is not installed.  Please install and re-run the configuration script."
+else
+ifeq ($(DOT),:)
+	@echo "DOT is not installed. Doxygen will not produce any diagrams. Please install and re-run the configuration script."
+else
+	# Enable DOT
+	@echo "HAVE_DOT = YES" >> doc/asterisk-ng-doxygen
+endif
+	# Set Doxygen PROJECT_NUMBER variable
+ifneq ($(ASTERISKVERSION),UNKNOWN__and_probably_unsupported)
+	@echo "PROJECT_NUMBER = $(ASTERISKVERSION)" >> doc/asterisk-ng-doxygen
+else
+	echo "Asterisk Version is unknown, not configuring Doxygen PROJECT_NUMBER."
+endif
+	# Validate and auto-update local copy
+	@doxygen -u doc/asterisk-ng-doxygen
+	# Run Doxygen
+	@doxygen doc/asterisk-ng-doxygen
+	# Remove configuration backup file
+	@rm -f doc/asterisk-ng-doxygen.bak
+endif
 
 install-logrotate:
 	if [ ! -d "$(DESTDIR)$(ASTETCDIR)/../logrotate.d" ]; then \
diff --git a/doc/.gitignore b/doc/.gitignore
index 27acdb3249..7d534dff24 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1 +1,3 @@
 core-en_US.xml
+api
+asterisk-ng-doxygen
diff --git a/contrib/asterisk-ng-doxygen b/doc/asterisk-ng-doxygen.in
similarity index 100%
rename from contrib/asterisk-ng-doxygen
rename to doc/asterisk-ng-doxygen.in
-- 
GitLab