Fixed openMSX export and WIP adding first flow generators.
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 0s

This commit is contained in:
Willem Cazander 2024-07-05 20:43:18 +02:00
parent 9a0b0cbdb2
commit a71f283d1d
29 changed files with 703 additions and 415 deletions

View file

@ -1,130 +1,130 @@
MB_AUTOEXEC_SHOW_VERSION ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SHOW_VERSION,"Print OS version on boot.")
MB_AUTOEXEC_SHOW_VERSION ?= off
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_VERSION,"Print OS version on boot.")
MB_AUTOEXEC_SHOW_PATH ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SHOW_PATH,"Print search path on boot.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_PATH,"Print search path on boot.")
MB_AUTOEXEC_SHOW_INIT ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SHOW_INIT,"Print msxbuild init message on boot.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_INIT,"Print msxbuild init message on boot.")
MB_AUTOEXEC_SHOW_HOST ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SHOW_HOST,"Print host machine on boot.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_HOST,"Print host machine on boot.")
MB_AUTOEXEC_SHOW_USER ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SHOW_USER,"Print host user on boot.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_USER,"Print host user on boot.")
MB_AUTOEXEC_SHOW_FOLDER ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SHOW_FOLDER,"Print host folder on boot.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_FOLDER,"Print host folder on boot.")
MB_AUTOEXEC_SHOW_TARGET ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SHOW_TARGET,"Print host target on boot.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_TARGET,"Print host target on boot.")
MB_AUTOEXEC_STARTUP_TIMEOUT ?= 60
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_STARTUP_TIMEOUT,"Startup failure timeout of autoexec.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_STARTUP_TIMEOUT,"Startup failure timeout of autoexec.")
MB_AUTOEXEC_STARTUP_EXITCODE ?= 124
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_STARTUP_EXITCODE,"Startup failure exit code of autoexec.")
MB_DOC_MAKE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_STARTUP_EXITCODE,"Startup failure exit code of autoexec.")
MB_AUTOEXEC_SAFE_TEST_TIMEOUT ?= 120
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SAFE_TEST_TIMEOUT,"Safe test execution failure timeout.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_TEST_TIMEOUT,"Safe test execution failure timeout.")
MB_AUTOEXEC_SAFE_TEST_EXITCODE ?= 1
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SAFE_TEST_EXITCODE,"Safe test execution failure exit code.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_TEST_EXITCODE,"Safe test execution failure exit code.")
MB_AUTOEXEC_SAFE_CMD_TIMEOUT ?= 300
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SAFE_CMD_TIMEOUT,"Safe command execution failure timeout.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_CMD_TIMEOUT,"Safe command execution failure timeout.")
MB_AUTOEXEC_SAFE_CMD_EXITCODE ?= 1
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_SAFE_CMD_EXITCODE,"Safe command execution failure exit code.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_CMD_EXITCODE,"Safe command execution failure exit code.")
MB_AUTOEXEC_STARTUP_NOTE ?=
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_STARTUP_NOTE,"When set this startup note message is shown.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_STARTUP_NOTE,"When set this startup note message is shown.")
MB_AUTOEXEC_COLOR_FG ?= 151
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_COLOR_FG,"Default foreground color if none is given.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_COLOR_FG,"Default foreground color if none is given.")
MB_AUTOEXEC_COLOR_BG ?= 000
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_COLOR_BG,"Default background color if none if given.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_COLOR_BG,"Default background color if none if given.")
MB_AUTOEXEC_EMBED_VARS ?=
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_EMBED_VARS,"List of host env variables to copy to msx as 'MB_x' variable.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_EMBED_VARS,"List of host env variables to copy to msx as 'MSX_x' variables.")
MB_AUTOEXEC_EMBED_USER ?= USER
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_EMBED_USER,"Embedds this host variable to the msx as 'MK_USER' variable.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_EMBED_USER,"Embedds this host variable to the msx as 'MB_USER' variable.")
MB_AUTOEXEC_TIME_FORMAT ?= 24
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_TIME_FORMAT,"The time format the msx will get set to.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_TIME_FORMAT,"The time format the msx will get set to.")
MB_AUTOEXEC_DATE_FORMAT ?= DD/MM/YY
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_DATE_FORMAT,"The time format the msx will get set to.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_DATE_FORMAT,"The time format the msx will get set to.")
MB_AUTOEXEC_PROMPT_FORMAT ?= %MK_USER%@%_CWD%$
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_PROMPT_FORMAT,"The prompt format for command 2.40 and higher.")
MB_AUTOEXEC_PROMPT_FORMAT ?= %MB_USER%@%_CWD%*
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_PROMPT_FORMAT,"The prompt format for command 2.40 and higher.")
MB_AUTOEXEC_PROMPT_SPACE ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_AUTOEXEC_PROMPT_SPACE,"When on adds an white space after the prompt format.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_PROMPT_SPACE,"When on adds an white space after the prompt format.")
define mb_autoexec_append_cmd
echo "$(2)\r" >> $(1)/autoexec.bat
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_cmd,"Appends an command.","<dir> <command>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_cmd,"Appends an command.","<dir> <command>")
define mb_autoexec_append_echo
$(call mb_autoexec_append_cmd,$(1),echo $(subst >,&gt;,$(2)))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_echo,"Appends an echo message.","<dir> <message>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_echo,"Appends an echo message.","<dir> <message>")
define mb_autoexec_append_rem
$(call mb_autoexec_append_cmd,$(1),rem $(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_rem,"Appends an script remark.","<dir> <remark>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_rem,"Appends an script remark.","<dir> <remark>")
define mb_autoexec_append_show_gui
$(call mb_autoexec_append_cmd,$(1),omsxctl headless_show_gui)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_show_gui,"Appends headless show gui command.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_show_gui,"Appends headless show gui command.","<dir>")
define mb_autoexec_append_stop_fail
$(call mb_autoexec_append_cmd,$(1),omsxctl fail_after 0)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_stop_fail,"Appends stop automatic failure command.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_stop_fail,"Appends stop automatic failure command.","<dir>")
define mb_autoexec_append_exit
$(if $(filter on,$(MB_FLIGHT_SCREEN)),$(call mb_autoexec_append_save_screenshot,$(1)))
$(call mb_autoexec_append_cmd,$(1),omsxctl headless_exit)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_exit,"Appends exit emulation command.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_exit,"Appends exit emulation command.","<dir>")
define mb_autoexec_append_plug_porta
$(call mb_autoexec_append_cmd,$(1),omsxctl boot_exec_plug_porta $(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_plug_porta,"Appends an plug device into joyporta action.","<dir> <plug-dev>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_plug_porta,"Appends an plug device into joyporta action.","<dir> <plug-dev>")
define mb_autoexec_append_plug_portb
$(call mb_autoexec_append_cmd,$(1),omsxctl boot_exec_plug_portb $(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_plug_portb,"Appends an plug device into joyportb action.","<dir> <plug-dev>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_plug_portb,"Appends an plug device into joyportb action.","<dir> <plug-dev>")
define mb_autoexec_append_save_screenshot
$(call mb_autoexec_append_cmd,$(1),omsxctl night_flight_save_screenshot $(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_save_screenshot,"Appends save screenshot command.","<dir> [prefix]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_save_screenshot,"Appends save screenshot command.","<dir> [prefix]")
define mb_autoexec_append_save_video
$(call mb_autoexec_append_cmd,$(1),omsxctl night_flight_save_video $(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_save_video,"Appends save video command.","<dir> [prefix]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_save_video,"Appends save video command.","<dir> [prefix]")
define mb_autoexec_append_safe_test
@ -132,7 +132,7 @@ define mb_autoexec_append_safe_test
$(call mb_autoexec_append_echo,$(1),mb::safe test $(2))
$(call mb_autoexec_append_cmd,$(1),$(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_safe_test,"Appends running a safe test.","<dir> <cmd> [timeout] [exit-code]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_safe_test,"Appends running a safe test.","<dir> <cmd> [timeout] [exit-code]")
define mb_autoexec_append_safe_cmd
@ -140,7 +140,7 @@ define mb_autoexec_append_safe_cmd
$(call mb_autoexec_append_echo,$(1),mb::safe command $(2))
$(call mb_autoexec_append_cmd,$(1),$(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_safe_cmd,"Appends running a safe command.","<dir> <cmd> [timeout] [exit-code]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_append_safe_cmd,"Appends running a safe command.","<dir> <cmd> [timeout] [exit-code]")
define _mb_autoexec_write_preboot
@ -155,24 +155,25 @@ endef
define mb_autoexec_write_default
@echo === Writing autoexec.bat for $@
$(call mb_make_call,mb_make_echo_good,Write autoexec for $@)
@echo -n "" > $(1)/autoexec.bat
$(if $(wildcard $(1)/utils),$(call _mb_autoexec_write_preboot,$(1),utils\,$(2),$(3)),$(call _mb_autoexec_write_preboot,$(1),,$(2),$(3)))
$(if $(MB_AUTOEXEC_STARTUP_NOTE),$(call mb_autoexec_append_echo,$(1),mb::note $(MB_AUTOEXEC_STARTUP_NOTE)))
$(if $(filter on,$(MB_FLIGHT_VIDEO)),$(call mb_autoexec_append_save_video,$(1)))
$(if $(filter on,$(MB_AUTOEXEC_SHOW_HOST)),$(call mb_autoexec_append_cmd,$(1),omsxctl boot_exec_show_host))
echo -n "$(subst $(MB_CHAR_SPACE)set,set,$(foreach var,$(MB_AUTOEXEC_EMBED_VARS),set MB_$(var)=$($(var))\r\n))" >> $(1)/autoexec.bat
echo -n "$(subst $(MB_CHAR_SPACE)set,set,$(foreach var,$(MB_AUTOEXEC_EMBED_VARS),set MSX_$(var)=$($(var))\r\n))" >> $(1)/autoexec.bat
$(call mb_autoexec_append_cmd,$(1),set TIME=$(MB_AUTOEXEC_TIME_FORMAT))
$(call mb_autoexec_append_cmd,$(1),set DATE=$(MB_AUTOEXEC_DATE_FORMAT))
$(if $(filter on,$(MB_AUTOEXEC_SHOW_PATH)),$(call mb_autoexec_append_cmd,$(1),echo mb::path %PATH%))
$(call mb_autoexec_append_cmd,$(1),set MK_SNAIL=$(notdir $@))
$(call mb_autoexec_append_cmd,$(1),set MK_USER=$($(MB_AUTOEXEC_EMBED_USER)))
$(if $(filter on,$(MB_AUTOEXEC_SHOW_USER)),$(call mb_autoexec_append_echo,$(1),mb::user %MK_USER%))
$(call mb_autoexec_append_cmd,$(1),set MK_SLIME=$(1))
$(call mb_autoexec_append_cmd,$(1),set MK_TARGET=$@)
$(if $(filter on,$(MB_AUTOEXEC_SHOW_FOLDER)),$(call mb_autoexec_append_echo,$(1),mb::bath %MK_SLIME%))
$(if $(filter on,$(MB_AUTOEXEC_SHOW_TARGET)),$(call mb_autoexec_append_echo,$(1),mb::pipe %MK_TARGET%))
$(if $(filter on,$(MB_AUTOEXEC_PROMPT_SPACE)),$(call mb_autoexec_append_cmd,$(1),set PROMPT \"$(MB_AUTOEXEC_PROMPT_FORMAT) \"),$(call mb_autoexec_append_cmd,$(1),set PROMPT \"$(MB_AUTOEXEC_PROMPT_FORMAT)\"))
$(call mb_autoexec_append_cmd,$(1),set MB_SNAIL=$(notdir $@))
$(call mb_autoexec_append_cmd,$(1),set MB_USER=$($(MB_AUTOEXEC_EMBED_USER)))
$(if $(filter on,$(MB_AUTOEXEC_SHOW_USER)),$(call mb_autoexec_append_echo,$(1),mb::user %MB_USER%))
$(call mb_autoexec_append_cmd,$(1),set MB_SLIME=$(1))
$(call mb_autoexec_append_cmd,$(1),set MB_TARGET=$@)
$(if $(filter on,$(MB_AUTOEXEC_SHOW_FOLDER)),$(call mb_autoexec_append_echo,$(1),mb::bath %MB_SLIME%))
$(if $(filter on,$(MB_AUTOEXEC_SHOW_TARGET)),$(call mb_autoexec_append_echo,$(1),mb::pipe %MB_TARGET%))
$(if $(filter on,$(MB_AUTOEXEC_PROMPT_SPACE)),$(call mb_autoexec_append_cmd,$(1),set PROMPT \"$(value MB_AUTOEXEC_PROMPT_FORMAT)$(MB_CHAR_SPACE)\"))
$(if $(filter on,$(MB_AUTOEXEC_PROMPT_SPACE)),,$(call mb_autoexec_append_cmd,$(1),,set PROMPT \"$(value MB_AUTOEXEC_PROMPT_FORMAT)\"))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_write_default,"Write a default autoexec.bat file.","<dir> [fg-color] [bg-color]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_autoexec_write_default,"Write a default autoexec.bat file.","<dir> [fg-color] [bg-color]")

View file

@ -1,112 +1,236 @@
MB_DOC_HELP_PROJECT ?= ""
MB_DOC_HELP_TARGET ?= ""
MB_DOC_HELP_VARIABLE ?= ""
MB_DOC_HELP_FUNCTION ?= ""
MB_DOC_TXT_BUILD_ALL := "Use 'make help' for possible targets and documention."
MB_DOC_TXT_BUILD_PROJECT := "Welcome to the MSXBUILD help system.\\n\\nFor detailed help use one of the following targets;\\n"
MB_DOC_TXT_BUILD_TARGET := "Build one of the following make targets;\\n"
MB_DOC_TXT_BUILD_VARIABLE := "Documention of the make variables;\\n"
MB_DOC_TXT_BUILD_FUNCTION := "Documention of the make functions;\\n"
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_HELP_VARIABLE += $(call mb_doc_variable,MB_DOC_FORMAT,"Output format of documention$(MB_CHAR_COMMA) only 'txt' is supported currently.")
define _mb_doc_xml_open
$(MB_CHAR_LT)$(1)$(if $(2), $(2)=\"$(3)\")$(MB_CHAR_GT)
endef
define _mb_doc_xml_close
$(MB_CHAR_LT)/$(1)$(MB_CHAR_GT)
endef
define _mb_doc_xml_tag_value
$(if $(2),$(call _mb_doc_xml_open,$(1))$(MB_CHAR_CDATA_START)$(2)$(MB_CHAR_CDATA_END)$(call _mb_doc_xml_close,$(1)))
endef
define _mb_doc_function_txt
"* "$(1)$(if $(3), $(3))$(if $(2),\\n\\t$(2)\\n)\\n
endef
define _mb_doc_function_xml
\\n\\t$(call _mb_doc_xml_open,function,name,$(1))\\n\\t\\t$(call _mb_doc_xml_tag_value,args,$(3))\\n\\t\\t$(call _mb_doc_xml_tag_value,desc,$(2))\\n\\t$(call _mb_doc_xml_close,function)
endef
define mb_doc_function
$(call _mb_doc_function_$(MB_DOC_FORMAT),$(1),$(2),$(3))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_function,"Prints formatted documention of an function.","<name> [desc] [args]")
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
"* "$(1)=$(subst \\n,\\\n,$(3))\\n$(if $(2),\\t$(2)\\n)\\n
"* "$(2)=$(subst \\n,\\\n,$(4))\\n$(if $(3),\\t$(3)\\n)\\n
endef
define _mb_doc_variable_xml
\\n\\t$(call _mb_doc_xml_open,variable,name,$(1))\\n\\t\\t$(call _mb_doc_xml_tag_value,value,$(3))\\n\\t\\t$(call _mb_doc_xml_tag_value,desc,$(2))\\n\\t$(call _mb_doc_xml_close,variable)
\\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_doc_variable_$(MB_DOC_FORMAT),$(1),$(2),$($(1)))
$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),build,$(1),$(2),$($(1)))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_variable,"Prints formatted documention of an variable.","<name> [desc]")
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
"* "$(1)$(if $(2),\\n\\t$(2))\\n\\n
"* "$(2)$(if $(3),\\n\\t$(3))\\n\\n
endef
define _mb_doc_target_xml
\\n\\t$(call _mb_doc_xml_open,target,name,$(1))\\n\\t\\t$(call _mb_doc_xml_tag_value,desc,$(2))\\n\\t$(call _mb_doc_xml_close,target)
\\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_doc_target_$(MB_DOC_FORMAT),$(1),$(2))
$(call mb_make_call,_mb_doc_target_$(MB_DOC_FORMAT),build,$(1),$(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_target,"Prints formatted documention of an target.","<name> [desc]")
define _mb_doc_project_txt
"* "$(1)\\n
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
define _mb_doc_project_xml
\\n$(call _mb_doc_xml_open,project)\\n\\t$(call _mb_doc_xml_tag_value,name,$(1))\\n$(call _mb_doc_xml_close,project)
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
define mb_doc_project
$(call _mb_doc_project_$(MB_DOC_FORMAT),$(1))
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_HELP_FUNCTION += $(call mb_doc_function,mb_doc_project,"Prints formatted documention of an project (help).","<name>")
MB_DOC_FIRE_FUNCTION_FLOW += $(call mb_make_call,mb_doc_function_flow,mb_doc_flow_help,"Prints flow of fire help target.")
define mb_doc_show_help@all
@echo $(MB_DOC_TXT_BUILD_ALL)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_show_help@all,"Displays text for 'make'")
define mb_doc_show_help@project
@echo $(MB_DOC_TXT_BUILD_PROJECT)
@echo $(MB_DOC_HELP_PROJECT)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_show_help@project,"Displays text for 'make help'")
define mb_doc_show_help@target
$(if $(filter txt,$(MB_DOC_FORMAT)),@echo $(MB_DOC_TXT_BUILD_TARGET))
$(if $(filter xml,$(MB_DOC_FORMAT)),@echo $(call _mb_doc_xml_open,firemake))
@echo $(MB_DOC_HELP_TARGET)
$(if $(filter xml,$(MB_DOC_FORMAT)),@echo $(call _mb_doc_xml_close,firemake))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_show_help@target,"Displays text for 'make help@target'")
define mb_doc_show_help@variable
$(if $(filter txt,$(MB_DOC_FORMAT)),@echo $(MB_DOC_TXT_BUILD_VARIABLE))
$(if $(filter xml,$(MB_DOC_FORMAT)),@echo $(call _mb_doc_xml_open,firemake))
@echo $(MB_DOC_HELP_VARIABLE)
$(if $(filter xml,$(MB_DOC_FORMAT)),@echo $(call _mb_doc_xml_close,firemake))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_show_help@variable,"Displays text for 'make help@variable'")
define mb_doc_show_help@function
$(if $(filter txt,$(MB_DOC_FORMAT)),@echo $(MB_DOC_TXT_BUILD_FUNCTION))
$(if $(filter xml,$(MB_DOC_FORMAT)),@echo $(call _mb_doc_xml_open,firemake))
@echo $(MB_DOC_HELP_FUNCTION)
$(if $(filter xml,$(MB_DOC_FORMAT)),@echo $(call _mb_doc_xml_close,firemake))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_show_help@function,"Displays text for 'make help@function'")

View file

@ -1,21 +1,21 @@
MB_FLIGHT_SCREEN ?= off
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_SCREEN,"Creates screenshots on exit of openMSX.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_FLIGHT_SCREEN,"Creates screenshots on exit of openMSX.")
MB_FLIGHT_VIDEO ?= off
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_VIDEO,"Create video of every build pipe session.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_FLIGHT_VIDEO,"Create video of every build pipe session.")
MB_FLIGHT_PREFIX ?= msxbuild
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_PREFIX,"Prefix for video and screenshot flight files.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_FLIGHT_PREFIX,"Prefix for video and screenshot flight files.")
MB_FLIGHT_SEPERATOR ?= -
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_SEPERATOR,"File and index number seperator for flight files.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_FLIGHT_SEPERATOR,"File and index number seperator for flight files.")
MB_FLIGHT_RECORD_FLAG ?= -doublesize
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_RECORD_FLAG,"Command parameter flag of the video recorder.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_FLIGHT_RECORD_FLAG,"Command parameter flag of the video recorder.")
MB_FLIGHT_VIDEO_NAME ?= night-flight
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_VIDEO_NAME,"Video file name of the final result merged video.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_FLIGHT_VIDEO_NAME,"Video file name of the final result merged video.")
define mb_flight_video_merge
@ -24,4 +24,4 @@ define mb_flight_video_merge
ffmpeg -v quiet -y -f concat -i $(1)/$(MB_FLIGHT_VIDEO_NAME).lst -c copy $(1)/$(MB_FLIGHT_VIDEO_NAME).avi
@echo === Flight video completed
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_flight_video_merge,"Merged all flight videos to one.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_flight_video_merge,"Merged all flight videos to one.","<dir>")

99
lib/make/mb_make.mk Normal file
View file

@ -0,0 +1,99 @@
MB_MAKE_COMMA := ,
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_COMMA,"Expanded special char; comma.")
MB_MAKE_SPACE := $(subst ,, )
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_SPACE,"Expanded special char; space.")
MB_MAKE_EQUALS := =
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_EQUALS,"Expanded special char; equals.")
MB_MAKE_BRACKET_RL := "("
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_RL,"Expanded special char; bracket round left.")
MB_MAKE_BRACKET_RR := ")"
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_RR,"Expanded special char; bracket round right.")
MB_MAKE_BRACKET_SL := "["
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_SL,"Expanded special char; bracket square left.")
MB_MAKE_BRACKET_SR := "]"
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_SR,"Expanded special char; bracket square right.")
MB_MAKE_BRACKET_CL := "{"
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_CL,"Expanded special char; bracket curly left.")
MB_MAKE_BRACKET_CR := "}"
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_BRACKET_CR,"Expanded special char; bracket curly right.")
MB_MAKE_GT := ">"
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_GT,"Expanded special char; greater than.")
MB_MAKE_LT := "<"
MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_LT,"Expanded special char; lesser than.")
MB_MAKE_CDATA_START := "<![CDATA["
#skip_print_todo...MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_CDATA_START,"Expanded special char; XML cdata start.")
MB_MAKE_CDATA_END := "]]>"
#skip_print_todo...MB_DOC_FIRE_VARIABLE_ROCK += $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_CDATA_END,"Expanded special char; XML cdata end.")
MB_MAKE_ECHO_CRAYON ?= "==="
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MAKE_ECHO_CRAYON,"Crayon marker for result step output echo's.")
define mb_make_rwildcard
$(foreach d,$(wildcard $1*),$(call mb_make_rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_rwildcard,"Recursive wildcard search.","<dir> <match>")
define mb_make_call
$(if $(filter file,$(origin $(1))),$(call $(1),$(2),$(3),$(4),$(5),$(6),$(7),$(8),$(9)),$(error $(1) is not defined))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_call,"Checked origin call function wrapper.","<function> [args...]")
define mb_make_lowercase
$(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$(1)))))))))))))))))))))))))))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_lowercase,"Converts ascii string to lowercase.","<string>")
define mb_make_xml_open
$(MB_MAKE_LT)$(1)$(if $(2), $(2)=\"$(3)\")$(if $(4), $(4)=\"$(5)\")$(MB_MAKE_GT)
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_xml_open,"Print xml open tag.","<tag> [attr1-name] [attr1-value] [attr2-name] [attr2-value]")
define mb_make_xml_close
$(MB_MAKE_LT)/$(1)$(MB_MAKE_GT)
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_xml_close,"Print xml close tag.","<tag>")
define mb_make_xml_tag_value
$(if $(2),$(call mb_make_call,mb_make_xml_open,$(1))$(MB_MAKE_CDATA_START)$(2)$(MB_MAKE_CDATA_END)$(call mb_make_call,mb_make_xml_close,$(1)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_xml_tag_value,"Print xml tag with value inside.","<tag> [value]")
define mb_make_echo_good
$(if $(filter -1,$(MB_COLORS)),@echo $(MB_MAKE_ECHO_CRAYON) $(1),/usr/bin/echo -e "\x1B[32m$(MB_MAKE_ECHO_CRAYON)$$1\x1B[39m $(1)")
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_echo_good,"Echo's an message to stdout with 'green' crayon.","<message>")
define mb_make_echo_fail
$(if $(filter -1,$(MB_COLORS)),@echo $(MB_MAKE_ECHO_CRAYON) $(1),/usr/bin/echo -e "\x1B[31m$(MB_MAKE_ECHO_CRAYON)$$1\x1B[39m $(1)")
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_make_echo_fail,"Echo's an message to stdout with 'red' crayon.","<message>")
define mb_make_flow_0module
include $$(call mb_make_call,mb_make_rwildcard,$(1),*/0module.mk)
endef
MB_DOC_FIRE_FUNCTION_FLOW += $(call mb_make_call,mb_doc_function_flow,mb_make_flow_0module,"Prints flow of recursive 0module.mk include.")

