progdocs: Update Makefile.

In developer mode, use internal documentation as well.
This should produce no warnings. Fix yours!

In noisy mode, output all possible warnings of Doxygen.
This creates zillion of warnings. Double-check your current module!

Any warnings are in the file './doxygen.log'. Beside that, this change
avoids deprecated parameters because the configuration file for Doxygen
contains only those parameters which differ from the default. This
avoids the need to update the file on each run. Furthermore, it adds
AST_VECTOR to be expanded. Finally, the default name for that file is
Doxyfile. Therefore, let us use that!

ASTERISK-26991
ASTERISK-20259

Change-Id: I4129092a199d5e24c319a09cd088614b121015af
This commit is contained in:
Alexander Traud
2021-11-23 15:05:55 +01:00
parent a103956fc9
commit d914e14420
5 changed files with 112 additions and 1715 deletions

View File

@@ -442,7 +442,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 doc/Doxyfile
rm -f build_tools/menuselect-deps
datafiles: _all $(CORE_XMLDOC)
@@ -891,29 +891,30 @@ webvmail:
@echo " +-------------------------------------------+"
progdocs:
# 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
@cp doc/Doxyfile.in doc/Doxyfile
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
@echo "HAVE_DOT = YES" >> doc/Doxyfile
endif
# Set Doxygen PROJECT_NUMBER variable
ifneq ($(ASTERISKVERSION),UNKNOWN__and_probably_unsupported)
@echo "PROJECT_NUMBER = $(ASTERISKVERSION)" >> doc/asterisk-ng-doxygen
ifneq ($(NOISY_BUILD),yes)
@echo "EXTRACT_ALL = YES" >> doc/Doxyfile
endif
ifeq ($(AST_DEVMODE),yes)
@echo "INTERNAL_DOCS = YES" >> doc/Doxyfile
@echo "WARN_NO_PARAMDOC = YES" >> doc/Doxyfile
endif
ifeq ($(ASTERISKVERSION),UNKNOWN__and_probably_unsupported)
@echo "Asterisk Version is unknown, not configuring Doxygen PROJECT_NUMBER."
else
echo "Asterisk Version is unknown, not configuring Doxygen PROJECT_NUMBER."
@echo "PROJECT_NUMBER = $(ASTERISKVERSION)" >> doc/Doxyfile
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
@echo "Generating C-API documentation. This will take a while."
@doxygen doc/Doxyfile
@echo "Generation complete. Any warnings are in ./doxygen.log."
endif
install-logrotate:
@@ -1153,6 +1154,7 @@ check-alembic: makeopts
.PHONY: uninstall-headers
.PHONY: badshell
.PHONY: installdirs
.PHONY: progdocs
.PHONY: validate-docs
.PHONY: _clean
.PHONY: ari-stubs