14344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim# =============================================================================
24344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim# DOCUMENTATION GENERATION
34344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim# =============================================================================
44344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik KimC2_ROOT := $(call my-dir)
54344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
64344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik KimC2_DOCS_ROOT := $(OUT_DIR)/target/common/docs/codec2
74344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
84344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik KimC2_OUT_TEMP := $(PRODUCT_OUT)/gen/ETC/Codec2-docs_intermediates
94344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
104344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik KimC2_DOXY := $(or $(shell command -v doxygen),\
114344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim		$(shell command -v /Applications/Doxygen.app/Contents/Resources/doxygen))
124344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
134344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kimcheck-doxygen:
144344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kimifndef C2_DOXY
154344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	$(error 'doxygen is not available')
164344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kimendif
174344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
184344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim$(C2_OUT_TEMP)/doxy-api.config: $(C2_ROOT)/docs/doxygen.config
194344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	# only document include directory, no internal sections
204344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	sed 's/\(^INPUT *=.*\)/\1include\//; \
214344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	s/\(^INTERNAL_DOCS *= *\).*/\1NO/; \
224344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	s/\(^ENABLED_SECTIONS *=.*\)INTERNAL\(.*\).*/\1\2/; \
234344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	s:\(^OUTPUT_DIRECTORY *= \)out:\1'$(OUT_DIR)':;' \
244344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim		$(C2_ROOT)/docs/doxygen.config > $@
254344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
264344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim$(C2_OUT_TEMP)/doxy-internal.config: $(C2_ROOT)/docs/doxygen.config
274344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	sed 's:\(^OUTPUT_DIRECTORY *= \)out\(.*\)api:\1'$(OUT_DIR)'\2internal:;' \
284344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim		$(C2_ROOT)/docs/doxygen.config > $@
294344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
304344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kimdocs-api: $(C2_OUT_TEMP)/doxy-api.config check-doxygen
314344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	echo API docs are building in $(C2_DOCS_ROOT)/api
324344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	rm -rf $(C2_DOCS_ROOT)/api
334344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	mkdir -p $(C2_DOCS_ROOT)/api
344344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	$(C2_DOXY) $(C2_OUT_TEMP)/doxy-api.config
354344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
364344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kimdocs-internal: $(C2_OUT_TEMP)/doxy-internal.config check-doxygen
374344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	echo Internal docs are building in $(C2_DOCS_ROOT)/internal
384344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	rm -rf $(C2_DOCS_ROOT)/internal
394344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	mkdir -p $(C2_DOCS_ROOT)/internal
404344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim	$(C2_DOXY) $(C2_OUT_TEMP)/doxy-internal.config
414344f091aebaf3aee3ff062a95a05273bd2b1c57Wonsik Kim
42a8b3ef3326b9262e193675b1c5b2b5551ebdde15Wonsik Kimdocs-all: docs-api docs-internal
43a8b3ef3326b9262e193675b1c5b2b5551ebdde15Wonsik Kim
44a8b3ef3326b9262e193675b1c5b2b5551ebdde15Wonsik Kiminclude $(call all-makefiles-under,$(call my-dir))
45