msxbuild/lib/make/mb_doc.mk
Willem Cazander d7dc7b9644
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -3s
Added i18n and updated jp i18n test text.
2024-07-08 04:23:37 +02:00

302 lines
17 KiB
Makefile

MB_DOC_FIRE_VARIABLE_FLOW ?= ""
#*** Recursive variable: MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_VARIABLE_FLOW,"Flow builder of fire flow variable data.")
MB_DOC_FIRE_VARIABLE ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_VARIABLE,"Flow builder of firemake variable data.")
MB_DOC_FIRE_VARIABLE_DEEP ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_VARIABLE_DEEP,"Flow builder of makefire deep variable data.")
MB_DOC_FIRE_VARIABLE_ROCK ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_VARIABLE_ROCK,"Flow builder of makefire rock variable data.")
MB_DOC_FIRE_VARIABLE_I18N ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_VARIABLE_I18N,"Flow builder of makefire i18n variable data.")
MB_DOC_FIRE_FUNCTION ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_FUNCTION,"Flow builder of firemake function data.")
MB_DOC_FIRE_FUNCTION_DEEP ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_FUNCTION_DEEP,"Flow builder of firemake deep function data.")
MB_DOC_FIRE_FUNCTION_FLOW ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_FUNCTION_FLOW,"Flow builder of firemake flow function data.")
MB_DOC_FIRE_TARGET ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_TARGET,"Flow builder of firemake target data.")
MB_DOC_FIRE_TARGET_DEEP ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_TARGET_DEEP,"Flow builder of firemake deep target data.")
MB_DOC_FIRE_TARGET_RUN ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_TARGET_RUN,"Flow builder of firemake run target data.")
MB_DOC_FIRE_TARGET_HELP ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,_mb_doc_variable4u_flow,MB_DOC_FIRE_TARGET_HELP,"Flow builder of firemake help data.")
MB_DOC_XML_ROOT := firemake
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,_mb_doc_variable4u_rock,MB_DOC_XML_ROOT,"XML root tag for firemake output.")
MB_DOC_XML_ATTR_NAME := name
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,_mb_doc_variable4u_rock,MB_DOC_XML_ATTR_NAME,"XML name attribute for firemake output.")
MB_DOC_XML_ATTR_LEVEL := level
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,_mb_doc_variable4u_rock,MB_DOC_XML_ATTR_LEVEL,"XML level attribute for firemake output.")
MB_DOC_XML_TAG_ARGS := arguments
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,_mb_doc_variable4u_rock,MB_DOC_XML_TAG_ARGS,"XML arguments tag for firemake output.")
MB_DOC_XML_TAG_DESC := description
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,_mb_doc_variable4u_rock,MB_DOC_XML_TAG_DESC,"XML description tag for firemake output.")
MB_DOC_XML_TAG_VALUE := value
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,_mb_doc_variable4u_rock,MB_DOC_XML_TAG_VALUE,"XML value tag for firemake output.")
MB_DOC_FORMAT ?= txt
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,_mb_doc_variable4u_deep,MB_DOC_FORMAT,"Output format of documention$(MB_MAKE_COMMA) only 'txt' or 'xml' is supported.")
define _mb_doc_variable_txt
"* "$(2)=$(subst \\n,\\\n,$(subst >,?,$(4)))\\n$(if $(3),\\t$(3)\\n)\\n
endef
define _mb_doc_variable_xml
\\n\\t$(call mb_make_call,mb_make_xml_open,variable,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_VALUE),$(subst >,?,$(4)))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,variable)
endef
define _mb_doc_variable4u_deep
$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),deep,$(1),$(2),$($(1)))
endef
define _mb_doc_variable4u_rock
$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),rock,$(1),$(2),$($(1)))
endef
define _mb_doc_variable4u_flow
$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),flow,$(1),$(2),$(words $($(1))))
endef
define _mb_doc_variable4u_i18n
$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),i18n,$(1),$(2),$($(1)))
endef
define mb_doc_variable
$(eval MB_DOC_FIRE_VARIABLE += $$(call mb_make_call,_mb_doc_variable_$$(MB_DOC_FORMAT),build,$(1),$(2),$($(1))))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable,"Saves formatted documention of an variable.","<name> [desc]")
define mb_doc_variable_deep
$(eval MB_DOC_FIRE_VARIABLE_DEEP += $$(call mb_make_call,_mb_doc_variable4u_deep,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable_deep,"Saves formatted documention of an deep variable.","<name> [desc]")
define mb_doc_variable_rock
$(eval MB_DOC_FIRE_VARIABLE_ROCK += $$(call mb_make_call,_mb_doc_variable4u_rock,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable_rock,"Saves formatted documention of an rock variable.","<name> [desc]")
define mb_doc_variable_flow
$(eval MB_DOC_FIRE_VARIABLE_FLOW += $$(call mb_make_call,_mb_doc_variable4u_flow,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable_flow,"Saves formatted documention of an flow variable.","<name> [desc]")
define mb_doc_variable_i18n
$(eval MB_DOC_FIRE_VARIABLE_I18N += $$(call mb_make_call,_mb_doc_variable4u_i18n,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable_i18n,"Saves formatted documention of an i18n variable.","<name> [desc]")
define _mb_doc_function_txt
"* "$(2)$(if $(4), $(4))$(if $(3),\\n\\t$(3)\\n)\\n
endef
define _mb_doc_function_xml
\\n\\t$(call mb_make_call,mb_make_xml_open,function,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_ARGS),$(4))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,function)
endef
define _mb_doc_function4u_deep
$(call mb_make_call,_mb_doc_function_$(MB_DOC_FORMAT),deep,$(1),$(2),$(3))
endef
define _mb_doc_function4u_flow
$(call mb_make_call,_mb_doc_function_$(MB_DOC_FORMAT),flow,$(1),$(2),$(3))
endef
define mb_doc_function
$(eval MB_DOC_FIRE_FUNCTION += $$(call mb_make_call,_mb_doc_function_$$(MB_DOC_FORMAT),build,$(1),$(2),$(3)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_function,"Saves formatted documention of an function.","<name> [desc] [args]")
define mb_doc_function_deep
$(eval MB_DOC_FIRE_FUNCTION_DEEP += $$(call mb_make_call,_mb_doc_function4u_deep,$(1),$(2),$(3)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_function_deep,"Saves formatted documention of an deep function.","<name> [desc] [args]")
define mb_doc_function_flow
$(eval MB_DOC_FIRE_FUNCTION_FLOW += $$(call mb_make_call,_mb_doc_function4u_flow,$(1),$(2),$(3)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_function_flow,"Saves formatted documention of an flow function.","<name> [desc] [args]")
define _mb_doc_target_txt
"* "$(2)$(if $(3),\\n\\t$(3))\\n\\n
endef
define _mb_doc_target_xml
\\n\\t$(call mb_make_call,mb_make_xml_open,target,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))$(if $3,\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,target),\\n\\t$(call mb_make_call,mb_make_xml_close,target))
endef
define mb_doc_target
$(eval MB_DOC_FIRE_TARGET += $$(call mb_make_call,_mb_doc_target_$$(MB_DOC_FORMAT),build,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_target,"Saves formatted documention of an target.","<name> [desc]")
define mb_doc_target_deep
$(eval MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,_mb_doc_target_$$(MB_DOC_FORMAT),deep,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_target_deep,"Saves formatted documention of an deep target.","<name> [desc]")
define mb_doc_target_help
$(eval MB_DOC_FIRE_TARGET_HELP += $$(call mb_make_call,_mb_doc_target_$(MB_DOC_FORMAT),help,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_target_help,"Saves formatted documention of an help target.","<name> [desc]")
define mb_doc_target_run
$(eval MB_DOC_FIRE_TARGET_RUN += $$(call mb_make_call,_mb_doc_target_$$(MB_DOC_FORMAT),run,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_target_run,"Saves formatted documention of an run target.","<name> [desc]")
define __mb_doc_flow_help
@help:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Welcome to the $$(if $(1),$(1),MSXBUILD) help system.\\n\\nFor detailed fire help use one of the following targets;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_TARGET_HELP)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
.PHONY: @help
@help-variable:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the make fire variables;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_VARIABLE)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-variable,"Lists build variables.")
.PHONY: @help-variable
@help-variable-deep:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the deep make variables;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_VARIABLE_DEEP)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-variable-deep,"Lists deep variables.")
.PHONY: @help-variable-deep
@help-variable-rock:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the rock make variables;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_VARIABLE_ROCK)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-variable-rock,"Lists rock variables.")
.PHONY: @help-variable-rock
@help-variable-flow:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the flow make variables;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_VARIABLE_FLOW)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-variable-flow,"Lists flow variables.")
.PHONY: @help-variable-flow
@help-variable-i18n:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the i18n make variables;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_VARIABLE_I18N)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-variable-i18n,"Lists i18n variables.")
.PHONY: @help-variable-i18n
@help-function:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the make fire functions;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_FUNCTION)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-function,"Lists build functions.")
.PHONY: @help-function
@help-function-deep:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the deep make functions;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_FUNCTION_DEEP)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-function-deep,"Lists deep functions.")
.PHONY: @help-function-deep
@help-function-flow:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the flow make functions;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_FUNCTION_FLOW)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-function-flow,"Lists flow functions.")
.PHONY: @help-function-flow
@help-target:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following make fire targets;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_TARGET)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-target,"Lists build targets.")
.PHONY: @help-target
@help-target-deep:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following deep make targets;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_TARGET_DEEP)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-target-deep,"Lists deep targets.")
.PHONY: @help-target-deep
@help-target-run:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following run make targets;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
@echo $$(MB_DOC_FIRE_TARGET_RUN)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(call mb_make_call,mb_doc_target_help,@help-target-run,"Lists runnable targets.")
.PHONY: @help-target-run
@help-all:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of all fire functions/variables/targets;\\n")
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables in the deep\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE_DEEP)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables hard as rock\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE_ROCK)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables defining flow\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE_FLOW)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables for i18n letters\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE_I18N)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions\\n"))
@echo $$(MB_DOC_FIRE_FUNCTION)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions in the deep\\n"))
@echo $$(MB_DOC_FIRE_FUNCTION_DEEP)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions building flow\\n"))
@echo $$(MB_DOC_FIRE_FUNCTION_FLOW)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets\\n"))
@echo $$(MB_DOC_FIRE_TARGET)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets in the deep\\n"))
@echo $$(MB_DOC_FIRE_TARGET_DEEP)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets that run away\\n"))
@echo $$(MB_DOC_FIRE_TARGET_RUN)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets main project help\\n"))
@echo $$(MB_DOC_FIRE_TARGET_HELP)
$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,OK))
$$(call mb_make_call,mb_doc_target_help,@help-all,"Lists all documented information.")
.PHONY: @help-all
@help-firemake:
MB_DOC_FORMAT=xml $$(MAKE) -s @help-all
$$(call mb_make_call,mb_doc_target_help,@help-firemake,"Output all documention in XML for IDE integration.")
.PHONY: @help-firemake
endef
define mb_doc_flow_help
$(if $(1),,$(error $(1) missing))
$(eval $(call mb_make_call,__mb_doc_flow_help,$(1)))
endef
MB_DOC_FIRE_FUNCTION_FLOW += $(call mb_make_call,_mb_doc_function4u_flow,mb_doc_flow_help,"Prints flow of fire help target.","[project-name]")