diff --git a/.forgejo/workflows/run-test-asserts.yaml b/.forgejo/workflows/run-test-asserts.yaml
index 6059373..ef54a6a 100644
--- a/.forgejo/workflows/run-test-asserts.yaml
+++ b/.forgejo/workflows/run-test-asserts.yaml
@@ -11,4 +11,4 @@ jobs:
- name: Check out
uses: actions/checkout@v3
- name: Run asserts
- run: make -s -j4 assert-all
+ run: make -s -j4 bin/@assert-all
diff --git a/Makefile b/Makefile
index 0e82e2b..0b7f60b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,27 +1,13 @@
#
# Example project makefile for msxbuild.
#
+.SUFFIXES:
PATH_BIN := bin
PATH_SRC := src
-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
-MK_MODULES := $(call rwildcard, $(PATH_SRC), */0module.mk)
-BUILD_ALL := "Use 'make help' for possible targets."
-BUILD_HELP := "Use one of the following build targets;"
-.SUFFIXES:
-.PHONY: all
all:
- @echo $(BUILD_ALL)
-
-BUILD_HELP += \\n\\t* help
-.PHONY: help
-help:
- @echo $(BUILD_HELP)
-
-BUILD_HELP += \\n\\t* clean
-.PHONY: clean
-clean:
- $(call mb_clean,$(PATH_BIN))
+ $(call mb_doc_show_help@all)
+.PHONY: all
include lib/make/msxbuild.mk
-include $(MK_MODULES)
+include $(call mb_rwildcard, $(PATH_SRC), */0module.mk)
diff --git a/README.md b/README.md
index 97ec431..437141e 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,7 @@ But as always, feel free to extend it for your specific needs or contribute a fi
* Auto magic openMSX extensions and machine rom's setup
* SDCC msx build steps
* Screenshot and/or video output of full build
+* Embedded documentation of make options
## Dependencies
@@ -73,17 +74,6 @@ When you want to see whats happening do a debug run;
Current set is WIP.
-* mb_autoexec_append_cmd `
`
-* mb_autoexec_append_echo ` `
-* mb_autoexec_append_rem ` `
-* mb_autoexec_append_show_gui ``
-* mb_autoexec_append_stop_fail ``
-* mb_autoexec_append_exit ``
-* mb_autoexec_append_joyporta_mouse ``
-* mb_autoexec_append_save_screenshot ` [prefix]`
-* mb_autoexec_append_save_video ` [prefix]`
-* mb_autoexec_append_safe_test ` [timeout] [exit-code]`
-* mb_autoexec_append_safe_cmd ` [timeout] [exit-code]`
* mb_autoexec_write_default ` [text-mode]`
* mb_autoexec_show_gui40 ` [cmd]`
* mb_autoexec_show_gui40_mouse ` [cmd]`
@@ -91,76 +81,7 @@ Current set is WIP.
* mb_autoexec_show_gui80_mouse ` [cmd]`
* mb_autoexec_safe_cmd ` [text-mode]`
* mb_autoexec_safe_test ` [text-mode]`
-* mb_msxhub_file ` `
-* mb_msxhub_get_dos1_boot ``
-* mb_msxhub_get_dos2_boot ``
-* mb_msxhub_get_dos2_utils ``
-* mb_msxhub_get_nextor_boot ``
-* mb_msxhub_get_nextor_utils ``
-* mb_msxhub_get_macro80 ``
-* mb_msxhub_get_z80asmuk ``
-* mb_msxhub_get_wbass2 ``
-* mb_msxhub_get_konpass ``
-* mb_msxhub_get_pmarc ``
-* mb_msxhub_get_lhpack ``
-* mb_msxhub_get_lhext ``
-* mb_msxhub_get_gunzip ``
-* mb_msxhub_get_tunzip ``
-* mb_msxhub_get_popcom ``
-* mb_msxhub_get_make ``
-* mb_msxhub_get_adir ``
-* mb_msxhub_get_turbo ``
-* mb_msxhub_get_baskom ``
-* mb_msxhub_get_binldr ``
-* mb_msxhub_get_dmphex ``
-* mb_msxhub_get_zd ``
-* mb_msxhub_get_msxdos2t ``
-* mb_msxhub_get_gfxage ``
-* mb_msxrom_file ` `
-* mb_msxrom_setup ``
-* mb_msxrom_extension_ide ``
-* mb_msxrom_extension_ide_nextor ``
-* mb_msxrom_extension_scsi_novaxis ``
-* mb_msxrom_extension_msxdos22 ``
-* mb_msxrom_extension_rs232 ``
-* mb_msxrom_extension_fmpac ``
-* mb_msxrom_extension_fmpac_en ``
-* mb_msxrom_extension_moonsound ``
-* mb_msxrom_extension_basickun ``
-* mb_msxrom_machine_Canon_V-20 ``
-* mb_msxrom_machine_Mitsubishi_ML-F80 ``
-* mb_msxrom_machine_Mitsubishi_ML-FX1 ``
-* mb_msxrom_machine_Mitsubishi_ML-G3_ES ``
-* mb_msxrom_machine_Philips_VG_8000 ``
-* mb_msxrom_machine_Philips_VG_8230 ``
-* mb_msxrom_machine_Philips_NMS_8250 ``
-* mb_msxrom_machine_Toshiba_HX-21 ``
-* mb_msxrom_machine_Yamaha_AX200 ``
-* mb_msxrom_machine_Yamaha_YIS-503IIIR ``
-* mb_msxrom_machine_Panasonic_FS-A1WSX ``
-* mb_msxrom_machine_Boosted_MSX2_EN ``
-* mb_msxrom_machine_Boosted_MSX2+_JP ``
-* mb_openmsx_setup ` `
-* mb_openmsx_dosctl ` [machine] [mem-argu]`
-* mb_sdcc_compile_asm ` `
-* mb_sdcc_link_asm_lib ` `
-* mb_sdcc_link_asm ` `
-* mb_sdcc_link_asm_0000 ` `
-* mb_sdcc_link_asm_0100 ` `
-* mb_sdcc_link_asm_1000 ` `
-* mb_sdcc_link_asm_4000 ` `
-* mb_sdcc_link_asm_8000 ` `
-* mb_sdcc_link_asm_C000 ` `
-* mb_sdcc_link_asm_bdos ` `
-* mb_sdcc_hex2bin ` `
-* mb_clean ``
-* mb_mkdir ``
-* mb_delete ``
-* mb_copy ` `
-* mb_unix2dos ` `
-* mb_dos2unix ` `
-* mb_create_dist ` `
-* mb_create_flight_video ``
+
## Errata
diff --git a/lib/make/mb_autoexec.mk b/lib/make/mb_autoexec.mk
index 1f2be72..e0f4475 100644
--- a/lib/make/mb_autoexec.mk
+++ b/lib/make/mb_autoexec.mk
@@ -10,41 +10,63 @@ MB_AUTOEXEC_CMD_EXITCODE ?= 1
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."," ")
+
define mb_autoexec_append_echo
$(call mb_autoexec_append_cmd,$(1),echo $(subst >,>,$(2)))
endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_echo,"Appends an echo 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."," ")
+
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.","")
+
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 comand.","")
+
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.","")
+
define mb_autoexec_append_joyporta_mouse
$(call mb_autoexec_append_cmd,$(1),omsxctl plug joyporta mouse)
endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_append_joyporta_mouse,"Appends plug mouse in joyporta command.","")
+
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."," [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."," [prefix]")
+
define mb_autoexec_append_safe_test
$(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_TEST_TIMEOUT)) seconds failed_test $(if $(4),$(4),$(MB_AUTOEXEC_TEST_EXITCODE)))
$(call mb_autoexec_append_echo,$(1),Running 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."," [timeout] [exit-code]")
+
define mb_autoexec_append_safe_cmd
$(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_CMD_TIMEOUT)) seconds failed_cmd $(if $(4),$(4),$(MB_AUTOEXEC_CMD_EXITCODE)))
$(call mb_autoexec_append_echo,$(1),Running 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."," [timeout] [exit-code]")
+
define mb_autoexec_write_default
@echo === Writing autoexec.bat for $@
@echo -n "" > $(1)/autoexec.bat
@@ -61,36 +83,5 @@ define mb_autoexec_write_default
$(call mb_autoexec_append_echo,$(1),Run folder $(1))
$(call mb_autoexec_append_echo,$(1),Run target $@)
endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_write_default,"Write a default autoexec.bat file."," [text-mode]")
-define _mb_autoexec_show_gui
- $(call mb_autoexec_write_default,$(1),$(2))
- $(call mb_autoexec_append_stop_fail,$(1))
- $(call mb_autoexec_append_show_gui,$(1))
- $(if $(filter mouse,$(4)),$(call mb_autoexec_append_joyporta_mouse,$(1)))
- $(call mb_autoexec_append_echo,$(1),Type shutdown to stop emulation)
- $(if $(3),$(call mb_autoexec_append_echo,$(1),Running command: $(3)))
- $(if $(3),$(call mb_autoexec_append_cmd,$(1),$(3)))
-endef
-define mb_autoexec_show_gui40
- $(call _mb_autoexec_show_gui,$(1),40,$(2))
-endef
-define mb_autoexec_show_gui40_mouse
- $(call _mb_autoexec_show_gui,$(1),40,$(2),mouse)
-endef
-define mb_autoexec_show_gui80
- $(call _mb_autoexec_show_gui,$(1),80,$(2))
-endef
-define mb_autoexec_show_gui80_mouse
- $(call _mb_autoexec_show_gui,$(1),80,$(2),mouse)
-endef
-
-define mb_autoexec_safe_cmd
- $(call mb_autoexec_write_default,$(1),$(3))
- $(call mb_autoexec_append_safe_cmd,$(1),$(2))
- $(call mb_autoexec_append_exit,$(1))
-endef
-define mb_autoexec_safe_test
- $(call mb_autoexec_write_default,$(1),$(3))
- $(call mb_autoexec_append_safe_test,$(1),$(2))
- $(call mb_autoexec_append_exit,$(1))
-endef
diff --git a/lib/make/mb_doc.mk b/lib/make/mb_doc.mk
new file mode 100644
index 0000000..5b43e40
--- /dev/null
+++ b/lib/make/mb_doc.mk
@@ -0,0 +1,107 @@
+
+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 MSXBUILD variables;\\n"
+MB_DOC_TXT_BUILD_FUNCTION := "Documention of the MSXBUILD functions;\\n"
+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.",$(MB_DOC_FORMAT))
+
+
+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."," [desc] [args]")
+
+
+define _mb_doc_variable_txt
+ "* "$(1)=$(subst \\n,\\\n,$(3))\\n$(if $(2),\\t$(2)\\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)
+endef
+define mb_doc_variable
+ $(call _mb_doc_variable_$(MB_DOC_FORMAT),$(1),$(2),$(3))
+endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_variable,"Prints formatted documention of an variable."," [desc] [value]")
+
+# "* "$(1)$(if $(2),\\n\\t$(2))$(if $(3),\\n\\t\\tDEPS: $(3))\\n
+define _mb_doc_target_txt
+ "* "$(1)$(if $(2),\\n\\t$(2))\\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)
+endef
+define mb_doc_target
+ $(call _mb_doc_target_$(MB_DOC_FORMAT),$(1),$(2))
+endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_target,"Prints formatted documention of an target."," [desc]")
+
+
+define _mb_doc_project_txt
+ "* "$(1)\\n
+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)
+endef
+define mb_doc_project
+ $(call _mb_doc_project_$(MB_DOC_FORMAT),$(1))
+endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_doc_project,"Prints formatted documention of an project (help).","")
+
+
+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'")
diff --git a/lib/make/mb_flight.mk b/lib/make/mb_flight.mk
new file mode 100644
index 0000000..c0c828b
--- /dev/null
+++ b/lib/make/mb_flight.mk
@@ -0,0 +1,26 @@
+
+MB_FLIGHT_SCREEN ?= off
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_SCREEN,"Creates screenshots on exit of openMSX.",$(MB_FLIGHT_SCREEN))
+
+MB_FLIGHT_VIDEO ?= off
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_VIDEO,"Create video of every build pipe session.",$(MB_FLIGHT_VIDEO))
+
+MB_FLIGHT_PREFIX ?= msxbuild
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_PREFIX,"Prefix for video and screenshot flight files.",$(MB_FLIGHT_PREFIX))
+
+MB_FLIGHT_SEPERATOR ?= -
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_SEPERATOR,"File and index number seperator for flight files.",$(MB_FLIGHT_SEPERATOR))
+
+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_FLIGHT_RECORD_FLAG))
+
+MB_FLIGHT_VIDEO_NAME ?= flight-video
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_FLIGHT_VIDEO_NAME,"Video file name of the final result merged video.",$(MB_FLIGHT_VIDEO_NAME))
+
+define mb_flight_video_merge
+ @echo === Indexing flight videos
+ ls -1tr $(1)/*-omsx/videos/*.avi | awk -F "$(1)/" -v s="file '" -v e="'" '{print s$$2e}' > $(1)/$(MB_FLIGHT_VIDEO_NAME).lst
+ 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.","")
diff --git a/lib/make/mb_msxhub.mk b/lib/make/mb_msxhub.mk
index 5e6f636..83ac7f0 100644
--- a/lib/make/mb_msxhub.mk
+++ b/lib/make/mb_msxhub.mk
@@ -1,6 +1,9 @@
-MB_MSXHUB_API ?= https://msxhub.com/api
-MB_MSXHUB_CACHE ?= $(MB_CACHE)/msxbuild/msxhub
+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_MSXHUB_API))
+
+MB_MSXHUB_CACHE ?= $(MB_CACHE)/msxbuild/msxhub
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXHUB_CACHE,"Cache storage location.",$(MB_MSXHUB_CACHE))
define _mb_msxhub_file_fetch
@echo === Fetch msxhub file
@@ -13,27 +16,33 @@ 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)))))
endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_file,"Installs msxsub packages from slug into dir."," ")
#
# Operating System (minimal)
#
-define mb_msxhub_get_dos1_boot
+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
-define mb_msxhub_get_dos2_boot
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_msxhub_get_msxdos1_boot,"Installs msxdos1 boot files into 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.","")
+
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.","")
#
# Native OS utils
#
-define mb_msxhub_get_dos2_utils
+define mb_msxhub_get_msxdos2_utils
$(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/CHKDSK.COM)
$(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/DISKCOPY.COM)
$(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/FIXDISK.COM)
@@ -42,6 +51,7 @@ define mb_msxhub_get_dos2_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.","")
define mb_msxhub_get_nextor_utils
$(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DELALL.COM)
$(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DEVINFO.COM)
@@ -57,6 +67,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.","")
#
# Compilers
@@ -67,6 +78,8 @@ 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.","")
+
define mb_msxhub_get_z80asmuk
$(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/BINTOASM.COM)
$(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/DUMP.COM)
@@ -78,15 +91,20 @@ 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.","")
+
define mb_msxhub_get_wbass2
$(call mb_msxhub_file,$(1),WBASS2/2.0-1/get/WBASS2/zoekram.bin)
$(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.","")
+
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.","")
#
# Compressors
@@ -99,21 +117,32 @@ 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.","")
+
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.","")
+
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.","")
+
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.","")
+
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.","")
+
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.","")
#
# Tools
@@ -121,24 +150,38 @@ endef
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.","")
+
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.","")
+
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.","")
+
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.","")
+
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.","")
+
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.","")
+
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.","")
+
define mb_msxhub_get_msxdos2t
$(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/ADDAUX.COM)
$(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BEEP.COM)
@@ -164,6 +207,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.","")
#
# Graphics editors
@@ -171,3 +215,4 @@ endef
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.","")
diff --git a/lib/make/mb_msxpipe.mk b/lib/make/mb_msxpipe.mk
new file mode 100644
index 0000000..6ab0272
--- /dev/null
+++ b/lib/make/mb_msxpipe.mk
@@ -0,0 +1,44 @@
+
+# TODO: rename
+
+define mb_autoexec_safe_cmd
+ $(call mb_autoexec_write_default,$(1),$(3))
+ $(call mb_autoexec_append_safe_cmd,$(1),$(2))
+ $(call mb_autoexec_append_exit,$(1))
+endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_safe_cmd,"Runs openMSX and safely executes a command."," [text-mode]")
+
+define mb_autoexec_safe_test
+ $(call mb_autoexec_write_default,$(1),$(3))
+ $(call mb_autoexec_append_safe_test,$(1),$(2))
+ $(call mb_autoexec_append_exit,$(1))
+endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_autoexec_safe_test,"Runs openMSX and safely executes a test."," [text-mode]")
+
+define _mb_autoexec_show_gui
+ $(call mb_autoexec_write_default,$(1),$(2))
+ $(call mb_autoexec_append_stop_fail,$(1))
+ $(call mb_autoexec_append_show_gui,$(1))
+ $(if $(filter mouse,$(4)),$(call mb_autoexec_append_joyporta_mouse,$(1)))
+ $(call mb_autoexec_append_echo,$(1),Type shutdown to stop emulation)
+ $(if $(3),$(call mb_autoexec_append_echo,$(1),Running command: $(3)))
+ $(if $(3),$(call mb_autoexec_append_cmd,$(1),$(3)))
+endef
+
+define mb_autoexec_show_gui40
+ $(call _mb_autoexec_show_gui,$(1),40,$(2))
+endef
+
+define mb_autoexec_show_gui40_mouse
+ $(call _mb_autoexec_show_gui,$(1),40,$(2),mouse)
+endef
+
+define mb_autoexec_show_gui80
+ $(call _mb_autoexec_show_gui,$(1),80,$(2))
+endef
+
+define mb_autoexec_show_gui80_mouse
+ $(call _mb_autoexec_show_gui,$(1),80,$(2),mouse)
+endef
+
+
diff --git a/lib/make/mb_msxrom.mk b/lib/make/mb_msxrom.mk
index d99701f..795f737 100644
--- a/lib/make/mb_msxrom.mk
+++ b/lib/make/mb_msxrom.mk
@@ -1,7 +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_MSXROM_CACHE ?= $(MB_CACHE)/msxbuild/msxrom
+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_MSXROM_API))
+
+MB_MSXROM_CACHE ?= $(MB_CACHE)/msxbuild/msxrom
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_MSXROM_CACHE,"Cache storage location.",$(MB_MSXROM_CACHE))
define _mb_msxrom_file_fetch
@echo === Fetch msxrom file
@@ -13,6 +16,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."," ")
define mb_msxrom_setup
$(if $(wildcard $(1)-omsx),,$(call mb_mkdir,$(1)-omsx))
@@ -21,54 +25,67 @@ 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.","")
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.","")
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.","")
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.","")
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.","")
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.","")
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.","")
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.","")
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.","")
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.","")
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.","")
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.","")
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.","")
define mb_msxrom_machine_Mitsubishi_ML-G3_ES
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_basic-bios2.rom)
@@ -76,33 +93,39 @@ 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.","")
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.","")
define mb_msxrom_machine_Philips_VG_8230
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_basic-bios2.rom)
$(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.","")
define mb_msxrom_machine_Philips_NMS_8250
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_basic-bios2.rom)
$(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.","")
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.","")
define mb_msxrom_machine_Yamaha_AX200
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_basic-bios1.rom)
$(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.","")
define mb_msxrom_machine_Yamaha_YIS-503IIIR
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_basic-bios2.rom)
@@ -110,6 +133,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.","")
define mb_msxrom_machine_Panasonic_FS-A1WSX
$(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_basic-bios2p.rom)
@@ -120,6 +144,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.","")
define mb_msxrom_machine_Boosted_MSX2_EN
$(call mb_msxrom_machine_Philips_NMS_8250,$(1))
@@ -127,10 +152,12 @@ 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.","")
define mb_msxrom_machine_Boosted_MSX2+_JP
$(call mb_msxrom_machine_Panasonic_FS-A1WSX,$(1))
$(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.","")
diff --git a/lib/make/mb_openmsx.mk b/lib/make/mb_openmsx.mk
index a999e88..1621a36 100644
--- a/lib/make/mb_openmsx.mk
+++ b/lib/make/mb_openmsx.mk
@@ -1,17 +1,41 @@
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_OPENMSX_BOOT_TIMEOUT))
+
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_OPENMSX_BOOT_OS))
+
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_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_OPENMSX_MACHINE_RAM))
+
MB_OPENMSX_SPEED ?= $(if $(findstring turboR,$(MB_OPENMSX_MACHINE)),100,333)
-MB_OPENMSX_EXTS ?=
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_SPEED,"The throttled MSX emulation speed.",$(MB_OPENMSX_SPEED))
+
+MB_OPENMSX_ARGS ?=
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_ARGS,"Extra arguments to invoke openMSX with.",$(MB_OPENMSX_ARGS))
+
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_OPENMSX_HDD_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_OPENMSX_SCALE_FACTOR))
+
MB_OPENMSX_THROTTLE ?= off
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_THROTTLE,"An on/off flag to control throttling globally.",$(MB_OPENMSX_THROTTLE))
+
MB_OPENMSX_HEADLESS ?= on
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_OPENMSX_HEADLESS,"Controls if openMSX starts headless.",$(MB_OPENMSX_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_OPENMSX_RENDERER))
+
MB_OPENMSX_VDP_FG ?= 151
MB_OPENMSX_VDP_BG ?= 000
+
define mb_openmsx_setup
$(if $(wildcard $(1)-omsx),,$(call mb_mkdir,$(1)-omsx))
$(if $(wildcard $(1)-omsx/stdio.xml),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/stdio.xml,$(1)-omsx))
@@ -30,6 +54,7 @@ define mb_openmsx_setup
$(call mb_msxrom_extension_ide_nextor,$(1))
$(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."," ")
define _mb_openmsx_run
@echo === openMSX Start for $@
@@ -52,8 +77,13 @@ define _mb_openmsx_run
-machine $(2) \
-ext slotexpander \
-ext fire-hdd \
- $(if $(3),$(3),-ext ram4mb) \
- $(MB_OPENMSX_EXTS) \
+ $(if $(filter ram16k,$(3)),-ext ram16k) \
+ $(if $(filter ram64k,$(3)),-ext ram64k) \
+ $(if $(filter ram512k,$(3)),-ext ram512k) \
+ $(if $(filter ram1mb,$(3)),-ext ram1mb) \
+ $(if $(filter ram4mb,$(3)),-ext ram2mb) \
+ $(if $(filter ram4mb,$(3)),-ext ram4mb) \
+ $(MB_OPENMSX_ARGS) \
-control stdio < $(1)-omsx/stdio.xml
@echo === openMSX Done for $@
endef
@@ -69,5 +99,6 @@ define mb_openmsx_dosctl
$(if $(wildcard $(1)/utils),$(call _mb_openmsx_dosctl_bat,$(1)/utils),$(call _mb_openmsx_dosctl_bat,$(1)))
$(if $(wildcard $(1)/omsxctl.com),,$(call mb_msxhub_file,$(1),OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.com))
$(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)),$(3))
+ $(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."," [machine] [mem-ext]")
diff --git a/lib/make/mb_sdcc.mk b/lib/make/mb_sdcc.mk
index 033aa9d..7bf06c1 100644
--- a/lib/make/mb_sdcc.mk
+++ b/lib/make/mb_sdcc.mk
@@ -1,55 +1,80 @@
-MB_SDCC_FLAG_CPU ?= -mz80
-MB_SDCC_FLAG_LD ?= --nostdinc
-MB_SDCC_ASZ80_FLAGS ?= -g -l -c -o
-MB_SDCC_CC_FLAGS ?=
-MB_SDCC_AR_FLAGS ?= -rc
-MB_SDCC_CC_CMD ?= $(PATH_SDCC)/sdcc
-MB_SDCC_ASZ80_CMD ?= $(PATH_SDCC)/sdasz80
-MB_SDCC_AR_CMD ?= $(PATH_SDCC)/sdar
-MB_SDCC_OBJCOPY_CMD ?= $(PATH_SDCC)/sdobjcopy
+MB_SDCC_FLAG_CPU ?= -mz80
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_FLAG_CPU,"The SDCC cpu target option.",$(MB_SDCC_FLAG_CPU))
+
+MB_SDCC_FLAG_LD ?= --nostdinc
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_FLAG_LD,"The SDCC linker option.",$(MB_SDCC_FLAG_LD))
+
+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_SDCC_ASZ80_FLAGS))
+
+MB_SDCC_CC_FLAGS ?=
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_CC_FLAGS,"The SDCC C compiler flags.",$(MB_SDCC_CC_FLAGS))
+
+MB_SDCC_AR_FLAGS ?= -rc
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,MB_SDCC_AR_FLAGS,"The SDCC module archive flags.",$(MB_SDCC_AR_FLAGS))
+
# TODO: Add C + mixed support;
#$(MB_SDASM) -I$(MB_LIBASM_SRC)/include
#-l$(LIBASM_LINK)
+
define mb_sdcc_compile_asm
@echo === SDCC Compile module asm for $(2)
- $(MB_SDCC_ASZ80_CMD) $(MB_SDCC_ASZ80_FLAGS) $(2) $(1)
+ $(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."," ")
define mb_sdcc_link_asm_lib
@echo === SDCC Link module asm lib for $(2)
- $(MB_SDCC_AR_CMD) $(MB_SDCC_AR_FLAGS) $(1) $(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."," ")
define mb_sdcc_link_asm
@echo === SDCC Link asm module at $(3) for $(2)
- $(MB_SDCC_CC_CMD) $(MB_SDCC_FLAG_CPU) $(MB_SDCC_CC_FLAGS) --no-std-crt0 --code-loc $(3) -o $(2) $(1)
+ $(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."," ")
+
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."," ")
+
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."," ")
+
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."," ")
+
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."," ")
+
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."," ")
+
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."," ")
+
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."," ")
define mb_sdcc_hex2bin
@echo === SDCC hex2bin for $(2)
- $(MB_SDCC_OBJCOPY_CMD) -I ihex --output-target=binary $(1) $(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."," ")
diff --git a/lib/make/msxbuild.mk b/lib/make/msxbuild.mk
index 8b64a66..acb6dc5 100644
--- a/lib/make/msxbuild.mk
+++ b/lib/make/msxbuild.mk
@@ -8,13 +8,16 @@ PATH_OPENMSX ?= /usr/bin
PATH_MSXBUILD ?= $(dir $(lastword $(MAKEFILE_LIST)))../..
PATH_MSXBUILD_REAL := $(if $(realpath $(PATH_MSXBUILD)),$(realpath $(PATH_MSXBUILD)),$(PATH_MSXBUILD))
-# Fill other defaults
-MB_FLIGHT_SCREEN ?= off
-MB_FLIGHT_VIDEO ?= off
-MB_FLIGHT_PREFIX ?= msxbuild
-MB_FLIGHT_SEPERATOR ?= -
-MB_FLIGHT_RECORD_FLAG ?= -doublesize
-MB_FLIGHT_VIDEO_NAME ?= flight-video
+# Include extra features
+include $(PATH_MSXBUILD)/lib/make/mb_doc.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
+include $(PATH_MSXBUILD)/lib/make/mb_msxhub.mk
+include $(PATH_MSXBUILD)/lib/make/mb_msxpipe.mk
+include $(PATH_MSXBUILD)/lib/make/mb_openmsx.mk
+include $(PATH_MSXBUILD)/lib/make/mb_autoexec.mk
# OS cmds
ifeq ($(OS),Windows_NT)
@@ -38,8 +41,16 @@ endif
# Remove space after separator
MB_PSEP = $(strip $(MB_SEP))
-# Needed for comma in call arguments (like for l80.com)
-MB_COMMA:=,
+# Special chars call arguments (like for l80.com)
+MB_CHAR_COMMA := ","
+MB_CHAR_GT := ">"
+MB_CHAR_LT := "<"
+MB_CHAR_CDATA_START := ""
+
+define mb_rwildcard
+ $(foreach d,$(wildcard $1*),$(call mb_rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+endef
# Simple inline ascii lowercase
define _mb_lowercase
@@ -50,35 +61,35 @@ define mb_clean
@echo === Cleaning build folder
$(if $(wildcard $(1)),$(MB_RMDIR) $(1))
endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_clean,"Removed the full folder.","")
+
define mb_mkdir
$(MB_MKDIR) $(1)
endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_mkdir,"Creates an folder.","")
+
define mb_delete
$(if $(wildcard $(1)),$(MB_RM) $(1))
endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_delete,"Deletes an file.","")
+
define mb_copy
$(MB_COPY) $(1) $(2)
endef
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_copy,"Copy an file."," ")
+
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."," ")
+
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."," ")
+
define mb_create_dist
@echo === Creating distribution archive
tar -czf $(2) -C $(1) `ls $(1)`
endef
-define mb_create_flight_video
- @echo === Indexing flight videos
- ls -1tr $(1)/*-omsx/videos/*.avi | awk -F "$(1)/" -v s="file '" -v e="'" '{print s$$2e}' > $(1)/$(MB_FLIGHT_VIDEO_NAME).lst
- 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
-
-# Include extra features
-include $(PATH_MSXBUILD)/lib/make/mb_sdcc.mk
-include $(PATH_MSXBUILD)/lib/make/mb_msxrom.mk
-include $(PATH_MSXBUILD)/lib/make/mb_msxhub.mk
-include $(PATH_MSXBUILD)/lib/make/mb_openmsx.mk
-include $(PATH_MSXBUILD)/lib/make/mb_autoexec.mk
+MB_DOC_HELP_FUNCTION += $(call mb_doc_function,mb_create_dist,"Create an distribution archive."," ")
diff --git a/src/0module.mk b/src/0module.mk
new file mode 100644
index 0000000..4544789
--- /dev/null
+++ b/src/0module.mk
@@ -0,0 +1,19 @@
+
+help:
+ $(call mb_doc_show_help@project)
+.PHONY: help
+
+help@target:
+ $(call mb_doc_show_help@target)
+MB_DOC_HELP_PROJECT += $(call mb_doc_project,help@target)
+.PHONY: help@target
+
+help@function:
+ $(call mb_doc_show_help@function)
+MB_DOC_HELP_PROJECT += $(call mb_doc_project,help@function)
+.PHONY: help@function
+
+help@variable:
+ $(call mb_doc_show_help@variable)
+MB_DOC_HELP_PROJECT += $(call mb_doc_project,help@variable)
+.PHONY: help@variable
diff --git a/src/0module/0module.mk b/src/0module/0module.mk
new file mode 100644
index 0000000..e5e344c
--- /dev/null
+++ b/src/0module/0module.mk
@@ -0,0 +1,3 @@
+
+$(PATH_BIN):
+ $(call mb_mkdir,$(PATH_BIN))
diff --git a/src/0module/assert-all/0module.mk b/src/0module/assert-all/0module.mk
new file mode 100644
index 0000000..9f9b4d1
--- /dev/null
+++ b/src/0module/assert-all/0module.mk
@@ -0,0 +1,15 @@
+
+ASSERT_ALL_DEPS := \
+bin/ahello-m80-test/@assert \
+bin/ahello-sdcc-test/@assert \
+bin/dist-qa-dos1/@assert \
+bin/dist-qa-dos2/@assert \
+bin/dist-qa-msx1/@assert \
+bin/dist-qa-msxhub/@assert \
+bin/make-on-msx/@assert
+
+$(PATH_BIN)/@assert-all: | $(ASSERT_ALL_DEPS)
+ @echo === All assertions completed
+ $(if $(filter on,$(MB_FLIGHT_VIDEO)),$(call mb_flight_video_merge,$(PATH_BIN)))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(PATH_BIN)/@assert-all,"Asserts all assertions tests.")
+.PHONY: $(PATH_BIN)/@assert-all
diff --git a/src/0module/clean/0module.mk b/src/0module/clean/0module.mk
new file mode 100644
index 0000000..a440e3e
--- /dev/null
+++ b/src/0module/clean/0module.mk
@@ -0,0 +1,5 @@
+
+$(PATH_BIN)/@clean:
+ $(call mb_clean,$(PATH_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(PATH_BIN)/@clean,"Clean's the build folder.")
+.PHONY: $(PATH_BIN)/@clean
diff --git a/src/0module/prepare/0module.mk b/src/0module/prepare/0module.mk
new file mode 100644
index 0000000..c26637c
--- /dev/null
+++ b/src/0module/prepare/0module.mk
@@ -0,0 +1,5 @@
+
+$(PATH_BIN)/@prepare: | $(PATH_BIN)
+ @echo === Prepare $(PATH_BIN)
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(PATH_BIN)/@prepare,"Virtual prepare phase of binary folder.")
+.PHONY: $(PATH_BIN)/@prepare
diff --git a/src/ahello-m80-test/0module.mk b/src/ahello-m80-test/0module.mk
index 5b0e106..25bc2cf 100644
--- a/src/ahello-m80-test/0module.mk
+++ b/src/ahello-m80-test/0module.mk
@@ -3,22 +3,22 @@ AHELLO_M80_TEST_MOD := ahello-m80-test
AHELLO_M80_TEST_SRC := $(PATH_SRC)/$(AHELLO_M80_TEST_MOD)
AHELLO_M80_TEST_BIN := $(PATH_BIN)/$(AHELLO_M80_TEST_MOD)
-$(AHELLO_M80_TEST_BIN):
+$(AHELLO_M80_TEST_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(AHELLO_M80_TEST_BIN))
$(AHELLO_M80_TEST_BIN)/ahello.com: $(AHELLO_M80_BIN)/ahello.com | $(AHELLO_M80_TEST_BIN)
$(call mb_copy,$<,$@)
-BUILD_HELP += \\n\\t* $(AHELLO_M80_TEST_BIN)/@run
-.PHONY: $(AHELLO_M80_TEST_BIN)/@run
$(AHELLO_M80_TEST_BIN)/@run: | $(AHELLO_M80_TEST_BIN)/ahello.com
$(call mb_autoexec_show_gui80,$(AHELLO_M80_TEST_BIN))
$(call mb_openmsx_dosctl,$(AHELLO_M80_TEST_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_M80_TEST_BIN)/@run,"Run binaries from ahello-m80.")
+.PHONY: $(AHELLO_M80_TEST_BIN)/@run
-BUILD_HELP += \\n\\t* $(AHELLO_M80_TEST_BIN)/@assert
-.PHONY: $(AHELLO_M80_TEST_BIN)/@assert
$(AHELLO_M80_TEST_BIN)/@assert: | $(AHELLO_M80_TEST_BIN)/ahello.com
$(call mb_delete,$(AHELLO_M80_TEST_BIN)/ahello.out)
$(call mb_autoexec_safe_test,$(AHELLO_M80_TEST_BIN),ahello > ahello.out)
$(call mb_openmsx_dosctl,$(AHELLO_M80_TEST_BIN))
grep "M80: Hello world..." $(AHELLO_M80_TEST_BIN)/ahello.out
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_M80_TEST_BIN)/@assert,"Assert binaries from ahello-m80.")
+.PHONY: $(AHELLO_M80_TEST_BIN)/@assert
diff --git a/src/ahello-m80/0module.mk b/src/ahello-m80/0module.mk
index 223f067..a500043 100644
--- a/src/ahello-m80/0module.mk
+++ b/src/ahello-m80/0module.mk
@@ -3,7 +3,7 @@ AHELLO_M80_MOD := ahello-m80
AHELLO_M80_SRC := $(PATH_SRC)/$(AHELLO_M80_MOD)
AHELLO_M80_BIN := $(PATH_BIN)/$(AHELLO_M80_MOD)
-$(AHELLO_M80_BIN):
+$(AHELLO_M80_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(AHELLO_M80_BIN))
$(call mb_mkdir,$(AHELLO_M80_BIN)/utils)
$(call mb_msxhub_get_macro80,$(AHELLO_M80_BIN)/utils)
@@ -17,16 +17,16 @@ $(AHELLO_M80_BIN)/ahello.rel: $(AHELLO_M80_BIN)/ahello.mac
$(call mb_openmsx_dosctl,$(AHELLO_M80_BIN))
$(AHELLO_M80_BIN)/ahello.hex: $(AHELLO_M80_BIN)/ahello.rel
- $(call mb_autoexec_safe_cmd,$(AHELLO_M80_BIN),l80 ahello$(MB_COMMA)ahello/N/X/Y/E)
+ $(call mb_autoexec_safe_cmd,$(AHELLO_M80_BIN),l80 ahello$(MB_CHAR_COMMA)ahello/N/X/Y/E)
$(call mb_openmsx_dosctl,$(AHELLO_M80_BIN))
-BUILD_HELP += \\n\\t* $(AHELLO_M80_BIN)/ahello.com
$(AHELLO_M80_BIN)/ahello.com: | $(AHELLO_M80_BIN)/ahello.hex
$(call mb_autoexec_safe_cmd,$(AHELLO_M80_BIN),hextocom ahello)
$(call mb_openmsx_dosctl,$(AHELLO_M80_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_M80_BIN)/ahello.com,"Compiles hello world with macro80.")
-BUILD_HELP += \\n\\t* $(AHELLO_M80_BIN)/@run
-.PHONY: $(AHELLO_M80_BIN)/@run
$(AHELLO_M80_BIN)/@run: | $(AHELLO_M80_BIN)/ahello.com
$(call mb_autoexec_show_gui80,$(AHELLO_M80_BIN))
$(call mb_openmsx_dosctl,$(AHELLO_M80_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_M80_BIN)/@run,"Run the compiled hello world from macro80.")
+.PHONY: $(AHELLO_M80_BIN)/@run
diff --git a/src/ahello-sdcc-test/0module.mk b/src/ahello-sdcc-test/0module.mk
index 238379e..ae5f64b 100644
--- a/src/ahello-sdcc-test/0module.mk
+++ b/src/ahello-sdcc-test/0module.mk
@@ -3,22 +3,22 @@ AHELLO_SDCC_TEST_MOD := ahello-sdcc-test
AHELLO_SDCC_TEST_SRC := $(PATH_SRC)/$(AHELLO_SDCC_TEST_MOD)
AHELLO_SDCC_TEST_BIN := $(PATH_BIN)/$(AHELLO_SDCC_TEST_MOD)
-$(AHELLO_SDCC_TEST_BIN):
+$(AHELLO_SDCC_TEST_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(AHELLO_SDCC_TEST_BIN))
$(AHELLO_SDCC_TEST_BIN)/ahello.com: $(AHELLO_SDCC_BIN)/ahello.com | $(AHELLO_SDCC_TEST_BIN)
$(call mb_copy,$<,$@)
-BUILD_HELP += \\n\\t* $(AHELLO_SDCC_TEST_BIN)/@run
-.PHONY: $(AHELLO_SDCC_TEST_BIN)/@run
$(AHELLO_SDCC_TEST_BIN)/@run: | $(AHELLO_SDCC_TEST_BIN)/ahello.com
$(call mb_autoexec_show_gui80,$(AHELLO_SDCC_TEST_BIN))
$(call mb_openmsx_dosctl,$(AHELLO_SDCC_TEST_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_SDCC_TEST_BIN)/@run,"Run binaries from ahello-sdcc.")
+.PHONY: $(AHELLO_SDCC_TEST_BIN)/@run
-BUILD_HELP += \\n\\t* $(AHELLO_SDCC_TEST_BIN)/@assert
-.PHONY: $(AHELLO_M80_TEST_BIN)/@assert
$(AHELLO_SDCC_TEST_BIN)/@assert: | $(AHELLO_SDCC_TEST_BIN)/ahello.com
$(call mb_delete,$(AHELLO_SDCC_TEST_BIN)/ahello.out)
$(call mb_autoexec_safe_test,$(AHELLO_SDCC_TEST_BIN),ahello > ahello.out)
$(call mb_openmsx_dosctl,$(AHELLO_SDCC_TEST_BIN))
grep "SDCC: Hello world..." $(AHELLO_SDCC_TEST_BIN)/ahello.out
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_SDCC_TEST_BIN)/@assert,"Assert binaries from ahello-sdcc.")
+.PHONY: $(AHELLO_SDCC_TEST_BIN)/@assert
\ No newline at end of file
diff --git a/src/ahello-sdcc/0module.mk b/src/ahello-sdcc/0module.mk
index 9853c94..9f573d0 100644
--- a/src/ahello-sdcc/0module.mk
+++ b/src/ahello-sdcc/0module.mk
@@ -3,7 +3,7 @@ AHELLO_SDCC_MOD := ahello-sdcc
AHELLO_SDCC_SRC := $(PATH_SRC)/$(AHELLO_SDCC_MOD)
AHELLO_SDCC_BIN := $(PATH_BIN)/$(AHELLO_SDCC_MOD)
-$(AHELLO_SDCC_BIN):
+$(AHELLO_SDCC_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(AHELLO_SDCC_BIN))
$(AHELLO_SDCC_BIN)/%.rel: $(AHELLO_SDCC_SRC)/%.asm | $(AHELLO_SDCC_BIN)
@@ -12,12 +12,12 @@ $(AHELLO_SDCC_BIN)/%.rel: $(AHELLO_SDCC_SRC)/%.asm | $(AHELLO_SDCC_BIN)
$(AHELLO_SDCC_BIN)/ahello.hex: $(AHELLO_SDCC_BIN)/ahello.rel
$(call mb_sdcc_link_asm_bdos,$<,$@)
-BUILD_HELP += \\n\\t* $(AHELLO_SDCC_BIN)/ahello.com
$(AHELLO_SDCC_BIN)/ahello.com: $(AHELLO_SDCC_BIN)/ahello.hex
$(call mb_sdcc_hex2bin,$<,$@)
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_SDCC_BIN)/ahello.com,"Compiles hello world with sdcc.")
-BUILD_HELP += \\n\\t* $(AHELLO_SDCC_BIN)/@run
-.PHONY: $(AHELLO_SDCC_BIN)/@run
$(AHELLO_SDCC_BIN)/@run: | $(AHELLO_SDCC_BIN)/ahello.com
$(call mb_autoexec_show_gui80,$(AHELLO_SDCC_BIN))
$(call mb_openmsx_dosctl,$(AHELLO_SDCC_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_SDCC_BIN)/@run,"Run the compiled hello world from sdcc.")
+.PHONY: $(AHELLO_SDCC_BIN)/@run
diff --git a/src/assert-all/0module.mk b/src/assert-all/0module.mk
deleted file mode 100644
index 3f1c4e2..0000000
--- a/src/assert-all/0module.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-
-ASSERT_ALL_DEPS := \
-bin/ahello-m80-test/@assert \
-bin/ahello-sdcc-test/@assert \
-bin/dist-qa-dos1/@assert \
-bin/dist-qa-dos2/@assert \
-bin/dist-qa-msx1/@assert \
-bin/dist-qa-msxhub/@assert \
-bin/make-on-msx/@assert
-
-BUILD_HELP += \\n\\t* assert-all \(Run all assertion tests\)
-.PHONY: assert-all
-assert-all: | $(ASSERT_ALL_DEPS)
- @echo === All assertions completed
- $(if $(filter on,$(MB_FLIGHT_VIDEO)),$(call mb_create_flight_video,$(PATH_BIN)))
diff --git a/src/dist-qa-dos1/0module.mk b/src/dist-qa-dos1/0module.mk
index 7c83049..64ab7c3 100644
--- a/src/dist-qa-dos1/0module.mk
+++ b/src/dist-qa-dos1/0module.mk
@@ -4,25 +4,24 @@ DIST_QA_DOS1_SRC := $(PATH_SRC)/$(DIST_QA_DOS1_MOD)
DIST_QA_DOS1_BIN := $(PATH_BIN)/$(DIST_QA_DOS1_MOD)
DIST_QA_DOS1_DEPS := $(subst dist,$(DIST_QA_DOS1_MOD),$(DIST_DEPS))
-$(DIST_QA_DOS1_BIN):
+$(DIST_QA_DOS1_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(DIST_QA_DOS1_BIN))
- $(call mb_msxhub_get_dos1_boot,$(DIST_QA_DOS1_BIN))
+ $(call mb_msxhub_get_msxdos1_boot,$(DIST_QA_DOS1_BIN))
$(DIST_QA_DOS1_BIN)/%: $(DIST_BIN)/% | $(DIST_QA_DOS1_BIN) $(DIST_DEPS)
$(call mb_copy,$<,$@)
-BUILD_HELP += \\n\\t* $(DIST_QA_DOS1_BIN)/@run
-.PHONY: $(DIST_QA_DOS1_BIN)/@run
$(DIST_QA_DOS1_BIN)/@run: | $(DIST_QA_DOS1_DEPS)
$(call mb_autoexec_show_gui80,$(DIST_QA_DOS1_BIN))
$(call mb_openmsx_dosctl,$(DIST_QA_DOS1_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_QA_DOS1_BIN)/@run,"Run binaries on msxdos1 machine.")
+.PHONY: $(DIST_QA_DOS1_BIN)/@run
-BUILD_HELP += \\n\\t* $(DIST_QA_DOS1_BIN)/@assert
-.PHONY: $(DIST_QA_DOS1_BIN)/@assert
$(DIST_QA_DOS1_BIN)/@assert: | $(DIST_QA_DOS1_DEPS)
$(call mb_autoexec_write_default,$(DIST_QA_DOS1_BIN))
$(call mb_autoexec_append_safe_test,$(DIST_QA_DOS1_BIN),ahello1)
$(call mb_autoexec_append_safe_test,$(DIST_QA_DOS1_BIN),ahello2)
$(call mb_autoexec_append_exit,$(DIST_QA_DOS1_BIN))
$(call mb_openmsx_dosctl,$(DIST_QA_DOS1_BIN))
-
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_QA_DOS1_BIN)/@assert,"Assert binaries on msxdos1.")
+.PHONY: $(DIST_QA_DOS1_BIN)/@assert
diff --git a/src/dist-qa-dos2/0module.mk b/src/dist-qa-dos2/0module.mk
index c198109..30b231f 100644
--- a/src/dist-qa-dos2/0module.mk
+++ b/src/dist-qa-dos2/0module.mk
@@ -4,21 +4,19 @@ DIST_QA_DOS2_SRC := $(PATH_SRC)/$(DIST_QA_DOS2_MOD)
DIST_QA_DOS2_BIN := $(PATH_BIN)/$(DIST_QA_DOS2_MOD)
DIST_QA_DOS2_DEPS := $(subst dist,$(DIST_QA_DOS2_MOD),$(DIST_DEPS))
-$(DIST_QA_DOS2_BIN):
+$(DIST_QA_DOS2_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(DIST_QA_DOS2_BIN))
- $(call mb_msxhub_get_dos2_boot,$(DIST_QA_DOS2_BIN))
+ $(call mb_msxhub_get_msxdos2_boot,$(DIST_QA_DOS2_BIN))
$(DIST_QA_DOS2_BIN)/%: $(DIST_BIN)/% | $(DIST_QA_DOS2_BIN) $(DIST_DEPS)
$(call mb_copy,$<,$@)
-BUILD_HELP += \\n\\t* $(DIST_QA_DOS2_BIN)/@run
-.PHONY: $(DIST_QA_DOS2_BIN)/@run
$(DIST_QA_DOS2_BIN)/@run: | $(DIST_QA_DOS2_DEPS)
$(call mb_autoexec_show_gui80,$(DIST_QA_DOS2_BIN))
$(call mb_openmsx_dosctl,$(DIST_QA_DOS2_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_QA_DOS2_BIN)/@run,"Run binaries on msxdos2 machine.")
+.PHONY: $(DIST_QA_DOS2_BIN)/@run
-BUILD_HELP += \\n\\t* $(DIST_QA_DOS2_BIN)/@assert
-.PHONY: $(DIST_QA_DOS2_BIN)/@assert
$(DIST_QA_DOS2_BIN)/@assert: | $(DIST_QA_DOS2_DEPS)
$(call mb_delete,$(DIST_QA_DOS2_BIN)/ahello1.out)
$(call mb_delete,$(DIST_QA_DOS2_BIN)/ahello2.out)
@@ -29,3 +27,5 @@ $(DIST_QA_DOS2_BIN)/@assert: | $(DIST_QA_DOS2_DEPS)
$(call mb_openmsx_dosctl,$(DIST_QA_DOS2_BIN))
grep "M80: Hello world..." $(DIST_QA_DOS2_BIN)/ahello1.out
grep "SDCC: Hello world..." $(DIST_QA_DOS2_BIN)/ahello2.out
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_QA_DOS2_BIN)/@assert,"Assert binaries on msxdos2.")
+.PHONY: $(DIST_QA_DOS2_BIN)/@assert
diff --git a/src/dist-qa-msx1/0module.mk b/src/dist-qa-msx1/0module.mk
index d3186f6..cc01c60 100644
--- a/src/dist-qa-msx1/0module.mk
+++ b/src/dist-qa-msx1/0module.mk
@@ -4,21 +4,20 @@ DIST_QA_MSX1_MOD := dist-qa-msx1
DIST_QA_MSX1_SRC := $(PATH_SRC)/$(DIST_QA_MSX1_MOD)
DIST_QA_MSX1_BIN := $(PATH_BIN)/$(DIST_QA_MSX1_MOD)
DIST_QA_MSX1_DEPS := $(subst dist,$(DIST_QA_MSX1_MOD),$(DIST_DEPS))
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,DIST_QA_MSX1_MACHINE,"The machine to run the $(DIST_QA_MSX1_MOD) module.",$(DIST_QA_MSX1_MACHINE))
-$(DIST_QA_MSX1_BIN):
+$(DIST_QA_MSX1_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(DIST_QA_MSX1_BIN))
$(DIST_QA_MSX1_BIN)/%: $(DIST_BIN)/% | $(DIST_QA_MSX1_BIN) $(DIST_DEPS)
$(call mb_copy,$<,$@)
-BUILD_HELP += \\n\\t* $(DIST_QA_MSX1_BIN)/@run
-.PHONY: $(DIST_QA_MSX1_BIN)/@run
$(DIST_QA_MSX1_BIN)/@run: | $(DIST_QA_MSX1_DEPS)
$(call mb_autoexec_show_gui40,$(DIST_QA_MSX1_BIN))
$(call mb_openmsx_dosctl,$(DIST_QA_MSX1_BIN),$(DIST_QA_MSX1_MACHINE))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_QA_MSX1_BIN)/@run,"Run binaries on MSX1 machine.")
+.PHONY: $(DIST_QA_MSX1_BIN)/@run
-BUILD_HELP += \\n\\t* $(DIST_QA_MSX1_BIN)/@assert
-.PHONY: $(DIST_QA_MSX1_BIN)/@assert
$(DIST_QA_MSX1_BIN)/@assert: | $(DIST_QA_MSX1_DEPS)
$(call mb_delete,$(DIST_QA_MSX1_BIN)/ahello1.out)
$(call mb_delete,$(DIST_QA_MSX1_BIN)/ahello2.out)
@@ -29,3 +28,5 @@ $(DIST_QA_MSX1_BIN)/@assert: | $(DIST_QA_MSX1_DEPS)
$(call mb_openmsx_dosctl,$(DIST_QA_MSX1_BIN),$(DIST_QA_MSX1_MACHINE))
grep "M80: Hello world..." $(DIST_QA_MSX1_BIN)/ahello1.out
grep "SDCC: Hello world..." $(DIST_QA_MSX1_BIN)/ahello2.out
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_QA_MSX1_BIN)/@assert,"Assert binaries on MSX1 machine.")
+.PHONY: $(DIST_QA_MSX1_BIN)/@assert
diff --git a/src/dist-qa-msxhub/0module.mk b/src/dist-qa-msxhub/0module.mk
index 83a61a0..7a40961 100644
--- a/src/dist-qa-msxhub/0module.mk
+++ b/src/dist-qa-msxhub/0module.mk
@@ -3,12 +3,13 @@ DIST_QA_MSXHUB_MACHINE ?= Boosted_MSX2+_JP
DIST_QA_MSXHUB_MOD := dist-qa-msxhub
DIST_QA_MSXHUB_SRC := $(PATH_SRC)/$(DIST_QA_MSXHUB_MOD)
DIST_QA_MSXHUB_BIN := $(PATH_BIN)/$(DIST_QA_MSXHUB_MOD)
-DIST_QA_MSXHUB_DEPS := $(subst dist,$(DIST_QA_MSXHUB_MOD),$(DIST_DEPS))
+DIST_QA_MSXHUB_DEPS := $(subst dist,$(DIST_QA_MSXHUB_MOD),$(DIST_DEPS))
+MB_DOC_HELP_VARIABLE += $(call mb_doc_variable,DIST_QA_MSXHUB_MACHINE,"The machine to run the $(DIST_QA_MSXHUB_MOD) module.",$(DIST_QA_MSXHUB_MACHINE))
-$(DIST_QA_MSXHUB_BIN):
+$(DIST_QA_MSXHUB_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(DIST_QA_MSXHUB_BIN))
$(call mb_mkdir,$(DIST_QA_MSXHUB_BIN)/utils)
- $(call mb_msxhub_get_dos2_utils,$(DIST_QA_MSXHUB_BIN)/utils)
+ $(call mb_msxhub_get_msxdos2_utils,$(DIST_QA_MSXHUB_BIN)/utils)
$(call mb_msxhub_get_nextor_utils,$(DIST_QA_MSXHUB_BIN)/utils)
$(call mb_msxhub_get_macro80,$(DIST_QA_MSXHUB_BIN)/utils)
$(call mb_msxhub_get_z80asmuk,$(DIST_QA_MSXHUB_BIN)/utils)
@@ -33,14 +34,12 @@ $(DIST_QA_MSXHUB_BIN):
$(DIST_QA_MSXHUB_BIN)/%: $(DIST_BIN)/% | $(DIST_QA_MSXHUB_BIN) $(DIST_DEPS)
$(call mb_copy,$<,$@)
-BUILD_HELP += \\n\\t* $(DIST_QA_MSXHUB_BIN)/@run
-.PHONY: $(DIST_QA_MSXHUB_BIN)/@run
$(DIST_QA_MSXHUB_BIN)/@run: | $(DIST_QA_MSXHUB_DEPS)
$(call mb_autoexec_show_gui80,$(DIST_QA_MSXHUB_BIN))
$(call mb_openmsx_dosctl,$(DIST_QA_MSXHUB_BIN),$(DIST_QA_MSXHUB_MACHINE))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_QA_MSXHUB_BIN)/@run,"Run the dist with all msxhub packages.")
+.PHONY: $(DIST_QA_MSXHUB_BIN)/@run
-BUILD_HELP += \\n\\t* $(DIST_QA_MSXHUB_BIN)/@assert
-.PHONY: $(DIST_QA_MSXHUB_BIN)/@assert
$(DIST_QA_MSXHUB_BIN)/@assert: | $(DIST_QA_MSXHUB_DEPS)
$(call mb_delete,$(DIST_QA_MSXHUB_BIN)/ahello1.out)
$(call mb_delete,$(DIST_QA_MSXHUB_BIN)/ahello2.out)
@@ -55,3 +54,5 @@ $(DIST_QA_MSXHUB_BIN)/@assert: | $(DIST_QA_MSXHUB_DEPS)
grep "SDCC: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello2.out
grep "KONPASS COM" $(DIST_QA_MSXHUB_BIN)/utils.out
grep "MAKE COM" $(DIST_QA_MSXHUB_BIN)/utils.out
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_QA_MSXHUB_BIN)/@assert,"Asserts that all dist artifacts execute results.")
+.PHONY: $(DIST_QA_MSXHUB_BIN)/@assert
diff --git a/src/dist/0module.mk b/src/dist/0module.mk
index 191adac..4118118 100644
--- a/src/dist/0module.mk
+++ b/src/dist/0module.mk
@@ -5,7 +5,7 @@ DIST_BIN := $(PATH_BIN)/$(DIST_MOD)
DIST_OUT := $(PATH_BIN)/$(DIST_MOD).tar.gz
DIST_DEPS := $(DIST_BIN)/readme.txt $(DIST_BIN)/ahello1.com $(DIST_BIN)/ahello2.com
-$(DIST_BIN):
+$(DIST_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(DIST_BIN))
$(DIST_BIN)/readme.txt: $(DIST_SRC)/readme.txt | $(DIST_BIN)
@@ -17,10 +17,10 @@ $(DIST_BIN)/ahello1.com: bin/ahello-m80/ahello.com | $(DIST_BIN)
$(DIST_BIN)/ahello2.com: bin/ahello-sdcc/ahello.com | $(DIST_BIN)
$(call mb_copy,$<,$@)
-BUILD_HELP += \\n\\t* $(DIST_BIN)/@prepare
-.PHONY: $(DIST_BIN)/@prepare
$(DIST_BIN)/@prepare: | $(DIST_DEPS)
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_BIN)/@prepare,"Prepare folder with binaries for distribution.")
+.PHONY: $(DIST_BIN)/@prepare
-BUILD_HELP += \\n\\t* $(DIST_OUT)
$(DIST_OUT): | $(DIST_BIN)/@prepare
$(call mb_create_dist,$(DIST_BIN),$@)
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(DIST_OUT),"Build archive distribution artifact.")
diff --git a/src/make-on-msx/0module.mk b/src/make-on-msx/0module.mk
index 23617ad..c8de67c 100644
--- a/src/make-on-msx/0module.mk
+++ b/src/make-on-msx/0module.mk
@@ -3,7 +3,7 @@ MAKE_ON_MSX_MOD := make-on-msx
MAKE_ON_MSX_SRC := $(PATH_SRC)/$(MAKE_ON_MSX_MOD)
MAKE_ON_MSX_BIN := $(PATH_BIN)/$(MAKE_ON_MSX_MOD)
-$(MAKE_ON_MSX_BIN):
+$(MAKE_ON_MSX_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(MAKE_ON_MSX_BIN))
$(call mb_mkdir,$(MAKE_ON_MSX_BIN)/utils)
$(call mb_msxhub_get_make,$(MAKE_ON_MSX_BIN)/utils)
@@ -19,18 +19,19 @@ $(MAKE_ON_MSX_BIN)/nfbsshot.mf: $(MAKE_ON_MSX_SRC)/nfbsshot.mf | $(MAKE_ON_MSX_B
$(MAKE_ON_MSX_BIN)/build.bat: $(MAKE_ON_MSX_SRC)/build.bat | $(MAKE_ON_MSX_BIN)/nfbsshot.mf
$(call mb_unix2dos,$<,$@)
-BUILD_HELP += \\n\\t* $(MAKE_ON_MSX_BIN)/nfbsshot.bin
$(MAKE_ON_MSX_BIN)/nfbsshot.bin: | $(MAKE_ON_MSX_BIN)/build.bat
$(call mb_autoexec_safe_cmd,$(MAKE_ON_MSX_BIN),build shutdown)
$(call mb_openmsx_dosctl,$(MAKE_ON_MSX_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(MAKE_ON_MSX_BIN)/nfbsshot.bin,"Compiles binary with make on msx.")
-BUILD_HELP += \\n\\t* $(MAKE_ON_MSX_BIN)/@assert
-.PHONY: $(MAKE_ON_MSX_BIN)/@assert
$(MAKE_ON_MSX_BIN)/@assert: | $(MAKE_ON_MSX_BIN)/nfbsshot.bin
grep -U "screenshot" $(MAKE_ON_MSX_BIN)/nfbsshot.bin
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(MAKE_ON_MSX_BIN)/@assert,"Asserts that binary contains screenshot string.")
+.PHONY: $(MAKE_ON_MSX_BIN)/@assert
-BUILD_HELP += \\n\\t* $(MAKE_ON_MSX_BIN)/@run
-.PHONY: $(MAKE_ON_MSX_BIN)/@run
$(MAKE_ON_MSX_BIN)/@run: | $(MAKE_ON_MSX_BIN)/build.bat
$(call mb_autoexec_show_gui80,$(MAKE_ON_MSX_BIN))
$(call mb_openmsx_dosctl,$(MAKE_ON_MSX_BIN))
+MB_DOC_HELP_TARGET += $(call mb_doc_target,$(MAKE_ON_MSX_BIN)/@run,"Run the make build manually.")
+.PHONY: $(MAKE_ON_MSX_BIN)/@run
+