You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.6 KiB
49 lines
1.6 KiB
# =============================================================================
|
|
# DOCUMENTATION GENERATION
|
|
# =============================================================================
|
|
C2_ROOT := $(call my-dir)
|
|
|
|
C2_DOCS_ROOT := $(OUT_DIR)/target/common/docs/codec2
|
|
|
|
C2_OUT_TEMP := $(PRODUCT_OUT)/gen/ETC/Codec2-docs_intermediates
|
|
|
|
C2_DOXY := $(or $(shell command -v doxygen),\
|
|
$(shell command -v /Applications/Doxygen.app/Contents/Resources/doxygen))
|
|
|
|
.PHONY: check-doxygen
|
|
check-doxygen:
|
|
ifndef C2_DOXY
|
|
$(error 'doxygen is not available')
|
|
endif
|
|
|
|
$(C2_OUT_TEMP)/doxy-api.config: $(C2_ROOT)/docs/doxygen.config
|
|
# only document include directory, no internal sections
|
|
sed 's/\(^INPUT *=.*\)/\1include\//; \
|
|
s/\(^INTERNAL_DOCS *= *\).*/\1NO/; \
|
|
s/\(^ENABLED_SECTIONS *=.*\)INTERNAL\(.*\).*/\1\2/; \
|
|
s:\(^OUTPUT_DIRECTORY *= \)out:\1'$(OUT_DIR)':;' \
|
|
$(C2_ROOT)/docs/doxygen.config > $@
|
|
|
|
$(C2_OUT_TEMP)/doxy-internal.config: $(C2_ROOT)/docs/doxygen.config
|
|
sed 's:\(^OUTPUT_DIRECTORY *= \)out\(.*\)api:\1'$(OUT_DIR)'\2internal:;' \
|
|
$(C2_ROOT)/docs/doxygen.config > $@
|
|
|
|
.PHONY: docs-api
|
|
docs-api: $(C2_OUT_TEMP)/doxy-api.config check-doxygen
|
|
echo API docs are building in $(C2_DOCS_ROOT)/api
|
|
rm -rf $(C2_DOCS_ROOT)/api
|
|
mkdir -p $(C2_DOCS_ROOT)/api
|
|
$(C2_DOXY) $(C2_OUT_TEMP)/doxy-api.config
|
|
|
|
.PHONY: docs-internal
|
|
docs-internal: $(C2_OUT_TEMP)/doxy-internal.config check-doxygen
|
|
echo Internal docs are building in $(C2_DOCS_ROOT)/internal
|
|
rm -rf $(C2_DOCS_ROOT)/internal
|
|
mkdir -p $(C2_DOCS_ROOT)/internal
|
|
$(C2_DOXY) $(C2_OUT_TEMP)/doxy-internal.config
|
|
|
|
.PHONY: docs-all
|
|
docs-all: docs-api docs-internal
|
|
|
|
include $(call all-makefiles-under,$(call my-dir))
|