View file

@ -1,9 +1,9 @@
MB_MSXHUB_API ?= https://msxhub.com/api
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXHUB_API,"Resource identifier for msxhub package rest api.")
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MSXHUB_API,"Resource identifier for msxhub package rest api.")
MB_MSXHUB_CACHE ?= $(MB_CACHE)/msxbuild/msxhub
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXHUB_CACHE,"Cache storage location.")
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MSXHUB_CACHE,"Cache storage location.")
define _mb_msxhub_file_fetch
@ -16,9 +16,9 @@ endef
# NOTE: with HDD import/export we get duplicate files after openMSX run, so force to lowercase.
define mb_msxhub_file
$(if $(wildcard $(MB_MSXHUB_CACHE)/$(2)),,$(call _mb_msxhub_file_fetch,$(MB_MSXHUB_API)/$(2)))
$(if $(wildcard $(1)/$(call _mb_lowercase,$(notdir $(2)))),,$(call mb_copy,$(MB_MSXHUB_CACHE)/$(2),$(1)/$(call _mb_lowercase,$(notdir $(2)))))
$(if $(wildcard $(1)/$(call mb_make_lowercase,$(notdir $(2)))),,$(call mb_copy,$(MB_MSXHUB_CACHE)/$(2),$(1)/$(call mb_make_lowercase,$(notdir $(2)))))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_file,"Installs msxsub packages from slug into dir.","<dir> <msxhub-slug>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxhub_file,"Installs msxsub packages from slug into dir.","<dir> <msxhub-slug>")
#
@ -28,21 +28,21 @@ define mb_msxhub_get_msxdos1_boot
$(call mb_msxhub_file,$(1),MSXDOS1/1.03-2/get/MSXDOS1/MSXDOS.SYS)
$(call mb_msxhub_file,$(1),MSXDOS1/1.03-2/get/MSXDOS1/COMMAND.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_msxdos1_boot,"Installs msxdos1 boot files into dir.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxhub_get_msxdos1_boot,"Installs msxdos1 boot files into dir.","<dir>")
define mb_msxhub_get_msxdos2_boot
$(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/MSXDOS2.SYS)
$(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/COMMAND2.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_msxdos2_boot,"Installs msxdos2 boot files into dir.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxhub_get_msxdos2_boot,"Installs msxdos2 boot files into dir.","<dir>")
define mb_msxhub_get_nextor_boot
$(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/NEXTOR.SYS)
$(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/COMMAND2.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_nextor_boot,"Installs nextor boot files into dir.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxhub_get_nextor_boot,"Installs nextor boot files into dir.","<dir>")
#
@ -57,7 +57,7 @@ define mb_msxhub_get_msxdos2_utils
$(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/XDIR.COM)
$(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/KMODE.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_msxdos2_utils,"Installs msxdos2 util files into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_msxdos2_utils,"Installs msxdos2 util files into dir.","<dir>")
define mb_msxhub_get_nextor_utils
@ -75,7 +75,7 @@ define mb_msxhub_get_nextor_utils
$(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/NEXBOOT.COM)
$(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/CONCLUS.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_nextor_utils,"Installs nextor util files into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_nextor_utils,"Installs nextor util files into dir.","<dir>")
#
@ -87,7 +87,7 @@ define mb_msxhub_get_macro80
$(call mb_msxhub_file,$(1),MACRO80/2.0-1/get/MACRO80/LIB80.COM)
$(call mb_msxhub_file,$(1),MACRO80/2.0-1/get/MACRO80/M80.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_macro80,"Installs macro80 package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_macro80,"Installs macro80 package into dir.","<dir>")
define mb_msxhub_get_z80asmuk
@ -101,7 +101,7 @@ define mb_msxhub_get_z80asmuk
$(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/ZSMPP.COM)
$(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/HEXTOBIN.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_z80asmuk,"Installs z80asmuk package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_z80asmuk,"Installs z80asmuk package into dir.","<dir>")
define mb_msxhub_get_wbass2
@ -109,14 +109,14 @@ define mb_msxhub_get_wbass2
$(call mb_msxhub_file,$(1),WBASS2/2.0-1/get/WBASS2/wbass2.bin)
$(call mb_msxhub_file,$(1),WBASS2/2.0-1/get/WBASS2/wbass2.bas)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_wbass2,"Installs wbass2 package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_wbass2,"Installs wbass2 package into dir.","<dir>")
define mb_msxhub_get_konpass
$(call mb_msxhub_file,$(1),KONPASS/1.3.0-1/get/KONPASS/KONPASS.COM)
$(call mb_msxhub_file,$(1),KONPASS/1.3.0-1/get/KONPASS/KONPASS.DAT)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_konpass,"Installs konpass package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_konpass,"Installs konpass package into dir.","<dir>")
#
@ -130,37 +130,37 @@ define mb_msxhub_get_pmarc
$(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMSET.COM)
$(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMSFX2.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_pmarc,"Installs pmarc package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_pmarc,"Installs pmarc package into dir.","<dir>")
define mb_msxhub_get_lhpack
$(call mb_msxhub_file,$(1),LHPACK/1.00-1/get/LHPACK/lhpack.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_lhpack,"Installs lhpack package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_lhpack,"Installs lhpack package into dir.","<dir>")
define mb_msxhub_get_lhext
$(call mb_msxhub_file,$(1),LHEXT/1.34-2/get/LHEXT/lhext.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_lhext,"Installs lhext package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_lhext,"Installs lhext package into dir.","<dir>")
define mb_msxhub_get_gunzip
$(call mb_msxhub_file,$(1),GUNZIP/1.1-1/get/GUNZIP/gunzip.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_gunzip,"Installs gunzip package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_gunzip,"Installs gunzip package into dir.","<dir>")
define mb_msxhub_get_tunzip
$(call mb_msxhub_file,$(1),TUNZIP/0.91-1/get/TUNZIP/tunzip.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_tunzip,"Installs tunzip package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_tunzip,"Installs tunzip package into dir.","<dir>")
define mb_msxhub_get_popcom
$(call mb_msxhub_file,$(1),POPCOM/1.00-2/get/POPCOM/popcom.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_popcom,"Installs popcom package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_popcom,"Installs popcom package into dir.","<dir>")
#
@ -169,43 +169,43 @@ MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_popcom,"Installs po
define mb_msxhub_get_make
$(call mb_msxhub_file,$(1),MAKE/2.00-1/get/MAKE/MAKE.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_make,"Installs make package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_make,"Installs make package into dir.","<dir>")
define mb_msxhub_get_adir
$(call mb_msxhub_file,$(1),ADIR/1.3-1/get/ADIR/adir.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_adir,"Installs adir package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_adir,"Installs adir package into dir.","<dir>")
define mb_msxhub_get_turbo
$(call mb_msxhub_file,$(1),TURBO/2.1-1/get/TURBO/turbo.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_turbo,"Installs turbo package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_turbo,"Installs turbo package into dir.","<dir>")
define mb_msxhub_get_baskom
$(call mb_msxhub_file,$(1),BASKOM/1.0-1/get/BASKOM/baskom.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_baskom,"Installs baskom package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_baskom,"Installs baskom package into dir.","<dir>")
define mb_msxhub_get_binldr
$(call mb_msxhub_file,$(1),BINLDR/1.0.2-1/get/BINLDR/BINLDR.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_binldr,"Installs binldr package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_binldr,"Installs binldr package into dir.","<dir>")
define mb_msxhub_get_dmphex
$(call mb_msxhub_file,$(1),DMPHEX/1.00-1/get/DMPHEX/dmphex.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_dmphex,"Installs dmphex package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_dmphex,"Installs dmphex package into dir.","<dir>")
define mb_msxhub_get_zd
$(call mb_msxhub_file,$(1),ZD/3.30-1/get/ZD/zd.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_zd,"Installs zd package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_zd,"Installs zd package into dir.","<dir>")
define mb_msxhub_get_msxdos2t
@ -233,7 +233,7 @@ define mb_msxhub_get_msxdos2t
$(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/VIEW.COM)
$(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/WC.COM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_msxdos2t,"Installs msxdos2t package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_msxdos2t,"Installs msxdos2t package into dir.","<dir>")
#
@ -242,4 +242,4 @@ MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_msxdos2t,"Installs
define mb_msxhub_get_gfxage
$(call mb_msxhub_file,$(1),GFXAGE/0.99-1/get/GFXAGE/gfxage.com)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_gfxage,"Installs gfxage package into dir.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxhub_get_gfxage,"Installs gfxage package into dir.","<dir>")

View file

@ -1,60 +1,60 @@
MB_MSXPIPE_COLOR_FG_SAFE_CMD ?= 116
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXPIPE_COLOR_FG_SAFE_CMD,"Foreground color of safe command session pipe.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_FG_SAFE_CMD,"Foreground color of safe command session pipe.")
MB_MSXPIPE_COLOR_BG_SAFE_CMD ?= 000
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXPIPE_COLOR_BG_SAFE_CMD,"Background color of safe command session pipe.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_BG_SAFE_CMD,"Background color of safe command session pipe.")
MB_MSXPIPE_COLOR_FG_SAFE_TEST ?= 511
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXPIPE_COLOR_FG_SAFE_TEST,"Foreground color of safe test session pipe.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_FG_SAFE_TEST,"Foreground color of safe test session pipe.")
MB_MSXPIPE_COLOR_BG_SAFE_TEST ?= 000
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXPIPE_COLOR_BG_SAFE_TEST,"Background color of safe test session pipe.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_BG_SAFE_TEST,"Background color of safe test session pipe.")
MB_MSXPIPE_COLOR_FG_RUN_GUI ?= 151
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXPIPE_COLOR_FG_RUN_GUI,"Foreground color of run gui session pipe.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_FG_RUN_GUI,"Foreground color of run gui session pipe.")
MB_MSXPIPE_COLOR_BG_RUN_GUI ?= 000
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXPIPE_COLOR_BG_RUN_GUI,"Background color of run gui session pipe.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_BG_RUN_GUI,"Background color of run gui session pipe.")
define mb_msxpipe_safe_cmd
$(call mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_CMD),$(MB_MSXPIPE_COLOR_BG_SAFE_CMD))
$(call mb_autoexec_append_safe_cmd,$(1),$(2))
$(call mb_autoexec_append_exit,$(1))
$(call mb_openmsx_dosctl,$(1),$(3))
$(call mb_make_call,mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_CMD),$(MB_MSXPIPE_COLOR_BG_SAFE_CMD))
$(call mb_make_call,mb_autoexec_append_safe_cmd,$(1),$(2))
$(call mb_make_call,mb_autoexec_append_exit,$(1))
$(call mb_make_call,mb_openmsx_dosctl,$(1),$(3))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxpipe_safe_cmd,"Runs openMSX and safely executes one command.","<dir> <cmd> [machine]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxpipe_safe_cmd,"Runs openMSX and safely executes one command.","<dir> <cmd> [machine]")
define mb_msxpipe_safe_test
$(call mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_TEST),$(MB_MSXPIPE_COLOR_BG_SAFE_TEST))
$(call mb_autoexec_append_safe_test,$(1),$(2))
$(call mb_autoexec_append_exit,$(1))
$(call mb_openmsx_dosctl,$(1),$(3))
$(call mb_make_call,mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_TEST),$(MB_MSXPIPE_COLOR_BG_SAFE_TEST))
$(call mb_make_call,mb_autoexec_append_safe_test,$(1),$(2))
$(call mb_make_call,mb_autoexec_append_exit,$(1))
$(call mb_make_call,mb_openmsx_dosctl,$(1),$(3))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxpipe_safe_test,"Runs openMSX and safely executes one test.","<dir> <cmd> [machine]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxpipe_safe_test,"Runs openMSX and safely executes one test.","<dir> <cmd> [machine]")
define _mb_msxpipe_run_gui
$(call mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_RUN_GUI),$(MB_MSXPIPE_COLOR_BG_RUN_GUI))
$(if $(filter mouse,$(4)),$(call mb_autoexec_append_plug_porta,$(1),$(4)))
$(call mb_autoexec_append_stop_fail,$(1))
$(call mb_autoexec_append_show_gui,$(1))
$(call mb_autoexec_append_echo,$(1),mb::help Run shutdown to exit)
$(if $(2),$(call mb_autoexec_append_echo,$(1),mb::auto command $(2)))
$(if $(2),$(call mb_autoexec_append_cmd,$(1),$(2)))
$(call mb_openmsx_dosctl,$(1),$(3))
$(call mb_make_call,mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_RUN_GUI),$(MB_MSXPIPE_COLOR_BG_RUN_GUI))
$(if $(filter mouse,$(4)),$(call mb_make_call,mb_autoexec_append_plug_porta,$(1),$(4)))
$(call mb_make_call,mb_autoexec_append_stop_fail,$(1))
$(call mb_make_call,mb_autoexec_append_show_gui,$(1))
$(call mb_make_call,mb_autoexec_append_echo,$(1),mb::help Run shutdown to exit)
$(if $(2),$(call mb_make_call,mb_autoexec_append_echo,$(1),mb::auto command $(2)))
$(if $(2),$(call mb_make_call,mb_autoexec_append_cmd,$(1),$(2)))
$(call mb_make_call,mb_openmsx_dosctl,$(1),$(3))
endef
define mb_msxpipe_run_gui
$(call _mb_msxpipe_run_gui,$(1),$(2),$(3))
$(call mb_make_call,_mb_msxpipe_run_gui,$(1),$(2),$(3))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxpipe_run_gui,"Runs openMSX forever with renderer and optionals.","<dir> [cmd] [machine]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxpipe_run_gui,"Runs openMSX forever with renderer and optionals.","<dir> [cmd] [machine]")
define mb_msxpipe_run_gui_mouse
$(call _mb_msxpipe_run_gui,$(1),$(2),$(3),mouse)
$(call mb_make_call,_mb_msxpipe_run_gui,$(1),$(2),$(3),mouse)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxpipe_run_gui_mouse,"Runs openMSX forever with renderer and mouse and optionals.","<dir> [cmd] [machine]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_msxpipe_run_gui_mouse,"Runs openMSX forever with renderer and mouse and optionals.","<dir> [cmd] [machine]")

View file

@ -1,10 +1,10 @@
# TODO: Convert pi MSX number data, the named pie slices to hyperdrive storage for distribution over red sea
MB_MSXROM_API ?= https://msxrom.distributedrebirth.love/calc-pi/v19.1
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXROM_API,"Resource identifier for msxrom pi pie named slices data.")
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MSXROM_API,"Resource identifier for msxrom pi pie named slices data.")
MB_MSXROM_CACHE ?= $(MB_CACHE)/msxbuild/msxrom
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXROM_CACHE,"Cache storage location.")
MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,mb_doc_variable_deep,MB_MSXROM_CACHE,"Cache storage location.")
define _mb_msxrom_file_fetch
@ -18,7 +18,7 @@ define mb_msxrom_file
$(if $(wildcard $(MB_MSXROM_CACHE)/$(2)),,$(call _mb_msxrom_file_fetch,$(MB_MSXROM_API)/$(2)))
$(if $(wildcard $(1)/$(notdir $(2))),,$(call mb_copy,$(MB_MSXROM_CACHE)/$(2),$(1)/$(notdir $(2))))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_file,"Installs msxroms from slug into an subdir.","<dir> <msxrom-slug>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_file,"Installs msxroms from slug into an subdir.","<dir> <msxrom-slug>")
define mb_msxrom_setup
@ -28,79 +28,79 @@ define mb_msxrom_setup
$(if $(wildcard $(1)-omsx/share/systemroms/machines),,$(call mb_mkdir,$(1)-omsx/share/systemroms/machines))
$(if $(wildcard $(1)-omsx/share/systemroms/extensions),,$(call mb_mkdir,$(1)-omsx/share/systemroms/extensions))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_setup,"Creates needed systemrom folders.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_setup,"Creates needed systemrom folders.","<dir>")
define mb_msxrom_extension_ide
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/ide240.dat)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_ide,"Installs sunrise IDE classic rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_ide,"Installs sunrise IDE classic rom.","<dir>")
define mb_msxrom_extension_ide_nextor
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/Nextor-2.1.1.SunriseIDE.ROM)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_ide_nextor,"Installs sunrise IDE nextor rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_ide_nextor,"Installs sunrise IDE nextor rom.","<dir>")
define mb_msxrom_extension_scsi_novaxis
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/novaxis.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_scsi_novaxis,"Installs Gouda SCSI novaxis rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_scsi_novaxis,"Installs Gouda SCSI novaxis rom.","<dir>")
define mb_msxrom_extension_msxdos22
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/msxdos22.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_msxdos22,"Installs msxdos 2.20 rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_msxdos22,"Installs msxdos 2.20 rom.","<dir>")
define mb_msxrom_extension_rs232
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/rs232.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_rs232,"Installs rs232 rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_rs232,"Installs rs232 rom.","<dir>")
define mb_msxrom_extension_fmpac
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/fmpac.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_fmpac,"Installs fmpac rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_fmpac,"Installs fmpac rom.","<dir>")
define mb_msxrom_extension_fmpac_en
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/fmpac_en.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_fmpac_en,"Installs fmpac english rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_fmpac_en,"Installs fmpac english rom.","<dir>")
define mb_msxrom_extension_moonsound
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/yrw801.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_moonsound,"Installs moonsound rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_moonsound,"Installs moonsound rom.","<dir>")
define mb_msxrom_extension_basickun
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,machines/sanyo/phc-70fd2_basickun.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_extension_basickun,"Installs basickun compiler rom.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_basickun,"Installs basickun compiler rom.","<dir>")
define mb_msxrom_machine_Canon_V-20
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/canon/v-20_basic-bios1.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Canon_V-20,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Canon_V-20,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Mitsubishi_ML-F80
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-f80_basic-bios1.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Mitsubishi_ML-F80,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Mitsubishi_ML-F80,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Mitsubishi_ML-FX1
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-fx1_basic-bios1.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Mitsubishi_ML-FX1,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Mitsubishi_ML-FX1,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Mitsubishi_ML-G3_ES
@ -109,13 +109,13 @@ define mb_msxrom_machine_Mitsubishi_ML-G3_ES
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_msx2sub.rom)
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_rs232.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Mitsubishi_ML-G3_ES,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Mitsubishi_ML-G3_ES,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Philips_VG_8000
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8000_basic-bios1.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Philips_VG_8000,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_VG_8000,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Philips_VG_8230
@ -123,7 +123,7 @@ define mb_msxrom_machine_Philips_VG_8230
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_disk.rom)
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_msx2sub.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Philips_VG_8230,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_VG_8230,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Philips_NMS_8250
@ -131,14 +131,14 @@ define mb_msxrom_machine_Philips_NMS_8250
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_msx2sub.rom)
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_disk.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Philips_NMS_8250,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_NMS_8250,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Toshiba_HX-21
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/toshiba/HX21-IC2.BIN)
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/toshiba/HX21-IC3.BIN)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Toshiba_HX-21,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Toshiba_HX-21,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Yamaha_AX200
@ -146,7 +146,7 @@ define mb_msxrom_machine_Yamaha_AX200
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_arabic.rom)
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_music.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Yamaha_AX200,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Yamaha_AX200,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Yamaha_YIS-503IIIR
@ -155,7 +155,7 @@ define mb_msxrom_machine_Yamaha_YIS-503IIIR
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_cpm.rom)
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_net_2.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Yamaha_YIS-503IIIR,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Yamaha_YIS-503IIIR,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Panasonic_FS-A1WSX
@ -167,7 +167,7 @@ define mb_msxrom_machine_Panasonic_FS-A1WSX
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjifont.rom)
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_msx2psub.rom)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Panasonic_FS-A1WSX,"Installs machine roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Panasonic_FS-A1WSX,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Boosted_MSX2_EN
@ -176,7 +176,7 @@ define mb_msxrom_machine_Boosted_MSX2_EN
$(call mb_msxrom_extension_moonsound,$(1))
$(call mb_msxrom_extension_basickun,$(1))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Boosted_MSX2_EN,"Installs machine and extensions roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Boosted_MSX2_EN,"Installs machine and extensions roms.","<dir>")
define mb_msxrom_machine_Boosted_MSX2+_JP
@ -184,4 +184,4 @@ define mb_msxrom_machine_Boosted_MSX2+_JP
$(call mb_msxrom_extension_moonsound,$(1))
$(call mb_msxrom_extension_basickun,$(1))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxrom_machine_Boosted_MSX2+_JP,"Installs machine and extensions roms.","<dir>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Boosted_MSX2+_JP,"Installs machine and extensions roms.","<dir>")

