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,$(subst >,?,$(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),$(subst >,?,$(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."," [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."," [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."," [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."," [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."," [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."," [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."," [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."," [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."," [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."," [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_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.","[project-name]")