msxbuild/lib/make/mb_doc.mk

237 lines
13 KiB
Makefile
Raw Normal View History

MB_DOC_FIRE_VARIABLE_FLOW ?= ""
#*** Recursive variable: MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_VARIABLE_FLOW,"Flow builder of fire flow variable data.")
MB_DOC_FIRE_HELP ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_HELP,"Flow builder of fire help data.")
MB_DOC_FIRE_TARGET ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_TARGET,"Flow builder of fire target data.")
MB_DOC_FIRE_TARGET_DEEP ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_TARGET_DEEP,"Flow builder of fire deep target data.")
MB_DOC_FIRE_VARIABLE ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_VARIABLE,"Flow builder of fire variable data.")
MB_DOC_FIRE_VARIABLE_DEEP ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_VARIABLE_DEEP,"Flow builder of fire deep variable data.")
MB_DOC_FIRE_VARIABLE_ROCK ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_VARIABLE_ROCK,"Flow builder of fire rock variable data.")
MB_DOC_FIRE_FUNCTION ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_FUNCTION,"Flow builder of fire function data.")
MB_DOC_FIRE_FUNCTION_DEEP ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_FUNCTION_DEEP,"Flow builder of fire deep function data.")
MB_DOC_FIRE_FUNCTION_FLOW ?= ""
MB_DOC_FIRE_VARIABLE_FLOW += $(call mb_make_call,mb_doc_variable_flow,MB_DOC_FIRE_FUNCTION_FLOW,"Flow builder of fire flow function data.")
MB_DOC_XML_ROOT := firemake
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_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_variable_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_variable_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_variable_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_variable_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_variable_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_variable_deep,MB_DOC_FORMAT,"Output format of documention$(MB_MAKE_COMMA) only 'txt' is supported currently.")
define _mb_doc_variable_txt
"* "$(2)=$(subst \\n,\\\n,$(4))\\n$(if $(3),\\t$(3)\\n)\\n
endef
define _mb_doc_variable_xml
\\n\\t$(call mb_make_xml_open,variable,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_xml_tag_value,$(MB_DOC_XML_TAG_VALUE),$(4))\\n\\t\\t$(call mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_xml_close,variable)
endef
define mb_doc_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_function_deep,mb_doc_variable,"Prints formatted documention of an variable.","<name> [desc]")
define mb_doc_variable_deep
$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),deep,$(1),$(2),$($(1)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_doc_variable_deep,"Prints formatted documention of an deep variable.","<name> [desc]")
define mb_doc_variable_rock
$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),rock,$(1),$(2),$($(1)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_doc_variable_rock,"Prints formatted documention of an rock variable.","<name> [desc]")
define mb_doc_variable_flow
$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),flow,$(1),$(2),$(words $($(1))))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_doc_variable_flow,"Prints formatted documention of an flow 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_xml_open,function,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_xml_tag_value,$(MB_DOC_XML_TAG_ARGS),$(4))\\n\\t\\t$(call mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_xml_close,function)
endef
define mb_doc_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_function_deep,mb_doc_function,"Prints formatted documention of an function.","<name> [desc] [args]")
define mb_doc_function_deep
$(call mb_make_call,_mb_doc_function_$(MB_DOC_FORMAT),deep,$(1),$(2),$(3))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_doc_function_deep,"Prints formatted documention of an deep function.","<name> [desc] [args]")
define mb_doc_function_flow
$(call mb_make_call,_mb_doc_function_$(MB_DOC_FORMAT),flow,$(1),$(2),$(3))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_doc_function_flow,"Prints 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_xml_open,target,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))$(if $3,\\n\\t\\t$(call mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_xml_close,target),\\n\\t$(call mb_make_xml_close,target))
endef
define mb_doc_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_function_deep,mb_doc_target,"Prints formatted documention of an target.","<name> [desc]")
define mb_doc_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_function_deep,mb_doc_target_deep,"Prints formatted documention of an deep target.","<name> [desc]")
define mb_doc_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_function_deep,mb_doc_target_help,"Prints formatted documention of an help target.","<name> [desc]")
define mb_doc_flow_help
@help:
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Welcome to the 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_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)))
.PHONY: @help-variable
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-variable,"Lists build variables.")
@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)))
.PHONY: @help-variable-deep
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-variable-deep,"Lists deep variables.")
@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)))
.PHONY: @help-variable-rock
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-variable-rock,"Lists rock variables.")
@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)))
.PHONY: @help-variable-flow
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-variable-flow,"Lists flow variables.")
@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)))
.PHONY: @help-function
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-function,"Lists build functions.")
@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)))
.PHONY: @help-function-deep
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-function-deep,"Lists deep functions.")
@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)))
.PHONY: @help-function-flow
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-function-flow,"Lists flow functions.")
@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)))
.PHONY: @help-target
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-target,"Lists build targets.")
@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)))
.PHONY: @help-target-deep
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-target-deep,"Lists deep targets.")
@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_make_echo_good,"Variables\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,"Variables in the deep\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE_DEEP)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,"Variables hard as rock\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE_ROCK)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,"Variables defining flow\\n"))
@echo $$(MB_DOC_FIRE_VARIABLE_FLOW)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,"Functions\\n"))
@echo $$(MB_DOC_FIRE_FUNCTION)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,"Functions in the deep\\n"))
@echo $$(MB_DOC_FIRE_FUNCTION_DEEP)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,"Functions building flow\\n"))
@echo $$(MB_DOC_FIRE_FUNCTION_FLOW)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,"Targets\\n"))
@echo $$(MB_DOC_FIRE_TARGET)
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,"Targets in the deep\\n"))
@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)))
$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_make_echo_good,OK))
.PHONY: @help-all
MB_DOC_FIRE_HELP += $$(call mb_make_call,mb_doc_target_help,@help-all,"Lists all documented information.")
endef
MB_DOC_FIRE_FUNCTION_FLOW += $(call mb_make_call,mb_doc_function_flow,mb_doc_flow_help,"Prints flow of fire help target.")