View file

@ -1,36 +1,36 @@
MB_OPENMSX_BOOT_TIMEOUT ?= 25
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_BOOT_TIMEOUT,"Timeout in seconds to guard for boot failures.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_BOOT_TIMEOUT,"Timeout in seconds to guard for boot failures.")
MB_OPENMSX_BOOT_OS ?= nextor
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_BOOT_OS,"The default OS to run$(MB_CHAR_COMMA) valid values are; nextor$(MB_CHAR_COMMA)msxdos1$(MB_CHAR_COMMA)msxdos2")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_BOOT_OS,"The default OS to run$(MB_CHAR_COMMA) valid values are; nextor$(MB_CHAR_COMMA)msxdos1$(MB_CHAR_COMMA)msxdos2")
MB_OPENMSX_MACHINE ?= Philips_NMS_8250
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_MACHINE,"The default MSX machine to use.",$(MB_OPENMSX_MACHINE))
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_MACHINE,"The default MSX machine to use.",$(MB_OPENMSX_MACHINE))
MB_OPENMSX_MACHINE_RAM ?= ram1mb
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_MACHINE_RAM,"Extra ram extension for machine allowed: off$(MB_CHAR_COMMA)ram16k$(MB_CHAR_COMMA)ram64k$(MB_CHAR_COMMA)ram512k$(MB_CHAR_COMMA)ram1mb$(MB_CHAR_COMMA)ram2mb$(MB_CHAR_COMMA)ram4mb")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_MACHINE_RAM,"Extra ram extension for machine allowed: off$(MB_CHAR_COMMA)ram16k$(MB_CHAR_COMMA)ram64k$(MB_CHAR_COMMA)ram512k$(MB_CHAR_COMMA)ram1mb$(MB_CHAR_COMMA)ram2mb$(MB_CHAR_COMMA)ram4mb")
MB_OPENMSX_SPEED ?= $(if $(findstring turboR,$(MB_OPENMSX_MACHINE)),100,333)
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_SPEED,"The throttled MSX emulation speed.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_SPEED,"The throttled MSX emulation speed.")
MB_OPENMSX_ARGS ?=
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_ARGS,"Extra arguments to invoke openMSX with.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_ARGS,"Extra arguments to invoke openMSX with.")
MB_OPENMSX_HDD_SIZE ?= 4m
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_HDD_SIZE,"The default fire-hdd disk image size.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_HDD_SIZE,"The default fire-hdd disk image size.")
MB_OPENMSX_SCALE_FACTOR ?= 3
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_SCALE_FACTOR,"The gui scale factor to display the emulation.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_SCALE_FACTOR,"The gui scale factor to display the emulation.")
MB_OPENMSX_THROTTLE ?= off
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_THROTTLE,"An on/off flag to control throttling globally.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_THROTTLE,"An on/off flag to control throttling globally.")
MB_OPENMSX_HEADLESS ?= on
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_HEADLESS,"Controls if openMSX starts headless.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_HEADLESS,"Controls if openMSX starts headless.")
MB_OPENMSX_RENDERER ?= SDLGL-PP
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_RENDERER,"The gui renderer used to display the window head with.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_OPENMSX_RENDERER,"The gui renderer used to display the window head with.")
define mb_openmsx_setup
@ -47,19 +47,20 @@ define mb_openmsx_setup
$(if $(wildcard $(1)-omsx/share/scripts/omsxctl.tcl),,$(call mb_msxhub_file,$(1)-omsx/share/scripts,OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.tcl))
$(if $(wildcard $(1)-omsx/share/extensions),,$(call mb_mkdir,$(1)-omsx/share/extensions))
$(if $(wildcard $(1)-omsx/share/extensions/fire-hdd.xml),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/share/extensions/fire-hdd.xml,$(1)-omsx/share/extensions))
$(call mb_msxrom_setup,$(1))
$(call mb_msxrom_extension_ide_nextor,$(1))
$(call mb_msxrom_machine_$(2),$(1))
$(call mb_make_call,mb_msxrom_setup,$(1))
$(call mb_make_call,mb_msxrom_extension_ide_nextor,$(1))
$(call mb_make_call,mb_msxrom_machine_$(2),$(1))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_openmsx_setup,"Setup openMSX local build home folder for machine.","<dir> <machine>")
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,mb_doc_function_deep,mb_openmsx_setup,"Setup openMSX local build home folder for machine.","<dir> <machine>")
define _mb_openmsx_run
@echo === openMSX Start for $@
$(call mb_make_call,mb_make_echo_good,Start openMSX! for $@ on $(2))
$(if $(wildcard $(1)-omsx/persistent/fire-hdd/untitled1/sync),,$(call mb_make_call,mb_mkdir,$(1)-omsx/persistent/fire-hdd/untitled1/sync))
BOOT_WATCHDOG=$(MB_OPENMSX_BOOT_TIMEOUT) \
FIRE_HDD_PATH="$(1)" \
FIRE_HDD_SIZE=$(MB_OPENMSX_HDD_SIZE) \
FIRE_HDD_IMAGE="$(1)-omsx/persistent/fire-hdd/untitled1/image-hda.dsk" \
FIRE_HDD_PATH_EXPORT="$(1)-omsx/persistent/fire-hdd/untitled1/sync" \
SCALE_FACTOR=$(MB_OPENMSX_SCALE_FACTOR) \
SPEED=$(MB_OPENMSX_SPEED) \
HEADLESS=$(MB_OPENMSX_HEADLESS) \
@ -81,7 +82,7 @@ define _mb_openmsx_run
$(if $(filter ram4mb,$(3)),-ext ram4mb) \
$(MB_OPENMSX_ARGS) \
-control stdio < $(1)-omsx/stdio.xml
@echo === openMSX Done for $@
rsync --checksum --recursive "$(1)-omsx/persistent/fire-hdd/untitled1/sync/" "$(1)/"
endef
@ -95,9 +96,9 @@ endef
define mb_openmsx_dosctl
$(call mb_openmsx_setup,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE)))
$(if $(wildcard $(1)/utils),$(call _mb_openmsx_dosctl_bat,$(1)/utils),$(call _mb_openmsx_dosctl_bat,$(1)))
$(if $(wildcard $(1)/command.com),,$(if $(wildcard $(1)/command2.com),,$(call mb_msxhub_get_$(MB_OPENMSX_BOOT_OS)_boot,$(1))))
$(call _mb_openmsx_run,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE)),$(if $(3),$(3),$(MB_OPENMSX_MACHINE_RAM)))
$(call mb_make_call,mb_openmsx_setup,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE)))
$(if $(wildcard $(1)/utils),$(call mb_make_call,_mb_openmsx_dosctl_bat,$(1)/utils),$(call mb_make_call,_mb_openmsx_dosctl_bat,$(1)))
$(if $(wildcard $(1)/command.com),,$(if $(wildcard $(1)/command2.com),,$(call mb_make_call,mb_msxhub_get_$(MB_OPENMSX_BOOT_OS)_boot,$(1))))
$(call mb_make_call,_mb_openmsx_run,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE)),$(if $(3),$(3),$(MB_OPENMSX_MACHINE_RAM)))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_openmsx_dosctl,"Starts openMSX with dos controller.","<dir> [machine] [mem-ext]")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_openmsx_dosctl,"Starts openMSX with dos controller.","<dir> [machine] [mem-ext]")

View file

@ -1,18 +1,18 @@
MB_SDCC_FLAG_CPU ?= -mz80
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_FLAG_CPU,"The SDCC cpu target option.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_SDCC_FLAG_CPU,"The SDCC cpu target option.")
MB_SDCC_FLAG_LD ?= --nostdinc
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_FLAG_LD,"The SDCC linker option.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_SDCC_FLAG_LD,"The SDCC linker option.")
MB_SDCC_ASZ80_FLAGS ?= -g -l -c -o
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_ASZ80_FLAGS,"The SDCC z80 asm compiler flags.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_SDCC_ASZ80_FLAGS,"The SDCC z80 asm compiler flags.")
MB_SDCC_CC_FLAGS ?=
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_CC_FLAGS,"The SDCC C compiler flags.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_SDCC_CC_FLAGS,"The SDCC C compiler flags.")
MB_SDCC_AR_FLAGS ?= -rc
MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_AR_FLAGS,"The SDCC module archive flags.")
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,MB_SDCC_AR_FLAGS,"The SDCC module archive flags.")
# TODO: Add C + mixed support;
@ -21,70 +21,70 @@ MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_AR_FLAGS,"The SDCC module
define mb_sdcc_compile_asm
@echo === SDCC Compile module asm for $(2)
$(call mb_make_call,mb_make_echo_good,SDCC Compile module asm for $(2))
$(PATH_SDCC)/sdasz80 $(MB_SDCC_ASZ80_FLAGS) $(2) $(1)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_compile_asm,"Compiles asm source code.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_compile_asm,"Compiles asm source code.","<in> <out>")
define mb_sdcc_link_asm_lib
@echo === SDCC Link module asm lib for $(2)
$(call mb_make_call,mb_make_echo_good,SDCC Link module asm lib for $(2))
$(PATH_SDCC)/sdar $(MB_SDCC_AR_FLAGS) $(1) $(2)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm_lib,"Link asm lib module.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm_lib,"Link asm lib module.","<in> <out>")
define mb_sdcc_link_asm
@echo === SDCC Link asm module at $(3) for $(2)
$(call mb_make_call,mb_make_echo_good,SDCC Link asm module at $(3) for $(2))
$(PATH_SDCC)/sdcc $(MB_SDCC_FLAG_CPU) $(MB_SDCC_CC_FLAGS) --no-std-crt0 --code-loc $(3) -o $(2) $(1)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm,"Links asm to custom code location.","<in> <out> <code-loc>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm,"Links asm to custom code location.","<in> <out> <code-loc>")
define mb_sdcc_link_asm_0000
$(call mb_sdcc_link_asm,$(1),$(2),0x0000)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm_0000,"Links asm to 0x0000.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm_0000,"Links asm to 0x0000.","<in> <out>")
define mb_sdcc_link_asm_0100
$(call mb_sdcc_link_asm,$(1),$(2),0x0100)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm_0100,"Links asm to 0x0100.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm_0100,"Links asm to 0x0100.","<in> <out>")
define mb_sdcc_link_asm_1000
$(call mb_sdcc_link_asm,$(1),$(2),0x1000)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm_1000,"Links asm to 0x1000.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm_1000,"Links asm to 0x1000.","<in> <out>")
define mb_sdcc_link_asm_4000
$(call mb_sdcc_link_asm,$(1),$(2),0x4000)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm_4000,"Links asm to 0x4000.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm_4000,"Links asm to 0x4000.","<in> <out>")
define mb_sdcc_link_asm_8000
$(call mb_sdcc_link_asm,$(1),$(2),0x8000)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm_8000,"Links asm to 0x8000.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm_8000,"Links asm to 0x8000.","<in> <out>")
define mb_sdcc_link_asm_C000
$(call mb_sdcc_link_asm,$(1),$(2),0xC000)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm_C000,"Links asm to 0xC000.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm_C000,"Links asm to 0xC000.","<in> <out>")
define mb_sdcc_link_asm_bdos
$(call mb_sdcc_link_asm_0100,$(1),$(2))
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_link_asm_bdos,"Links asm to BDOS.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_link_asm_bdos,"Links asm to BDOS.","<in> <out>")
define mb_sdcc_hex2bin
@echo === SDCC hex2bin for $(2)
$(call mb_make_call,mb_make_echo_good,SDCC hex2bin for $(2))
$(PATH_SDCC)/sdobjcopy -I ihex --output-target=binary $(1) $(2)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_sdcc_hex2bin,"Converts an hex file to binary.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_sdcc_hex2bin,"Converts an hex file to binary.","<in> <out>")

View file

@ -10,6 +10,7 @@ PATH_MSXBUILD_REAL := $(if $(realpath $(PATH_MSXBUILD)),$(realpath $(PATH_MSXBUI
# Include extra features
include $(PATH_MSXBUILD)/lib/make/mb_doc.mk
include $(PATH_MSXBUILD)/lib/make/mb_make.mk
include $(PATH_MSXBUILD)/lib/make/mb_sdcc.mk
include $(PATH_MSXBUILD)/lib/make/mb_flight.mk
include $(PATH_MSXBUILD)/lib/make/mb_msxrom.mk
@ -27,6 +28,7 @@ ifeq ($(OS),Windows_NT)
MB_ERRIGNORE = 2>NUL || true
MB_SEP=\\
MB_CACHE ?= %LOCALAPPDATA%
MB_COLORS ?= -1
else
MB_RM = rm -f
MB_RMDIR = rm -rf
@ -35,70 +37,58 @@ else
MB_ERRIGNORE = 2>/dev/null
MB_SEP=/
MB_CACHE ?= ~/.cache
MB_COLORS ?= $(shell tput colors 2> /dev/null;test $$? -eq 0 || echo "-1")
endif
# Remove space after separator
MB_PSEP = $(strip $(MB_SEP))
# Special chars call arguments (like for l80.com)
MB_CHAR_COMMA := ","
MB_CHAR_COMMA := ,
MB_CHAR_SPACE := $(subst ,, )
MB_CHAR_GT := ">"
MB_CHAR_LT := "<"
MB_CHAR_CDATA_START := "<![CDATA["
MB_CHAR_CDATA_END := "]]>"
define mb_rwildcard
$(foreach d,$(wildcard $1*),$(call mb_rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
endef
# Simple inline ascii lowercase
define _mb_lowercase
$(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$(1)))))))))))))))))))))))))))
endef
define mb_clean
@echo === Cleaning build folder
$(call mb_make_call,mb_make_echo_good,Cleaning build folder $(1))
$(MB_RMDIR) $(1)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_clean,"Removed the full folder.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_clean,"Removed the full folder.","<dir>")
define mb_mkdir
$(MB_MKDIR) $(1)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_mkdir,"Creates an folder.","<dir>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_mkdir,"Creates an folder.","<dir>")
define mb_delete
$(MB_RM) $(1)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_delete,"Deletes an file.","<file>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_delete,"Deletes an file.","<file>")
define mb_copy
$(MB_COPY) $(1) $(2)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_copy,"Copy an file.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_copy,"Copy an file.","<in> <out>")
define mb_unix2dos
unix2dos -q -n $(1) $(2)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_unix2dos,"Converts an unix file to dos.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_unix2dos,"Converts an unix file to dos.","<in> <out>")
define mb_dos2unix
dos2unix -q -n $(1) $(2)
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_dos2unix,"Converts an dos file to unix.","<in> <out>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_dos2unix,"Converts an dos file to unix.","<in> <out>")
define mb_create_dist
@echo === Creating distribution archive
$(call mb_make_call,mb_make_echo_good,Creating distribution archive $(2))
tar -czf $(2) -C $(1) `ls $(1)`
endef
MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_create_dist,"Create an distribution archive.","<dir> <artifact>")
MB_DOC_FIRE_FUNCTION += $(call mb_make_call,mb_doc_function,mb_create_dist,"Create an distribution archive.","<dir> <artifact>")