diff --git a/.forgejo/workflows/run-test-asserts.yaml b/.forgejo/workflows/run-test-asserts.yaml
index aa96b27..a0b1819 100644
--- a/.forgejo/workflows/run-test-asserts.yaml
+++ b/.forgejo/workflows/run-test-asserts.yaml
@@ -4,15 +4,6 @@ on:
branches:
- master
pull_request:
-env:
- VERBOSE: off
- DEBUG: off
- ASSERT_MSXROM_MATRIX: off
- MB_I18N: BASIC
- MB_OPENMSX_STDOUT_IGNORE: on
- MB_OPENMSX_STDERR_IGNORE: on
- MB_AUTOEXEC_EMBED_USER: GITHUB_ACTOR
- MB_AUTOEXEC_EMBED_VARS: GITHUB_WORKFLOW GITHUB_JOB GITHUB_RUN_NUMBER GITHUB_EVENT_NAME GITHUB_REF_NAME GITHUB_REF_TYPE GITHUB_REPOSITORY GITHUB_REPOSITORY_OWNER
jobs:
Test-Asserts:
runs-on: self-hosted
@@ -20,4 +11,4 @@ jobs:
- name: Check out
uses: actions/checkout@v3
- name: Run asserts
- run: make -j1 @ALL
+ run: make assert-all
diff --git a/.forgejo/workflows/run-test-parallel.yaml b/.forgejo/workflows/run-test-parallel.yaml
new file mode 100644
index 0000000..0753e8c
--- /dev/null
+++ b/.forgejo/workflows/run-test-parallel.yaml
@@ -0,0 +1,15 @@
+name: Run tests parallel
+on:
+ pull_request:
+ types: [opened, reopened, synchronize]
+ branches:
+ - test_ci_parallel_build
+ workflow_dispatch:
+jobs:
+ Test-Asserts-Parallel:
+ runs-on: self-hosted
+ steps:
+ - name: Check out
+ uses: actions/checkout@v3
+ - name: Run asserts parallel
+ run: make -j2 assert-all
diff --git a/.gitignore b/.gitignore
index 415ce4f..b5a5c7a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,12 @@
syntax: glob
# Project ignores
-Makelocal.mk
bin
bin/**
+lib/openmsx/omsxctl.tcl
+
+# Makefile ignores
+Makelocal.mk
# File ignores
*.log
diff --git a/Makefile b/Makefile
index 71ec18e..4365905 100644
--- a/Makefile
+++ b/Makefile
@@ -1,26 +1,26 @@
-#
-# Module based project makefile to self build msxbuild.
-#
-PATH_BIN := bin
-PATH_SRC := src
-PATH_MSXBUILD ?= lib
-MB_PROJ_META_GROUP_ID := love.distributedrebirth.msx4.firemake.make4.msxbuild
-MB_PROJ_META_ARTIFACT_ID := msxbuild
-MB_PROJ_META_VERSION := 1.0.0
-MB_PROJ_META_NAME := MSXBUILD
-MB_PROJ_META_DESCRIPTION := Library to use openMSX in build pipeline.
-MB_PROJ_META_WEBSITE := https://code.distributedrebirth.love/arch-msx/msxbuild
-.RECIPEPREFIX := _
-.DEFAULT_GOAL := @all
+
+rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+INC_TEST := $(call rwildcard, test, */0module.mk)
+PATH_BIN := bin
+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))
+
-include Makelocal.mk
-include $(PATH_MSXBUILD)/msxbuild.mk
-$(call mb-make-call,mb-setup-default,$(PATH_BIN),$(PATH_SRC))
-
-# Optional: make faster and setup graph root
-.PHONY: Makefile
-.PHONY: Makelocal.mk
-.PHONY: $(PATH_MSXBUILD)/msxbuild.mk
-Makefile:: Makelocal.mk
-Makefile:: $(PATH_MSXBUILD)/msxbuild.mk
-@@include-root:: Makefile
-
+MB_OPENMSX_PATH_BIN ?= $(PATH_BIN)
+include lib/make/msxbuild.mk
+include $(INC_TEST)
diff --git a/Makelocal.mk.tpl b/Makelocal.mk.tpl
new file mode 100644
index 0000000..8a97ff5
--- /dev/null
+++ b/Makelocal.mk.tpl
@@ -0,0 +1,8 @@
+# Local included makefile fragment.
+# Save this file without tpl suffix and custumize it.
+#
+# Change to local installations if needed;
+
+#PATH_SDCC ?= /usr/bin
+#PATH_UNIX2DOS ?= /usr/bin
+#PATH_OPENMSX ?= /opt/openMSX/bin/
diff --git a/README.md b/README.md
index 4edce68..7833c02 100644
--- a/README.md
+++ b/README.md
@@ -2,262 +2,125 @@
Utils to use openMSX in build pipelines.
-You can use these scripts as-is. the files in the `lib` are all you need.
-But as always, feel free to extend it for your specific needs or contribute a fix or feature.
+You can use these scripts as-is. But as always, feel free to extend it
+for your specific needs or contribute a fix or feature.
+
+## OpenMSX missing automation documentation
+
+* Don't use DirAsDisk, it is slow
+* Wrap all TCL commands in catch+stderr+exit1
+* Use TCL script for auto HD import/export
+* Use stdio mode for headless and/or fast boot
+* Disable throttling for automation steps
+* Use fail_after TCL script to run openMSX safely
+* Control openMSX from inside with TCL+command
+* Enable SDL just before command is addictive fast
+* TODO: Use TCL for BASIC/ASM/C lcov (Cobertura) code coverage
+
+The files in this repro try to handle these steps for you.
## Features
-* Allows parallel headless openMSX build pipeline
-* openMSX safe exit failure guards
-* Automatic disk image import + export per build step
+* SDCC msx build steps.
+* Allows headless openMSX buildpipe.
+* openMSX safe exit failure guards.
+* Automatic disk image import + export per build step.
* Downloads and caches resources from msxhub.com
-* 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
-* make + wget + tar + awk + grep + dos2unix
-* sdcc
+* make
* openmsx
-* ffmpeg
-* rsync
+* sdcc
+* wget
+* unix2dos
For debian use;
- apt-get install make wget tar gawk grep dos2unix sdcc openmsx ffmpeg rsync
+ apt-get install make openmsx wget dos2unix sdcc
-## Install Classic
+## Usage
-TODO (~copy `lib` as version-ed path into `/usr/local/include`)
-
-## Install Docker
-
-TODO
-
-## Usage Setup
-
-Most simple `Makefile` example;
-
- PATH_MSXBUILD ?= ~/somewhere/local/copy/msxbuild/lib
-
- # Optional set own prefix BEFORE include mxsbuild
- .RECIPEPREFIX := _
-
- include $(PATH_MSXBUILD)/msxbuild.mk
-
- # Write normal make rules
-
-To use ONLY the module structure tree loading use the skywalker;
-
- PATH_SRC := src
- $(call mb-make-call,mb-flow-nx01-skywalker,$(PATH_SRC))
-
-Do do a more NORMAL setup, add the full flow setup to the project with;
-(note this will call also the skywalker for you)
-
- PATH_BIN := bin
- PATH_SRC := src
- $(call mb-make-call,mb-setup-default,$(PATH_BIN),$(PATH_SRC))
-
- # Write normal and/or dynamic flow rules in many 0module.mk files.
-
-
-## Rule Writing
-
-TODO: Link to example project on github a few ways to compile and test hello.
-
-## Usage Help
-
-When using the `mb-setup-default` this add a help system which works by running: `make @help | grep "*"`
-
- * @help-variable
- * @help-variable-deep
- * @help-variable-rock
- * @help-variable-flow
- * @help-variable-i18n
- * @help-function
- * @help-function-deep
- * @help-function-flow
- * @help-target
- * @help-target-deep
- * @help-target-run
- * @help-target-module
- * @help-target-assert
- * @help-machine
- * @help-all
- * @help-firemake
- * @clean
- * @init
- * @prepare
- * @process
- * @compile
- * @link
- * @build
- * @test
- * @package
- * @package-qa
- * @package-deploy
- * @all
- * @flight-video-build
- * @flight-video-test
- * @flight-video-package-qa
- * @flight-video-all
-
-Running: `make @help-all | grep "*" | wc -l` to count all documented items of an (example) project;
-
- 546
-
-## Example Project
+Include the `lib/make/msxbuild.mk` file from your Makefile.
+And override the required paths;
+* PATH_SDCC ?= /usr/bin
+* PATH_UNIX2DOS ?= /usr/bin
+* PATH_OPENMSX ?= /usr/bin
+* PATH_MSXBUILD ?= /opt/msxbuild
+Then build result based compile rules see an example in; `test/ahello-m80/0module.mk`
When you want to see whats happening do a debug run;
normal run;
- time make
- real 0m8.058s
+ time make clean assert-all
+ real 0m1.938s
- debug run at 11 Mhz;
- time VERBOSE=on DEBUG=on MB_OPENMSX_HEADLESS=off MB_OPENMSX_THROTTLE=on make
- real 2m34.071s
+ debug run;
+ time MB_OPENMSX_RENDERER=SDL MB_OPENMSX_THROTTLE=ON make clean assert-all
+ real 0m32.977s
debug run real msx speed;
- time VERBOSE=on DEBUG=on MB_OPENMSX_HEADLESS=off MB_OPENMSX_THROTTLE=on MB_OPENMSX_SPEED=100 make
- real 2m37.379s
-
- record build run with screenshot on exit;
- time MB_OPENMSX_HEADLESS=off MB_FLIGHT_SCREEN=on make @build
- real 2m40.784s
-
- record matrix test run with video per session and merge to one video file;
- time ASSERT_MSXROM_MATRIX=on make @flight-video-all
- real 6m44.313s
-
- full build parallel;
- time make -j4 @all
- real 0m4.226s
-
- manual test all packages on other MSX1 machine;
- make ASSERT_MSXHUB_MACHINE=Philips_VG_8000 bin/assert/msxhub/@run
-
- view the make graph of an target;
- make -Bnd bin/example/dist-hello-qa-msx1/@assert/@package-qa/@check-prefix | make2graph | dot -Tpng -o /tmp/out.png;open /tmp/out.png
+ time MB_OPENMSX_RENDERER=SDL MB_OPENMSX_THROTTLE=ON MB_OPENMSX_SPEED=100 make clean assert-all
+ real 1m44.184s
+
+ parallel run;
+ time make -j2 clean assert-all
+ real 0m0.358s
-Example output of matrix build+tests: [https://iupload.distributedrebirth.love/quohba7Oikai2uch/msxbuild-demo-matrix-test.avi](https://iupload.distributedrebirth.love/quohba7Oikai2uch/msxbuild-demo-matrix-test.avi)
-Example output of qa assert graph [https://iupload.distributedrebirth.love/quohba7Oikai2uch/msxbuild-demo-assert-qa-graph.png](https://iupload.distributedrebirth.love/quohba7Oikai2uch/msxbuild-demo-assert-qa-graph.png)
+## Functions
-## Internal conventions make
+Current set is WIP.
-* A library MUST use variables for indenting, zero tab space or white space
-* Internal things MUST start with an under score
-* Variables MUST be in upper case
-* Variables MUST use an under score as separator
-* File targets MUST be in a relative binary build folder
-* None file targets MUST start with at-sign with optional build folder prefix
-* None file targets MUST separate words with an hyphen
-* Define eval flow MUST start with two underscores
-* Eval flow MUST be injected by a function
-* Eval flow MUST have an preamble/restore of dynamic white space
-* Functions MUST call function with mb-make-call for DEBUG tracing
-* Functions MUST be in lower case
-* Functions MUST separate words with an hyphen
+* mb_compile_asm
+* mb_link_asm_lib
+* mb_link_asm
+* mb_link_asm_0000 = call mb_link_asm,$(1),$(2),0x0000
+* mb_link_asm_0100
+* mb_link_asm_1000
+* mb_link_asm_4000
+* mb_link_asm_8000
+* mb_link_asm_C000
+* mb_link_asm_dos = alias for mb_link_asm_0100
+* mb_hex2bin
+* mb_openmsx_dosctl
+* mb_msxhub_file
+* mb_package_emuctl
+* mb_package_dos1
+* mb_package_dos2
+* mb_package_nextor
+* mb_package_macro80
+* mb_package_z80asmuk
+* mb_package_popcom
+* mb_package_dmphex
+* mb_package_baskom
+* mb_package_pmarc
+* mb_package_lhpack
+* mb_package_lhext
+* mb_package_gunzip
+* mb_package_tunzip
+* mb_package_turbo
+* mb_package_binldr
+* mb_package_gfxage
+* mb_autoexec_append_cmd
+* mb_autoexec_append_echo
+* mb_autoexec_append_rem
+* mb_autoexec_append_gui_mode
+* mb_autoexec_append_stop_fail
+* mb_autoexec_append_exit
+* mb_autoexec_write_default
+* mb_autoexec_open_gui
+* mb_autoexec_open_gui_cmd
+* mb_autoexec_cmd
+* mb_autoexec_cmd_test
+* mb_clean
+* mb_mkdir
+* mb_delete
+* mb_copy
+* mb_create_dist
## Errata
-* (FIXED) Very sometimes the fail_after "boot_err" watchdog doesn't get canceled
-* Make: @@include-mods will not get chained, it doesn't list ANY dep anymore
-* Make: @@include-tree will not get phony, (and thus @@include-root not on top)
-* boot_exec_setcolor: does not work on MSX1 vdp TMS9918
-* Missing setting of (DOS) MSX time/date from current local (+recheck make4msx example)
-* Somewhere in proj flow deps glue part of parallel does not work at is should
-* Doesn't work on windows, rm and check if WSL works OK
-* TODO: mbboot80+add arg prefix and move to other repro + msxhub package
-* TODO: Missing C and mixed support
-* TODO: Use TCL for BASIC/ASM/C lcov (Cobertura) code coverage
+* Doesn't work on windows
+* Missing C and mixed support
+* If no SDL than screenshot in fail_after doesn't work
-## TODO
-
-* Redo video recording rm sub make (clean too?)
-* Improve package support tool commands
-* Add a few update/upload deploy targets
-* Rename or move the make lib to a generic make lib project
-* Move tooling and supporting flow into managed include plugins tools
-* Add support for ghdl, avr-gcc, gcc, llvm, java, etc
-* Add caching glue for maven and a linux source distro for c/etc (lib) packages
-* Add qemu support like openmsx pipe for testing (cross) compile results
-* Move all downloads and upload and signing requests to (local) NOSTR++ gateway
-* Trim a few points from Make4++
-
-## OpenMSX backlog issues
-
-* Add setting for "save_imgui_on_exit false" so no imgui.ini file is created
-* Only all all 16 bit unicode fonts because unicode is 21 bit but imgui is not
-* (FIXED:rm-SDL) Bug: screenshots sometimes segfaults when using SDL renderer
-* (FIXED:add-issue) Screenshots don't work without throttle
-* (FIXED++) Audio device init option + warning messages on computer without sound card
-* (#1669) MIDI device init option + warning messages on computer without sound card
-* (#1671) Enhancing the IDE CD-ROM support
-* (#1704) Allow `IDEHD OPENMSX IDEHD ` now hardcoded in IDEHD.CC:37 + update default for mode 40
-* (#1705) Diskmanipulator export (sync) fully non-cased filename compare (duplicates)
-* (#1705) Diskmanipulator export (sync) don't touch/overwrite unmodified files
-* Diskmanipulator reuse the device defined filename
-* Diskmanipulator Imported folders in openMSX; `cd utils;cd ..;dir` breaks, use `cd utils:cd a:\;dir` as workaround
-* run instance-id or run/process-label to replace hardcoded "untitled1" path
-* Remove msg or add ignore sram-fully or blank setting: SRAM file nms8250.cmos not found, assuming blank SRAM content.
-* Video record append mode + optional multiple previds to glue videos as one
-* SDL-NULL as window less renderer so that screenshot and/or video works headless
-* Video record remove blue start frame on start of recording
-* (FIXED++) Allow for `set renderer none` in TCL or command argument for headless mode
-* (DONE) DocUpdate: Added optional exit code of exit command
-* DocUpdate: Add speed note because it is slow + add example "after quit {export hdd}"
-* DocUpdate: Wrap all TCL commands in catch+stderr+exit1
-* DocUpdate: Add 'headless' example via stdio+new + link to control omsxctl
-
-## Make4++ backlog issues
-
-Since `.RECIPEPREFIX` is added to make, it broke library support and having per call different
-dynamic white space rules is also really hard for a human brain.
-To fix make5 will use (IBM spec) binary files to express the rules.
-
-* Add a few new define's to have official make documentation
-* BUG: Unicode read+parse ok but function call fails on `include $(MB__BASEPATH)/lib/make/प्रणालीᐥᔆʸᔆᐪᓫᔿ/mb_doc.mk`.
-* Add a checked call function `call-safe` which exits on undefined call argument
-* Add `call` and `call-safe` debug trace option
-* Add `--warn-shell` and `--warn-shell-recipe` to allow user to force the project to use fast zero shell wrapped commands
-* Add -e option to make internal echo command for escaped sequences
-* Add native OS functions for `os-echo,os-file-copy,os-file-delete,os-folder-delete,os-folder-create,etc`
-* Add string letters function
-* Add string isascii function (death with unicode)
-* Add lowercase and uppercase functions (full 21bit unicode support)
-* Add XML output for help system for integration with IDE's
-* Add `wildcard-treewalker` for deeper searches
-* Add namespace support for variables/functions/targets like: moduleX::bin/prog.o: moduleX::src/prog.c
-* Add checksum function to calc checksum for file
-* Add `os-copy-diff` function to use checksums to copy only changed files
-* Allow make to use checksums not timestamps to detect file updates
-
-Make version 5 will bring `make` to the last century;
-
-* Make5: Define (binary) namespaced XML to replace ascii Makefile syntax
-* Make5: Remove guile support fully (maybe replace with embedded MSX BASIC)
-* Make5: Add converter command for upgrade make4 syntax and option to run make4 file.
-* Make5: move all internal's to namespace's
-* Make5: Replace all ultra short 1980's magic templates variables with ultra long human readable name
-* Make5: upgrade to new BDOS split file and folder API in OS kernel VFS layer
-* Make5: Delete all Old-Fashioned Suffix Rules code
-* Make5: Delete .EXPORT_ALL_VARIABLES and `export` without variable
-* Make5: (Opt?) Delete VPATH search variable (replace with namespace vpath ??)
-* Make5: Delete/refactor all (old) code that make the make code ugly
-* Make5: Adds zillala (emacs like) bug reporting output for when make fails script or internally
-* Make5: Replace all trace/debug/base-print with XML output + optional XSLT + wrap old argu
-
-Make version 6 will bring `make` to the current century;
-
-* Make6: Only support 18bit four corner method, fixed i18n words, no letters, no ascii, no unicode
-* Make6: Only support octal based (18 and/or 144 bit) computers (the new MSX'es)
-* Make6: Only support new BDOS version (split folders from files)
-
-Make version 7 will bring `make` to the next century;
-
-* Make7: Make without source, all make code is generated from the nether skynet step code definitions
-* Make7: If the OS kernel "ATARI TERMINATOR AI" thinks it is faster to run make rules in VHDL it will be done so
diff --git a/lib/emuctl/mbboot80.com b/lib/emuctl/mbboot80.com
deleted file mode 100644
index 2dbd2e1..0000000
Binary files a/lib/emuctl/mbboot80.com and /dev/null differ
diff --git a/lib/emuctl/reboot.bat b/lib/emuctl/reboot.bat
deleted file mode 100644
index 971a989..0000000
--- a/lib/emuctl/reboot.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-rem Reboot openMSX
-omsxctl headless_reset
\ No newline at end of file
diff --git a/lib/emuctl/shutdown.bat b/lib/emuctl/shutdown.bat
index b4c35d2..d6470a8 100644
--- a/lib/emuctl/shutdown.bat
+++ b/lib/emuctl/shutdown.bat
@@ -1,2 +1,2 @@
-rem Shutdown openMSX
-omsxctl headless_exit
\ No newline at end of file
+rem Exit openMSX
+omsxctl exit 0
\ No newline at end of file
diff --git a/lib/make/mb_autoexec.mk b/lib/make/mb_autoexec.mk
new file mode 100644
index 0000000..304582d
--- /dev/null
+++ b/lib/make/mb_autoexec.mk
@@ -0,0 +1,75 @@
+
+MB_AUTOEXEC_BYSELF ?= true
+MB_AUTOEXEC_BYSELF_MSG ?= Generated by msxbuild Makefile
+MB_AUTOEXEC_TEXTMODE ?= 80
+MB_AUTOEXEC_TEXTCOLOR ?= 15,0,0
+MB_AUTOEXEC_VERSION ?= true
+MB_AUTOEXEC_STARTUP_TIMEOUT ?= 60
+MB_AUTOEXEC_STARTUP_EXITCODE ?= 124
+MB_AUTOEXEC_TEST_TIMEOUT ?= 120
+MB_AUTOEXEC_TEST_EXITCODE ?= 1
+MB_AUTOEXEC_CMD_TIMEOUT ?= 300
+MB_AUTOEXEC_CMD_EXITCODE ?= 1
+
+define mb_autoexec_append_cmd
+ echo "$(2)\r" >> $(1)/autoexec.bat
+endef
+define mb_autoexec_append_echo
+ $(call mb_autoexec_append_cmd,$(1),echo $(2))
+endef
+define mb_autoexec_append_rem
+ $(call mb_autoexec_append_cmd,$(1),rem $(2))
+endef
+define mb_autoexec_append_gui_mode
+ $(call mb_autoexec_append_echo,$(1),Enabling SDL renderer.)
+ $(call mb_autoexec_append_cmd,$(1),omsxctl set renderer SDL > NUL)
+ $(call mb_autoexec_append_echo,$(1),Enabling CPU throttling.)
+ $(call mb_autoexec_append_cmd,$(1),omsxctl set throttle on > NUL)
+endef
+define mb_autoexec_append_stop_fail
+ $(call mb_autoexec_append_echo,$(1),Disabling automatic failure.)
+ $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after 0)
+endef
+define mb_autoexec_append_exit
+ $(call mb_autoexec_append_cmd,$(1),omsxctl exit 0)
+endef
+define mb_autoexec_write_default
+ echo -n "" > $(1)/autoexec.bat
+ $(if $(filter true,$(MB_AUTOEXEC_BYSELF)),$(call mb_autoexec_append_rem,$(1),$(MB_AUTOEXEC_BYSELF_MSG)))
+ $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_STARTUP_TIMEOUT) seconds failed_autoexec $(MB_AUTOEXEC_STARTUP_EXITCODE))
+ $(if $(filter 40,$(MB_AUTOEXEC_TEXTMODE)),$(call mb_autoexec_append_cmd,$(1),mode 40))
+ $(if $(filter 40,$(MB_AUTOEXEC_TEXTMODE)),$(call mb_autoexec_append_echo,$(1),Enabled mode 40.))
+ $(if $(filter 80,$(MB_AUTOEXEC_TEXTMODE)),$(call mb_autoexec_append_cmd,$(1),mode 80))
+ $(if $(filter 80,$(MB_AUTOEXEC_TEXTMODE)),$(call mb_autoexec_append_echo,$(1),Enabled mode 80.))
+ $(call mb_autoexec_append_cmd,$(1),COLOR $(MB_AUTOEXEC_TEXTCOLOR))
+ $(if $(filter true,$(MB_AUTOEXEC_VERSION)),$(call mb_autoexec_append_cmd,$(1),ver))
+endef
+
+define mb_autoexec_open_gui
+ @echo === Generating autoexec.bat for command with gui
+ $(call mb_autoexec_write_default,$(1))
+ $(call mb_autoexec_append_stop_fail,$(1))
+ $(call mb_autoexec_append_gui_mode,$(1))
+ $(call mb_autoexec_append_echo,$(1),Type shutdown to stop emulation.)
+endef
+define mb_autoexec_open_gui_cmd
+ $(call mb_autoexec_open_gui,$(1))
+ $(call mb_autoexec_append_echo,$(1),Running command '$(2)')
+ $(call mb_autoexec_append_cmd,$(1),$(2))
+endef
+define mb_autoexec_cmd
+ @echo === Generating autoexec.bat for command
+ $(call mb_autoexec_write_default,$(1))
+ $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_CMD_TIMEOUT) seconds failed_cmd $(MB_AUTOEXEC_CMD_EXITCODE))
+ $(call mb_autoexec_append_echo,$(1),Running command '$(2)')
+ $(call mb_autoexec_append_cmd,$(1),$(2))
+ $(call mb_autoexec_append_exit,$(1))
+endef
+define mb_autoexec_cmd_test
+ @echo === Generating autoexec.bat for command test
+ $(call mb_autoexec_write_default,$(1))
+ $(call mb_autoexec_append_cmd,$(1),omsxctl fail_after $(MB_AUTOEXEC_TEST_TIMEOUT) seconds failed_test $(MB_AUTOEXEC_TEST_EXITCODE))
+ $(call mb_autoexec_append_echo,$(1),Running test '$(2)')
+ $(call mb_autoexec_append_cmd,$(1),$(2))
+ $(call mb_autoexec_append_exit,$(1))
+endef
diff --git a/lib/make/mb_base.mk b/lib/make/mb_base.mk
new file mode 100644
index 0000000..17a3a90
--- /dev/null
+++ b/lib/make/mb_base.mk
@@ -0,0 +1,42 @@
+
+# OS cmds
+ifeq ($(OS),Windows_NT)
+ MB_RM = del /F /Q
+ MB_RMDIR = RMDIR /S /Q
+ MB_MKDIR = mkdir
+ MB_COPY = copy
+ MB_ERRIGNORE = 2>NUL || true
+ MB_SEP=\\
+ MB_CACHE=%LOCALAPPDATA%
+else
+ MB_RM = rm -f
+ MB_RMDIR = rm -rf
+ MB_MKDIR = mkdir -p
+ MB_COPY = cp
+ MB_ERRIGNORE = 2>/dev/null
+ MB_SEP=/
+ MB_CACHE=~/.cache
+endif
+
+# Remove space after separator
+MB_PSEP = $(strip $(MB_SEP))
+
+# Needed for comma in call arguments (like for l80.com)
+MB_COMMA:=,
+
+define mb_clean
+ @echo === Cleaning build folder.
+ test $(1) && $(MB_RMDIR) $(1)
+endef
+define mb_mkdir
+ $(MB_MKDIR) $(1)
+endef
+define mb_delete
+ test $(1) && $(MB_RM) $(1)
+endef
+define mb_copy
+ $(MB_COPY) $(1) $(2)
+endef
+define mb_create_dist
+ tar -czf $(1) -C $(2) `ls $(2)`
+endef
diff --git a/lib/make/mb_build.mk b/lib/make/mb_build.mk
new file mode 100644
index 0000000..0c0a5f5
--- /dev/null
+++ b/lib/make/mb_build.mk
@@ -0,0 +1,59 @@
+
+MB_BUILD_FLAG_CPU ?= -mz80
+MB_BUILD_FLAG_LD ?= --nostdinc
+MB_BUILD_SDASM_FLAGS ?= -g -l -c -o
+MB_BUILD_SDCC_FLAGS ?=
+MB_BUILD_SDAR_FLAGS ?= -rc
+MB_BUILD_SDCC_CMD ?= $(PATH_SDCC)/sdcc
+MB_BUILD_SDASM_CMD ?= $(PATH_SDCC)/sdasz80
+MB_BUILD_SDAR_CMD ?= $(PATH_SDCC)/sdar
+MB_BUILD_SDOBJCOPY_CMD ?= $(PATH_SDCC)/sdobjcopy
+MB_BUILD_UNIX2DOS_CMD ?= $(PATH_UNIX2DOS)/unix2dos
+
+# TODO: Add C + mixed support;
+#$(MB_SDASM) -I$(MB_LIBASM_SRC)/include
+#-l$(LIBASM_LINK)
+
+define mb_unix2dos
+ $(MB_BUILD_UNIX2DOS_CMD) -n $(1) $(2)
+endef
+
+define mb_compile_asm
+ @echo === Compile module asm.
+ $(MB_BUILD_SDASM_CMD) $(MB_BUILD_SDASM_FLAGS) $(1) $(2)
+endef
+
+define mb_link_asm_lib
+ @echo === Link module asm lib.
+ $(MB_BUILD_SDAR_CMD) $(MB_BUILD_SDAR_FLAGS) $(1) $(2)
+endef
+
+define mb_link_asm
+ @echo === Link asm module at $(3)
+ $(MB_BUILD_SDCC_CMD) $(MB_BUILD_FLAG_CPU) $(MB_BUILD_SDCC_FLAGS) --no-std-crt0 --code-loc $(3) -o $(1) $(2)
+endef
+define mb_link_asm_0000
+ $(call mb_link_asm,$(1),$(2),0x0000)
+endef
+define mb_link_asm_0100
+ $(call mb_link_asm,$(1),$(2),0x0100)
+endef
+define mb_link_asm_1000
+ $(call mb_link_asm,$(1),$(2),0x1000)
+endef
+define mb_link_asm_4000
+ $(call mb_link_asm,$(1),$(2),0x4000)
+endef
+define mb_link_asm_8000
+ $(call mb_link_asm,$(1),$(2),0x8000)
+endef
+define mb_link_asm_C000
+ $(call mb_link_asm,$(1),$(2),0xC000)
+endef
+define mb_link_asm_dos
+ $(call mb_link_asm_0100,$(1),$(2))
+endef
+
+define mb_hex2bin
+ $(MB_BUILD_SDOBJCOPY_CMD) -I ihex --output-target=binary $(1) $(2)
+endef
diff --git a/lib/make/mb_env.mk b/lib/make/mb_env.mk
deleted file mode 100644
index 3d48113..0000000
--- a/lib/make/mb_env.mk
+++ /dev/null
@@ -1,141 +0,0 @@
-
-MB_ENV ?= on
-$(call mb-make-call,mb-doc-variable-deep,MB_ENV,Enables VERBOSE and DEBUG variable parsing.)
-
-
-#
-# Configure verbose mode
-#
-ifeq ("$(MB_ENV)", "on")
- ifdef VERBOSE
- ifeq ("$(VERBOSE)", "off")
- .SILENT:
- endif
- endif
- ifdef うるさい
- ifeq ("$(うるさい)", "ユニット")
- .SILENT:
- endif
- endif
- ifdef LUIDRUCHTIG
- ifeq ("$(LUIDRUCHTIG)", "uit")
- .SILENT:
- endif
- endif
- ifdef VERBOSA
- ifeq ("$(VERBOSA)", "traje")
- .SILENT:
- endif
- endif
- ifdef VERBOSO
- ifeq ("$(VERBOSO)", "traje")
- .SILENT:
- endif
- endif
- ifdef VERBEUSE
- ifeq ("$(VERBEUSE)", "dehors")
- .SILENT:
- endif
- endif
- ifdef VERBEUX
- ifeq ("$(VERBEUX)", "dehors")
- .SILENT:
- endif
- endif
- ifdef шумный
- ifeq ("$(шумный)", "вне")
- .SILENT:
- endif
- endif
- ifdef 吵雜
- ifeq ("$(吵雜)", "出去")
- .SILENT:
- endif
- endif
- ifdef वाचाल
- ifeq ("$(वाचाल)", "बंद")
- .SILENT:
- endif
- endif
- ifdef ᕗᕉᑉᕉᔅ
- ifeq ("$(ᕗᕉᑉᕉᔅ)", "ᖃᒥᓪᓗᒍ")
- .SILENT:
- endif
- endif
- ifndef VERBOSE
- ifndef うるさい
- ifndef LUIDRUCHTIG
- ifndef VERBOSA
- ifndef VERBOSO
- ifndef VERBEUSE
- ifndef VERBEUX
- ifndef шумный
- ifndef 吵雜
- ifndef वाचाल
- ifndef ᕗᕉᑉᕉᔅ
- .SILENT:
- endif
- endif
- endif
- endif
- endif
- endif
- endif
- endif
- endif
- endif
- endif
-endif
-
-
-#
-# Configure debug mode
-#
-ifeq ("$(MB_ENV)", "on")
- ifdef DEBUG
- ifneq ("$(DEBUG)", "off")
- MB_MAKE_CALL_DEBUG := $(DEBUG)
- endif
- endif
- ifdef ONTBEESTEN
- ifneq ("$(ONTBEESTEN)", "uit")
- MB_MAKE_CALL_DEBUG := $(ONTBEESTEN)
- endif
- endif
- ifdef デバッグ
- ifneq ("$(デバッグ)", "ユニット")
- MB_MAKE_CALL_DEBUG := $(デバッグ)
- endif
- endif
- ifdef DEPURAR
- ifneq ("$(DEPURAR)", "traje")
- MB_MAKE_CALL_DEBUG := $(DEPURAR)
- endif
- endif
- ifdef DÉBOGUER
- ifneq ("$(DÉBOGUER)", "dehors")
- MB_MAKE_CALL_DEBUG := $(DÉBOGUER)
- endif
- endif
- ifdef отлаживать
- ifneq ("$(отлаживать)", "вне")
- MB_MAKE_CALL_DEBUG := $(отлаживать)
- endif
- endif
- ifdef 偵錯
- ifneq ("$(偵錯)", "出去")
- MB_MAKE_CALL_DEBUG := $(偵錯)
- endif
- endif
- ifdef डिबग
- ifneq ("$(डिबग)", "बंद")
- MB_MAKE_CALL_DEBUG := $(डिबग)
- endif
- endif
- ifdef ᐃᕿᒡᒐᖅᑐᖅ
- ifneq ("$(ᐃᕿᒡᒐᖅᑐᖅ)", "ᖃᒥᓪᓗᒍ")
- MB_MAKE_CALL_DEBUG := $(ᐃᕿᒡᒐᖅᑐᖅ)
- endif
- endif
-endif
-
diff --git a/lib/make/mb_flight.mk b/lib/make/mb_flight.mk
deleted file mode 100644
index 5e5edb1..0000000
--- a/lib/make/mb_flight.mk
+++ /dev/null
@@ -1,88 +0,0 @@
-
-MB_FLIGHT_SCREEN ?= off
-$(call mb-make-call,mb-doc-variable,MB_FLIGHT_SCREEN,Creates screenshots on exit of openMSX.)
-
-MB_FLIGHT_VIDEO ?= off
-$(call mb-make-call,mb-doc-variable,MB_FLIGHT_VIDEO,Create video of every build pipe session.)
-
-MB_FLIGHT_PREFIX ?= msxbuild
-$(call mb-make-call,mb-doc-variable,MB_FLIGHT_PREFIX,Prefix for video and screenshot flight files.)
-
-MB_FLIGHT_SEPERATOR ?= -
-$(call mb-make-call,mb-doc-variable,MB_FLIGHT_SEPERATOR,File and index number seperator for flight files.)
-
-MB_FLIGHT_RECORD_FLAG ?= -doublesize
-$(call mb-make-call,mb-doc-variable,MB_FLIGHT_RECORD_FLAG,Command parameter flag of the video recorder.)
-
-MB_FLIGHT_VIDEO_NAME ?= night-flight
-$(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
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,Indexing flight videos)
-$(MB_ᕽᕽᕽ )find $(1) -type f -name '*.avi' -printf '%T@ %Tc %p\n' | sort -n | awk -F "$(1)/" -v s="file '" -v e="'" '{print s$$2e}' > $(1)/$(MB_FLIGHT_VIDEO_NAME).lst
-$(MB_ᕽᕽᕽ )ffmpeg -v quiet -y -f concat -safe 0 -i $(1)/$(MB_FLIGHT_VIDEO_NAME).lst -c copy $(1)/$(MB_FLIGHT_VIDEO_NAME).avi
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-remark,Flight video completed)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-flight-video-merge,Merged all flight videos to one.,
)
-
-
-define __mb-flight-proj-flow-video
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-@@flight-video-build: @build
-$(MB_@RECIPE)$$(if $$(filter on,$$(MB_FLIGHT_VIDEO)),$$(call mb-make-call,mb-flight-video-merge,$(1)))
-
-
-@flight-video-build: @clean
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_@RECIPE)MB_OPENMSX_HEADLESS$(MB_MAKE_EQUALS)off MB_FLIGHT_VIDEO$(MB_MAKE_EQUALS)on $$(MAKE) -s @@flight-video-build
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@flight-video-build,Runs @clean and @build with recorder and merges flight videos to one.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@flight-video-build)
-
-
-@@flight-video-test: @test
-$(MB_@RECIPE)$$(if $$(filter on,$$(MB_FLIGHT_VIDEO)),$$(call mb-make-call,mb-flight-video-merge,$(1)))
-
-
-@flight-video-test: @clean
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_@RECIPE)MB_OPENMSX_HEADLESS$(MB_MAKE_EQUALS)off MB_FLIGHT_VIDEO$(MB_MAKE_EQUALS)on $$(MAKE) @@flight-video-test
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@flight-video-test,Runs @clean and @test with recorder and merges flight videos to one.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@flight-video-test)
-
-
-@@flight-video-package-qa: @package-qa
-$(MB_@RECIPE)$$(if $$(filter on,$$(MB_FLIGHT_VIDEO)),$$(call mb-make-call,mb-flight-video-merge,$(1)))
-
-
-@flight-video-package-qa: @clean
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_@RECIPE)MB_OPENMSX_HEADLESS$(MB_MAKE_EQUALS)off MB_FLIGHT_VIDEO$(MB_MAKE_EQUALS)on $$(MAKE) @@flight-video-package-qa
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@flight-video-package-qa,Runs @clean and @package-qa with recorder and merges flight videos to one.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@flight-video-package-qa)
-
-
-@@flight-video-all: @all
-$(MB_@RECIPE)$$(if $$(filter on,$$(MB_FLIGHT_VIDEO)),$$(call mb-make-call,mb-flight-video-merge,$(1)))
-
-
-@flight-video-all: @clean
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_@RECIPE)MB_OPENMSX_HEADLESS$(MB_MAKE_EQUALS)off MB_FLIGHT_VIDEO$(MB_MAKE_EQUALS)on $$(MAKE) @@flight-video-all
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@flight-video-all,Runs @clean and @all with recorder and merges flight videos to one.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@flight-video-all)
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flight-proj-flow-video
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__$(0),$(1)))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flight-proj-flow-video,Prints flow for adding flight video targets in project build cycle.,)
-
diff --git a/lib/make/mb_msxhub.mk b/lib/make/mb_msxhub.mk
new file mode 100644
index 0000000..c0aef2a
--- /dev/null
+++ b/lib/make/mb_msxhub.mk
@@ -0,0 +1,22 @@
+
+MB_CACHE ?=~/.cache
+MB_MSXHUB_API ?= https://msxhub.com/api
+MB_MSXHUB_CACHE ?= $(MB_CACHE)/msxhub/repro-v0
+MB_MSXHUB_WGET ?= wget
+
+# NOTE: with HDD import/export we get duplicate files after openMSX run, so force to 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_msxhub_file_fetch
+ @echo === Fetch msxhub file
+ $(if $(wildcard $(dir $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1)))),,$(call mb_mkdir,$(dir $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1)))))
+ $(if $(wildcard $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1))),,$(MB_MSXHUB_WGET) -O $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1)) $(1))
+endef
+
+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 $(filter true,$(3)),$(call mb_copy,$(MB_MSXHUB_CACHE)/$(2),$(1)/$(call _mb_lowercase,$(notdir $(2)))))
+endef
diff --git a/lib/make/mb_openmsx.mk b/lib/make/mb_openmsx.mk
new file mode 100644
index 0000000..c8457dd
--- /dev/null
+++ b/lib/make/mb_openmsx.mk
@@ -0,0 +1,55 @@
+
+MB_OPENMSX_PATH_BIN ?= bin
+MB_OPENMSX_BOOT_TIMEOUT ?= 25
+MB_OPENMSX_MACHINE ?= Philips_NMS_8250
+MB_OPENMSX_SPEED ?= $(if $(findstring turboR,$(MB_OPENMSX_MACHINE)),100,333)
+MB_OPENMSX_EXTS ?=
+MB_OPENMSX_EXTRA_SLOT ?= -ext slotexpander
+MB_OPENMSX_EXTRA_MEM ?= -ext ram4mb
+MB_OPENMSX_EXTRA_HDD ?= -ext ide-nextor
+MB_OPENMSX_HDD_SIZE ?= 4m
+MB_OPENMSX_JOYPORTA ?=
+MB_OPENMSX_JOYPORTB ?=
+MB_OPENMSX_SCALE_FACTOR ?= 3
+MB_OPENMSX_THROTTLE ?= off
+MB_OPENMSX_RENDERER ?=
+MB_OPENMSX_SCRIPTS ?= ~/.openMSX/share/scripts
+MB_OPENMSX_SAVE_ON_EXIT ?= off
+MB_OPENMSX_ARGS = \
+ -machine $(MB_OPENMSX_MACHINE) \
+ $(MB_OPENMSX_EXTRA_SLOT) \
+ $(MB_OPENMSX_EXTRA_HDD) \
+ $(MB_OPENMSX_EXTRA_MEM) \
+ $(MB_OPENMSX_EXTS)
+
+define _mb_openmsx_setup
+ $(call mb_msxhub_file,$(MB_OPENMSX_SCRIPTS),OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.tcl)
+ $(call mb_msxhub_file,$(MB_OPENMSX_SCRIPTS),OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.com)
+ $(if $(wildcard $(MB_OPENMSX_SCRIPTS)/boot_env.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/boot_env.tcl,$(MB_OPENMSX_SCRIPTS)))
+ $(if $(wildcard $(MB_OPENMSX_SCRIPTS)/boot_hdd.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/boot_hdd.tcl,$(MB_OPENMSX_SCRIPTS)))
+ $(if $(wildcard $(MB_OPENMSX_SCRIPTS)/fail_after.tcl),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/fail_after.tcl,$(MB_OPENMSX_SCRIPTS)))
+ $(if $(wildcard ~/.openMSX/share/extensions/ide-nextor.xml),,$(call mb_copy,$(PATH_MSXBUILD_REAL)/lib/openmsx/ide-nextor.xml,~/.openMSX/share/extensions/))
+endef
+
+define _mb_openmsx_run
+ @echo === Running openMSX
+ FAIL_AFTER_BOOT=$(MB_OPENMSX_BOOT_TIMEOUT) \
+ FAIL_AFTER_PATH=$(MB_OPENMSX_PATH_BIN) \
+ BOOT_HDD_PATH="$(1)" \
+ BOOT_HDD_SIZE=$(MB_OPENMSX_HDD_SIZE) \
+ BOOT_HDD_IMAGE="$(MB_OPENMSX_PATH_BIN)/dsk-$(notdir $(1)).img" \
+ JOYPORTA=$(MB_OPENMSX_JOYPORTA) \
+ JOYPORTB=$(MB_OPENMSX_JOYPORTB) \
+ SCALE_FACTOR=$(MB_OPENMSX_SCALE_FACTOR) \
+ SPEED=$(MB_OPENMSX_SPEED) \
+ SAVE_SETTINGS_ON_EXIT=$(MB_OPENMSX_SAVE_ON_EXIT) \
+ RENDERER=$(MB_OPENMSX_RENDERER) \
+ THROTTLE=$(MB_OPENMSX_THROTTLE) \
+ $(PATH_OPENMSX)/openmsx $(MB_OPENMSX_ARGS) -control stdio < $(PATH_MSXBUILD_REAL)/lib/openmsx/boot_stdio.xml
+endef
+
+define mb_openmsx_dosctl
+ $(if $(wildcard $(MB_OPENMSX_SCRIPTS)/omsxctl.tcl),,$(call _mb_openmsx_setup))
+ $(if $(wildcard $(1)/omsxctl.com),,$(call mb_copy,$(MB_OPENMSX_SCRIPTS)/omsxctl.com,$(1)))
+ $(call _mb_openmsx_run,$(1))
+endef
diff --git a/lib/make/mb_packages.mk b/lib/make/mb_packages.mk
new file mode 100644
index 0000000..8e51354
--- /dev/null
+++ b/lib/make/mb_packages.mk
@@ -0,0 +1,99 @@
+# MSXHUB fetch package files functions
+define mb_package_emuctl
+ $(call mb_copy,$(PATH_MSXBUILD)/lib/emuctl/shutdown.bat,$(1))
+ $(call mb_copy,$(PATH_MSXBUILD)/lib/emuctl/z80.bat,$(1))
+endef
+
+#
+# Operating System
+#
+define mb_package_dos1
+ $(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_package_dos2
+ $(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
+define mb_package_nextor
+ $(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
+
+
+#
+# Compilers
+#
+define mb_package_macro80
+ $(call mb_msxhub_file,$(1),MACRO80/2.0-1/get/MACRO80/CREF80.COM)
+ $(call mb_msxhub_file,$(1),MACRO80/2.0-1/get/MACRO80/L80.COM)
+ $(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)
+ $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/HEXTOCOM.COM)
+ $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/HEXTOBIN.COM)
+endef
+define mb_package_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)
+ $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/HEXTOCOM.COM)
+ $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/PRL.COM)
+ $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/PRNTOSYM.COM)
+ $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/RSX.COM)
+ $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/ZSM.COM)
+ $(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
+
+
+#
+# Compressors
+#
+define mb_package_pmarc
+ $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMARC.COM)
+ $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMCAT.COM)
+ $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMEXE2.COM)
+ $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMEXT.COM)
+ $(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
+define mb_package_lhpack
+ $(call mb_msxhub_file,$(1),LHPACK/1.00-1/get/LHPACK/lhpack.com)
+endef
+define mb_package_lhext
+ $(call mb_msxhub_file,$(1),LHEXT/1.34-2/get/LHEXT/lhext.com)
+endef
+define mb_package_gunzip
+ $(call mb_msxhub_file,$(1),GUNZIP/1.1-1/get/GUNZIP/gunzip.com)
+endef
+define mb_package_tunzip
+ $(call mb_msxhub_file,$(1),TUNZIP/0.91-1/get/TUNZIP/tunzip.com)
+endef
+define mb_package_popcom
+ $(call mb_msxhub_file,$(1),POPCOM/1.00-2/get/POPCOM/popcom.com)
+endef
+
+
+#
+# Tools
+#
+define mb_package_turbo
+ $(call mb_msxhub_file,$(1),TURBO/2.1-1/get/TURBO/turbo.com)
+endef
+define mb_package_baskom
+ $(call mb_msxhub_file,$(1),BASKOM/1.0-1/get/BASKOM/baskom.com)
+endef
+define mb_package_binldr
+ $(call mb_msxhub_file,$(1),BINLDR/1.0.2-1/get/BINLDR/BINLDR.COM)
+endef
+define mb_package_dmphex
+ $(call mb_msxhub_file,$(1),DMPHEX/1.00-1/get/DMPHEX/dmphex.com)
+endef
+
+
+#
+# Graphics editors
+#
+define mb_package_gfxage
+ $(call mb_msxhub_file,$(1),GFXAGE/0.99-1/get/GFXAGE/gfxage.com)
+endef
+
diff --git a/lib/make/msxbuild.mk b/lib/make/msxbuild.mk
new file mode 100644
index 0000000..6022f7b
--- /dev/null
+++ b/lib/make/msxbuild.mk
@@ -0,0 +1,18 @@
+#
+# msxbuild.mk - Makefile helper to use with msx projects.
+#
+
+# Setup required tools paths
+PATH_SDCC ?= /usr/bin
+PATH_UNIX2DOS ?= /usr/bin
+PATH_OPENMSX ?= /usr/bin
+PATH_MSXBUILD ?= $(dir $(lastword $(MAKEFILE_LIST)))../..
+PATH_MSXBUILD_REAL := $(if $(realpath $(PATH_MSXBUILD)),$(realpath $(PATH_MSXBUILD)),$(PATH_MSXBUILD))
+
+# Include features
+include $(PATH_MSXBUILD)/lib/make/mb_base.mk
+include $(PATH_MSXBUILD)/lib/make/mb_autoexec.mk
+include $(PATH_MSXBUILD)/lib/make/mb_msxhub.mk
+include $(PATH_MSXBUILD)/lib/make/mb_packages.mk
+include $(PATH_MSXBUILD)/lib/make/mb_openmsx.mk
+include $(PATH_MSXBUILD)/lib/make/mb_build.mk
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_doc.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_doc.mk
deleted file mode 100644
index 6b047e1..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_doc.mk
+++ /dev/null
@@ -1,114 +0,0 @@
-
-MB_DOC_FIRE_VARIABLE_FLOW = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_VARIABLE = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_VARIABLE_DEEP = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_VARIABLE_ROCK = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_VARIABLE_I18N = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_FUNCTION = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_FUNCTION_DEEP = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_FUNCTION_FLOW = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_TARGET = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_TARGET_DEEP = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_TARGET_RUN = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_TARGET_MODULE = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_TARGET_ORPHAN = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_TARGET_ASSERT = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_FIRE_TARGET_HELP = $(call mb-make-call,mb-make-space-newline)
-MB_DOC_XML_ROOT := firemake
-MB_DOC_XML_ATTR_NAME := name
-MB_DOC_XML_ATTR_LEVEL := level
-MB_DOC_XML_TAG_ARGS := arguments
-MB_DOC_XML_TAG_DESC := description
-MB_DOC_XML_TAG_VALUE := value
-
-#MB_DOC_XML_TAG_MACHINE := machine
-#MB_DOC_FIRE_VARIABLE_ROCK += $(call mb-make-call,_mb-doc-variable4u-rock,MB_DOC_XML_TAG_MACHINE,XML machine tag for firemake output.)
-
-# rename now internal: _MB_DOC_FORMAT
-MB_DOC_FORMAT ?= txt
-#MB_DOC_FIRE_VARIABLE_DEEP += $(call mb-make-call,_mb-doc-variable4u-deep,MB_DOC_FORMAT,Output format of documention$(MB_MAKE_COMMA) only 'txt' or 'xml' is supported.)
-
-
-define _mb-doc-variable-txt
-$(MB_ᕽᕽᕽ )* $(2)$(MB_MAKE_EQUALS)$(4)$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(if $(3),$(call mb-make-call,mb-make-space-tab)$(3)$(call mb-make-call,mb-make-space-newline))$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-newline)
-endef
-define _mb-doc-variable-xml
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-open,variable,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(if $(4),$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-tag-value,$(MB_DOC_XML_TAG_VALUE),$(4))$(call mb-make-call,mb-make-space-newline))$\
-$(MB_ᕽᕽᕽ )$(if $(3),$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-tag-value,$(MB_DOC_XML_TAG_DESC),$(3))$(call mb-make-call,mb-make-space-newline))$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-close,variable)
-endef
-define mb-doc-variable
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_VARIABLE += $$(call mb-make-call,_mb-doc-variable-$$(MB_DOC_FORMAT),build,$(1),$(2),$($(1))))
-endef
-define mb-doc-variable-deep
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_VARIABLE_DEEP += $$(call mb-make-call,_mb-doc-variable-$$(MB_DOC_FORMAT),deep,$(1),$(2),$($(1))))
-endef
-define mb-doc-variable-rock
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_VARIABLE_ROCK += $$(call mb-make-call,_mb-doc-variable-$$(MB_DOC_FORMAT),rock,$(1),$(2),$($(1))))
-endef
-define mb-doc-variable-flow
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_VARIABLE_FLOW += $$(call mb-make-call,_mb-doc-variable-$$(MB_DOC_FORMAT),flow,$(1),$(2),$$(words $$($(1)))))
-endef
-define mb-doc-variable-i18n
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_VARIABLE_I18N += $$(call mb-make-call,_mb-doc-variable-$$(MB_DOC_FORMAT),i18n,$(1),$(2),$($(1))))
-endef
-
-
-define _mb-doc-function-txt
-$(MB_ᕽᕽᕽ )* $(2) $(if $(4),$(MB_MAKE_EQUALS) $(4))$(if $(3),$(call mb-make-call,mb-make-space-newline)$(call mb-make-call,mb-make-space-tab)$(3)$(call mb-make-call,mb-make-space-newline))$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-newline)
-endef
-define _mb-doc-function-xml
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-open,function,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(if $(4),$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-tag-value,$(MB_DOC_XML_TAG_ARGS),$(4))$(call mb-make-call,mb-make-space-newline))$\
-$(MB_ᕽᕽᕽ )$(if $(3),$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-tag-value,$(MB_DOC_XML_TAG_DESC),$(3))$(call mb-make-call,mb-make-space-newline))$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-close,function)
-endef
-define mb-doc-function
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_FUNCTION += $$(call mb-make-call,_mb-doc-function-$$(MB_DOC_FORMAT),build,$(1),$(2),$(3)))
-endef
-define mb-doc-function-deep
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_FUNCTION_DEEP += $$(call mb-make-call,_mb-doc-function-$$(MB_DOC_FORMAT),deep,$(1),$(2),$(3)))
-endef
-define mb-doc-function-flow
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_FUNCTION_FLOW += $$(call mb-make-call,_mb-doc-function-$$(MB_DOC_FORMAT),flow,$(1),$(2),$(3)))
-endef
-
-
-define _mb-doc-target-txt
-$(MB_ᕽᕽᕽ )* $(2)$(if $(3),$(call mb-make-call,mb-make-space-newline)$(call mb-make-call,mb-make-space-tab)$(3))$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-newline)
-endef
-define _mb-doc-target-xml
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-open,target,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(if $(3),$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-tag-value,$(MB_DOC_XML_TAG_DESC),$(3))$(call mb-make-call,mb-make-space-newline))$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-close,target)
-endef
-define mb-doc-target
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_TARGET += $$(call mb-make-call,_mb-doc-target-$$(MB_DOC_FORMAT),build,$(1),$(2)))
-endef
-define mb-doc-target-deep
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_TARGET_DEEP += $$(call mb-make-call,_mb-doc-target-$$(MB_DOC_FORMAT),deep,$(1),$(2)))
-endef
-define mb-doc-target-help
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_TARGET_HELP += $$(call mb-make-call,_mb-doc-target-$$(MB_DOC_FORMAT),help,$(1),$(2)))
-endef
-define mb-doc-target-run
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_TARGET_RUN += $$(call mb-make-call,_mb-doc-target-$$(MB_DOC_FORMAT),run,$(1),$(2)))
-endef
-define mb-doc-target-module
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_TARGET_MODULE += $$(call mb-make-call,_mb-doc-target-$$(MB_DOC_FORMAT),module,$(1),$(2)))
-endef
-define mb-doc-target-orphan
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_TARGET_ORPHAN += $$(call mb-make-call,_mb-doc-target-$$(MB_DOC_FORMAT),orphan,$(1),$(2)))
-endef
-define mb-doc-target-assert
-$(MB_ᕽᕽᕽ )$(eval MB_DOC_FIRE_TARGET_ASSERT += $$(call mb-make-call,_mb-doc-target-$$(MB_DOC_FORMAT),assert,$(1),$(2)))
-endef
-
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk
deleted file mode 100644
index affa547..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk
+++ /dev/null
@@ -1,43 +0,0 @@
-
-MB_MAKE_COMMA := ,
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_COMMA,Expanded special char; comma.)
-
-MB_MAKE_EQUALS := =
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_EQUALS,Expanded special char; equals.)
-
-MB_MAKE_APPEND := +$(MB_MAKE_EQUALS)
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_APPEND,Expanded special char; +equals.)
-
-MB_MAKE_HASH := \#
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_HASH,Expanded special char; hash.)
-
-MB_MAKE_COLON := :
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_COLON,Expanded special char; colon.)
-
-MB_MAKE_DOLLAR := $$
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_DOLLAR,Expanded special char; dollar.)
-
-
-define mb-make-target-phony
-.PHONY: $(1)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-flag-phony,Marks an target as phony.,)
-
-
-define mb-make-wildcard-treewalker
-$(MB_ᕽᕽᕽ )$(foreach _dir,$(wildcard $(1)*),$(call mb-make-wildcard-treewalker,$(_dir)/,$(2)) $(filter $(subst *,%,$(2)),$(_dir)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-wildcard-treewalker,Recursive wildcard search., )
-
-
-define mb-make-lowercase
-$(MB_ᕽᕽᕽ )$(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
-$(call mb-make-call,mb-doc-function-deep,mb-make-lowercase,Converts ascii string to lowercase.,)
-
-
-define mb-make-uppercase
-$(MB_ᕽᕽᕽ )$(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
-$(call mb-make-call,mb-doc-function-deep,mb-make-uppercase,Converts ascii string to uppercase.,)
-
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk
deleted file mode 100644
index 1946d10..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-
-MB_MAKE_CALL_DEBUG ?= off
-
-# Workaround for --warn-undefined-variables
-1 :=
-2 :=
-3 :=
-4 :=
-5 :=
-6 :=
-7 :=
-8 :=
-9 :=
-
-define _mb-make-call-debug
-$(MB_ᕽᕽᕽ )$(if $(filter off,$(MB_MAKE_CALL_DEBUG)),,$(if $(findstring mb-doc-,$(1)),,$(warning DEBUG $(1) ($(2),$(3),$(4),$(5),$(6),$(7),$(8),$(9)))))
-endef
-define mb-make-call
-$(MB_ᕽᕽᕽ )$(call _mb-make-call-debug,$(1),$(2),$(3),$(4),$(5),$(6),$(7),$(8),$(9))$(if $(filter file,$(origin $(1))),$(call $(1),$(2),$(3),$(4),$(5),$(6),$(7),$(8),$(9)),$(error $(1) is not defined))
-endef
-
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_check.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_check.mk
deleted file mode 100644
index 5e510fc..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_check.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-
-define mb-make-check-variable
-$(MB_ᕽᕽᕽ )$(if $($(1)),,$(error $(1): $(MB_I18N_MAKE_CHECK_VARIABLE)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-check-variable,Checks that a variable is not empty.,)
-
-
-define mb-make-check-value-valid
-$(MB_ᕽᕽᕽ )$(if $(filter $(2),$(3)),,$(error $(1): $(MB_I18N_MAKE_CHECK_VALUE_VALID) $(2) $(3)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-check-value-valid,Checks that a value is valid., )
-
-
-define mb-make-check-arg1
-$(MB_ᕽᕽᕽ )$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-check-arg1,Checks that a function has a given argument., )
-
-
-define mb-make-check-arg2
-$(MB_ᕽᕽᕽ )$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1))) \
-$(MB_ᕽᕽᕽ )$(if $(3),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG2)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-check-arg2,Checks that a function has the given arguments., )
-
-
-define mb-make-check-arg3
-$(MB_ᕽᕽᕽ )$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1))) \
-$(MB_ᕽᕽᕽ )$(if $(3),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG2))) \
-$(MB_ᕽᕽᕽ )$(if $(4),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG3)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-check-arg3,Checks that a function has the given arguments., )
-
-
-define mb-make-check-arg4
-$(MB_ᕽᕽᕽ )$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1))) \
-$(MB_ᕽᕽᕽ )$(if $(3),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG2))) \
-$(MB_ᕽᕽᕽ )$(if $(4),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG3))) \
-$(MB_ᕽᕽᕽ )$(if $(5),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG4)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-check-arg4,Checks that a function has the given arguments., )
-
-
-define mb-make-check-arg5
-$(MB_ᕽᕽᕽ )$(if $(2),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG1))) \
-$(MB_ᕽᕽᕽ )$(if $(3),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG2))) \
-$(MB_ᕽᕽᕽ )$(if $(4),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG3))) \
-$(MB_ᕽᕽᕽ )$(if $(5),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG4))) \
-$(MB_ᕽᕽᕽ )$(if $(6),,$(error $(1): $(MB_I18N_MAKE_CHECK_ARG5)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-check-arg5,Checks that a function has the given arguments., )
-
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_doc4u.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_doc4u.mk
deleted file mode 100644
index 6587eaa..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_doc4u.mk
+++ /dev/null
@@ -1,53 +0,0 @@
-
-# Wait until functions are parsed...
-
-#*** Recursive variable: $(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_VARIABLE_FLOW,Flow builder of fire flow variable data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_VARIABLE,Flow builder of firemake variable data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_VARIABLE_DEEP,Flow builder of makefire deep variable data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_VARIABLE_ROCK,Flow builder of makefire rock variable data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_VARIABLE_I18N,Flow builder of makefire i18n variable data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_FUNCTION,Flow builder of firemake function data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_FUNCTION_DEEP,Flow builder of firemake deep function data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_FUNCTION_FLOW,Flow builder of firemake flow function data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_TARGET,Flow builder of firemake target data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_TARGET_DEEP,Flow builder of firemake deep target data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_TARGET_RUN,Flow builder of firemake run target data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_TARGET_MODULE,Flow builder of firemake module target data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_TARGET_ORPHAN,Flow builder of firemake orphan target data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_TARGET_ASSERT,Flow builder of firemake assert target data.)
-$(call mb-make-call,mb-doc-variable-flow,MB_DOC_FIRE_TARGET_HELP,Flow builder of firemake help data.)
-$(call mb-make-call,mb-doc-variable-rock,MB_DOC_XML_ROOT,XML root tag for firemake output.)
-$(call mb-make-call,mb-doc-variable-rock,MB_DOC_XML_ATTR_NAME,XML name attribute for firemake output.)
-$(call mb-make-call,mb-doc-variable-rock,MB_DOC_XML_ATTR_LEVEL,XML level attribute for firemake output.)
-$(call mb-make-call,mb-doc-variable-rock,MB_DOC_XML_TAG_ARGS,XML arguments tag for firemake output.)
-$(call mb-make-call,mb-doc-variable-rock,MB_DOC_XML_TAG_DESC,XML description tag for firemake output.)
-$(call mb-make-call,mb-doc-variable-rock,MB_DOC_XML_TAG_VALUE,XML value tag for firemake output.)
-
-$(call mb-make-call,mb-doc-function-deep,mb-doc-variable,Saves formatted documention of an variable., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-variable-deep,Saves formatted documention of an deep variable., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-variable-rock,Saves formatted documention of an rock variable., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-variable-flow,Saves formatted documention of an flow variable., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-variable-i18n,Saves formatted documention of an i18n variable., [desc])
-
-$(call mb-make-call,mb-doc-function-deep,mb-doc-function,Saves formatted documention of an function., [desc] [args])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-function-deep,Saves formatted documention of an deep function., [desc] [args])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-function-flow,Saves formatted documention of an flow function., [desc] [args])
-
-$(call mb-make-call,mb-doc-function-deep,mb-doc-target,Saves formatted documention of an target., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-target-deep,Saves formatted documention of an deep target., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-target-help,Saves formatted documention of an help target., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-target_run,Saves formatted documention of an run target., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-target-module,Saves formatted documention of an module target., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-target-orphan,Saves formatted documention of an orphan target., [desc])
-$(call mb-make-call,mb-doc-function-deep,mb-doc-target-assert,Saves formatted documention of an assert target., [desc])
-
-# After doc, to have equal order to include order
-$(call mb-make-call,mb-doc-function-deep,mb-make-call,Checked origin call function wrapper., [args...])
-$(call mb-make-call,mb-doc-variable-deep,MB_MAKE_CALL_DEBUG,If on prints debug trace of all make calls.)
-
-# After make call for ordering
-$(call mb-make-call,mb-doc-function-deep,mb-make-space-newline,Prints a newline character.)
-$(call mb-make-call,mb-doc-function-deep,mb-make-space-tab,Prints a tab character.)
-$(call mb-make-call,mb-doc-function-deep,mb-make-space-white,Prints a white space character.)
-$(call mb-make-call,mb-doc-function-deep,mb-make-space-white-to-comma,Replaces all spaces with comma's., )
-
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk
deleted file mode 100644
index a10c783..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-
-define mb-make-module-path-src
-$(MB_ᕽᕽᕽ )$(1)$(abspath $(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-module-path-src,Convert current location folder as src folder.,)
-
-
-define mb-make-module-path-bin
-$(MB_ᕽᕽᕽ )$(2)$(abspath $(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-module-path-src,Convert current location folder as bin folder., )
-
-
-define mb-make-module-local-deps
-$(MB_ᕽᕽᕽ )$(foreach _dep,$(2),$(1)/$(notdir $(_dep)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-module-deps,Convert other files to local deps., )
-
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_space.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_space.mk
deleted file mode 100644
index 3ff12c1..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_space.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-
-define mb-make-space-newline
-$(MB_ᕽᕽᕽ )
-$(MB_ᕽᕽᕽ )
-endef
-
-
-define mb-make-space-tab
-$(MB_ᕽᕽᕽ ) $(MB_ᕽᕽᕽ )
-endef
-
-
-define mb-make-space-white
-$(MB_ᕽᕽᕽ )$(subst ,, )
-endef
-
-
-define mb-make-space-white-to-comma
-$(MB_ᕽᕽᕽ )$(subst $(call mb-make-call,mb-make-space-white),$(MB_MAKE_COMMA),$(1))
-endef
-
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_xml.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_xml.mk
deleted file mode 100644
index 4db576b..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_xml.mk
+++ /dev/null
@@ -1,62 +0,0 @@
-
-MB_MAKE_XML_LT := <
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_XML_LT,Expanded special char; lesser than.)
-
-MB_MAKE_XML_GT := >
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_XML_GT,Expanded special char; greater than.)
-
-MB_MAKE_XML_CDATA_START :=
-$(call mb-make-call,mb-doc-variable-rock,MB_MAKE_XML_CDATA_END,Expanded special char; XML cdata end.)
-
-
-define mb-make-xml-prolog
-$(MB_ᕽᕽᕽ )$(MB_MAKE_XML_LT)$\
-$(MB_ᕽᕽᕽ )?xml version$(MB_MAKE_EQUALS)"1.0" ?$\
-$(MB_ᕽᕽᕽ )$(MB_MAKE_XML_GT)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-xml-prolog,Print xml document prolog.)
-
-
-define mb-make-xml-escape-attr-value
-$(MB_ᕽᕽᕽ )$(subst ',',$(subst ","e;,$(subst &,&,$(subst <,<,$(subst >,>,$(subst $(MB_MAKE_XML_CDATA_START),,$(subst $(MB_MAKE_XML_CDATA_END),,$(1))))))))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-xml-escape-attr-value,Prints escaped XML attribute value.,)
-
-
-define mb-make-xml-escape-tag-body
-$(MB_ᕽᕽᕽ )$(subst $(MB_MAKE_XML_CDATA_START),,$(subst $(MB_MAKE_XML_CDATA_END),,$(1)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-xml-escape-tag-body,Prints escaped XML element/tag body value.,)
-
-
-define mb-make-xml-open
-$(MB_ᕽᕽᕽ )$(MB_MAKE_XML_LT)$(1)$\
-$(MB_ᕽᕽᕽ )$(if $(2), $(2)$(MB_MAKE_EQUALS)"$(call mb-make-call,mb-make-xml-escape-attr-value,$(3))")$\
-$(MB_ᕽᕽᕽ )$(if $(4), $(4)$(MB_MAKE_EQUALS)"$(call mb-make-call,mb-make-xml-escape-attr-value,$(5))")$\
-$(MB_ᕽᕽᕽ )$(MB_MAKE_XML_GT)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-xml-open,Print xml open tag., [attr1-name] [attr1-value] [attr2-name] [attr2-value])
-
-
-define mb-make-xml-close
-$(MB_ᕽᕽᕽ )$(MB_MAKE_XML_LT)/$(1)$(MB_MAKE_XML_GT)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-xml-close,Print xml close tag.,)
-
-
-define mb-make-xml-value
-$(MB_ᕽᕽᕽ )$(MB_MAKE_XML_CDATA_START)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-xml-escape-tag-body,$(1))$\
-$(MB_ᕽᕽᕽ )$(MB_MAKE_XML_CDATA_END)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-xml-value,Print xml value in cdata wrapper.,)
-
-
-define mb-make-xml-tag-value
-$(MB_ᕽᕽᕽ )$(if $(2),$(call mb-make-call,mb-make-xml-open,$(1))$(call mb-make-call,mb-make-xml-value,$(2))$(call mb-make-call,mb-make-xml-close,$(1)))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-make-xml-tag-value,Print xml tag with value inside., [value])
-
diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_xxx.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_xxx.mk
deleted file mode 100644
index 3194c5c..0000000
--- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_xxx.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Latin1 white space and latin1 tab space are not usable in makefiles.
-# Setup private chinese white space
-#
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-MB_ᕽᕽᕽ :=
-
-# Defines the real white space " " variable for line wrapping without white space
-$(eval $$(subst ,, ) :=)
-
diff --git a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_conv.mk b/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_conv.mk
deleted file mode 100644
index 04929c0..0000000
--- a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_conv.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-
-define mb-conv-unix2dos
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_CONV_UNIX2DOS) $(2))
-$(MB_ᕽᕽᕽ )unix2dos -q -n $(1) $(2)
-endef
-$(call mb-make-call,mb-doc-function,mb-conv-unix2dos,Converts an unix file to dos., )
-
-
-define mb-conv-dos2unix
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg2,mb-conv-dos2unix,$(1),$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_CONV_DOS2UNIX) $(2))
-$(MB_ᕽᕽᕽ )dos2unix -q -n $(1) $(2)
-endef
-$(call mb-make-call,mb-doc-function,mb-conv-dos2unix,Converts an dos file to unix., )
-
diff --git a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk b/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk
deleted file mode 100644
index c2b8b6c..0000000
--- a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk
+++ /dev/null
@@ -1,75 +0,0 @@
-
-MB_NESTOR80_PATH ?=
-$(call mb-make-call,mb-doc-variable,MB_NESTOR80_PATH,Optional path where Nestor80 binaries are located.)
-
-MB_NESTOR80_FLAG_VERBOSE ?=--no-show-banner --no-color-output --verbosity 0
-$(call mb-make-call,mb-doc-variable-deep,MB_NESTOR80_FLAG_VERBOSE,The Nestor80 shared verbose flags.)
-
-MB_NESTOR80_N80_FLAGS ?=
-$(call mb-make-call,mb-doc-variable-deep,MB_NESTOR80_N80_FLAGS,The N80 compile flags.)
-
-MB_NESTOR80_LK80_FLAGS ?=
-$(call mb-make-call,mb-doc-variable-deep,MB_NESTOR80_LK80_FLAGS,The LK80 linker flags.)
-
-
-define _mb-nestor80-path
-$(MB_ᕽᕽᕽ )$(if $(MB_NESTOR80_PATH),$(MB_NESTOR80_PATH)/$(1),$(1))
-endef
-
-
-define mb-nestor80-compile
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_NESTOR80_COMPILE) $(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-nestor80-path,N80) $(1) $(2) $(MB_NESTOR80_N80_FLAGS) $(MB_NESTOR80_FLAG_VERBOSE)
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-compile,Compiles source code., )
-
-
-# TODO: Create BUG for LK80 it prints one new line, which is illigal white space on normal execution style
-define mb-nestor80-link
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_NESTOR80_LINK) $(2) @ $(3))
-$(MB_ᕽᕽᕽ )@echo "$(MB_I18N_OS_CRAYON_TAG) `$(call mb-make-call,_mb-nestor80-path,LK80) $(MB_NESTOR80_LK80_FLAGS) $(MB_NESTOR80_FLAG_VERBOSE) --code $(3) --output-format bin -o $(2) $(1)`"
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-link,Links to custom code location., )
-
-
-define mb-nestor80-link-0000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-nestor80-link,$(1),$(2),0000h)
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-link-0000,Links to 0x0000., )
-
-
-define mb-nestor80-link-0100
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-nestor80-link,$(1),$(2),0100h)
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-link-0100,Links to 0x0100., )
-
-
-define mb-nestor80-link-1000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-nestor80-link,$(1),$(2),1000h)
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-link-1000,Links to 0x1000., )
-
-
-define mb-nestor80-link-4000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-nestor80-link,$(1),$(2),4000h)
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-link-4000,Links to 0x4000., )
-
-
-define mb-nestor80-link-8000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-nestor80-link,$(1),$(2),8000h)
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-link-8000,Links to 0x8000., )
-
-
-define mb-nestor80-link-C000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-nestor80-link,$(1),$(2),C000h)
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-link-C000,Links to 0xC000., )
-
-
-define mb-nestor80-link-bdos
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-nestor80-link-0100,$(1),$(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-nestor80-link-bdos,Links to BDOS., )
-
diff --git a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_os.mk b/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_os.mk
deleted file mode 100644
index cbe3a56..0000000
--- a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_os.mk
+++ /dev/null
@@ -1,127 +0,0 @@
-
-MB_OS_RM ?= rm -f
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_RM,Native OS delete command.)
-
-MB_OS_RMDIR ?= rm -rf
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_RMDIR,Native OS remove folder command.)
-
-MB_OS_MKDIR ?= mkdir -p
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_MKDIR,Native OS create folder command.)
-
-MB_OS_COPY ?= cp
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_COPY,Native OS copy command.)
-
-MB_OS_STDOUT_IGNORE ?= >/dev/null
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_STDOUT_IGNORE,Native OS ignore stdout.)
-
-MB_OS_STDERR_IGNORE ?= 2>/dev/null
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_STDERR_IGNORE,Native OS ignore stderr.)
-
-MB_OS_SEP ?=/
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_SEP,Native OS path seperator.)
-
-MB_OS_CACHE ?= ~/.cache
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_CACHE,Native OS application cache folder.)
-
-MB_OS_TERM_COLORS ?= $(shell tput colors 2> /dev/null;test $$? -eq 0 || echo -1)
-$(call mb-make-call,mb-doc-variable-rock,MB_OS_TERM_COLORS,Native OS terminal color count support.)
-
-
-ifdef OS
-ifeq ($(OS),Windows_NT)
-$(MB_ᕽᕽᕽ )MB_OS_RM ?= del /F /Q
-$(MB_ᕽᕽᕽ )MB_OS_RMDIR ?= RMDIR /S /Q
-$(MB_ᕽᕽᕽ )MB_OS_MKDIR ?= mkdir
-$(MB_ᕽᕽᕽ )MB_OS_COPY ?= copy
-$(MB_ᕽᕽᕽ )MB_OS_STDOUT_IGNORE ?= >NUL
-$(MB_ᕽᕽᕽ )MB_OS_STDERR_IGNORE ?= 2>NUL || true
-$(MB_ᕽᕽᕽ )MB_OS_SEP ?=\
-$(MB_ᕽᕽᕽ )MB_OS_CACHE ?= %LOCALAPPDATA%
-$(MB_ᕽᕽᕽ )MB_OS_TERM_COLORS ?= -1
-endif
-endif
-
-
-define mb-os-file-empty
-$(MB_ᕽᕽᕽ )$(file >$(1))
-endef
-$(call mb-make-call,mb-doc-function,mb-os-file-empty,Makes an file empty.,)
-
-
-define mb-os-file-append
-$(MB_ᕽᕽᕽ )$(file >>$(1),$(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-os-file-append,Appends text to an file, )
-
-
-define mb-os-file-copy
-$(MB_ᕽᕽᕽ )$(MB_OS_COPY) $(1) $(2)
-endef
-$(call mb-make-call,mb-doc-function,mb-os-file-copy,Copy an file., )
-
-
-define mb-os-file-delete
-$(MB_ᕽᕽᕽ )$(MB_OS_RM) $(1)
-endef
-$(call mb-make-call,mb-doc-function,mb-os-file-delete,Deletes an file.,)
-
-
-define mb-os-file-touch
-$(MB_ᕽᕽᕽ )touch $(1)
-endef
-$(call mb-make-call,mb-doc-function,mb-os-file_touch,Changes file timestamps.,)
-
-
-define mb-os-dir-delete
-$(MB_ᕽᕽᕽ )$(MB_OS_RMDIR) $(1)
-endef
-$(call mb-make-call,mb-doc-function,mb-os-dir-delete,Delete the full folder.,)
-
-
-define mb-os-dir-create
-$(MB_ᕽᕽᕽ )$(MB_OS_MKDIR) $(1)
-endef
-$(call mb-make-call,mb-doc-function,mb-os-dir-create,Creates an folder.,)
-
-
-define mb-os-crayon-tagged-echo
-$(MB_ᕽᕽᕽ )$(if $(filter -1,$(MB_OS_TERM_COLORS)),@echo $(MB_I18N_OS_CRAYON_TAG) $(2),@echo -e "\x1B[$(1)m$(MB_I18N_OS_CRAYON_TAG)\x1B[39m $(2)")
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-os-crayon-tagged-echo,Echo's an prefixed message to stdout with ansi color code., )
-
-
-define mb-os-echo-report
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-crayon-tagged-echo,31,$(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-os-echo-report,Echo's an message to stdout with 'red' crayon.,)
-
-
-define mb-os-echo-good
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-crayon-tagged-echo,32,$(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-os-echo-good,Echo's an message to stdout with 'green' crayon.,)
-
-
-define mb-os-echo-assert
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-crayon-tagged-echo,33,$(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-os-echo-assert,Echo's an message to stdout with 'yellow' crayon.,)
-
-
-define mb-os-echo-command
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-crayon-tagged-echo,34,$(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-os-echo-command,Echo's an message to stdout with 'blue' crayon.,)
-
-
-define mb-os-echo-phase
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-crayon-tagged-echo,35,$(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-os-echo-phase,Echo's an message to stdout with 'magenta' crayon.,)
-
-
-define mb-os-echo-remark
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-crayon-tagged-echo,36,$(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-os-echo-alert,Echo's an message to stdout with 'cyan' crayon.,)
-
diff --git a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_package.mk b/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_package.mk
deleted file mode 100644
index e379ee6..0000000
--- a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_package.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-
-define mb-package-create-archive
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_PACKAGE_CREATE_ARCHIVE) $(2))
-$(MB_ᕽᕽᕽ )tar -czf $(2) -C $(1) `ls $(1)`
-endef
-$(call mb-make-call,mb-doc-function,mb-package-create_archive,Create an distribution archive., )
-
diff --git a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk b/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk
deleted file mode 100644
index dc94304..0000000
--- a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk
+++ /dev/null
@@ -1,100 +0,0 @@
-
-MB_SDCC_PATH ?=
-$(call mb-make-call,mb-doc-variable,MB_SDCC_PATH,Optional path where SDCC binaries are located.)
-
-MB_SDCC_FLAG_CPU ?= -mz80
-$(call mb-make-call,mb-doc-variable-deep,MB_SDCC_FLAG_CPU,The SDCC cpu target option.)
-
-MB_SDCC_FLAG_LD ?= --nostdinc
-$(call mb-make-call,mb-doc-variable-deep,MB_SDCC_FLAG_LD,The SDCC linker option.)
-
-# TODO: add maplib (auto?) support; -I$(MB_@BASEPATH)maplib/sdcc/
-MB_SDCC_ASZ80_FLAGS ?= -g -l -c -o
-$(call mb-make-call,mb-doc-variable-deep,MB_SDCC_ASZ80_FLAGS,The SDCC z80 asm compiler flags.)
-
-MB_SDCC_CC_FLAGS ?=
-$(call mb-make-call,mb-doc-variable-deep,MB_SDCC_CC_FLAGS,The SDCC C compiler flags.)
-
-MB_SDCC_AR_FLAGS ?= -rc
-$(call mb-make-call,mb-doc-variable-deep,MB_SDCC_AR_FLAGS,The SDCC module archive flags.)
-
-
-# TODO: Add C + mixed support;
-#$(MB_SDASM) -I$(MB_LIBASM_SRC)/include
-#-l$(LIBASM_LINK)
-
-
-define _mb-sdcc-path
-$(MB_ᕽᕽᕽ )$(if $(MB_SDCC_PATH),$(MB_SDCC_PATH)/$(1),$(1))
-endef
-
-
-define mb-sdcc-compile-asm
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_SDCC_COMPILE) $(2) - ASM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-sdcc-path,sdasz80) $(MB_SDCC_ASZ80_FLAGS) $(2) $(1)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-compile-asm,Compiles asm source code., )
-
-
-define mb-sdcc-arlib-asm
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_SDCC_ARLIB) $(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-sdcc-path,sdar) $(MB_SDCC_AR_FLAGS) $(1) $(2)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-arlib-asm,Link asm lib module., )
-
-
-define mb-sdcc-link-asm
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_SDCC_LINK) $(2) - ASM @ $(3))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-sdcc-path,sdcc) $(MB_SDCC_FLAG_CPU) $(MB_SDCC_CC_FLAGS) --no-std-crt0 --code-loc $(3) -o $(2) $(1)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-link-asm,Links asm to custom code location., )
-
-
-define mb-sdcc-link-asm-0000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-sdcc-link-asm,$(1),$(2),0x0000)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-link-asm-0000,Links asm to 0x0000., )
-
-
-define mb-sdcc-link-asm-0100
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-sdcc-link-asm,$(1),$(2),0x0100)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-link-asm-0100,Links asm to 0x0100., )
-
-
-define mb-sdcc-link-asm-1000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-sdcc-link-asm,$(1),$(2),0x1000)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-link-asm-1000,Links asm to 0x1000., )
-
-
-define mb-sdcc-link-asm-4000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-sdcc-link-asm,$(1),$(2),0x4000)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-link-asm-4000,Links asm to 0x4000., )
-
-
-define mb-sdcc-link-asm-8000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-sdcc-link-asm,$(1),$(2),0x8000)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-link-asm-8000,Links asm to 0x8000., )
-
-
-define mb-sdcc-link-asm-C000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-sdcc-link-asm,$(1),$(2),0xC000)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-link-asm-C000,Links asm to 0xC000., )
-
-
-define mb-sdcc-link-asm-bdos
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-sdcc-link-asm-0100,$(1),$(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-link-asm-bdos,Links asm to BDOS., )
-
-
-define mb-sdcc-objcopy
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_SDCC_OBJCOPY) $(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-sdcc-path,sdobjcopy) -I ihex --output-target$(MB_MAKE_EQUALS)binary $(1) $(2)
-endef
-$(call mb-make-call,mb-doc-function,mb-sdcc-objcopy,Converts an hex file to binary., )
-
diff --git a/lib/make/ i18n/mb_i18n.mk b/lib/make/ i18n/mb_i18n.mk
deleted file mode 100644
index 61669f2..0000000
--- a/lib/make/ i18n/mb_i18n.mk
+++ /dev/null
@@ -1,169 +0,0 @@
-
-MB_I18N ?=
-$(call mb-make-call,mb-doc-variable,MB_I18N,The language code to select the i18n pack.)
-
-MB_I18N_ASSERT_SUCCESS ?= Assert successfull
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_ASSERT_SUCCESS,Message for when assertion test is successfull.)
-
-MB_I18N_ASSERT_FAILURE ?= Assert failure
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_ASSERT_FAILURE,Message for when assertion test is failed.)
-
-MB_I18N_AUTOEXEC_WRITE ?= Write autoexec for
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_AUTOEXEC_WRITE,Message for when writing a default autoexec.)
-
-MB_I18N_CONV_UNIX2DOS ?= Convert to dos-EOL
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_CONV_UNIX2DOS,Message for when converting a file to dos.)
-
-MB_I18N_CONV_DOS2UNIX ?= Convert to nix-EOL
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_CONV_DOS2UNIX,Message for when converting a file to unix.)
-
-MB_I18N_PACKAGE_CREATE_ARCHIVE ?= Build distribution archive
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PACKAGE_CREATE_ARCHIVE,Message for when creating a archive.)
-
-MB_I18N_MAKE_CHECK_VARIABLE ?= Variable is empty
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MAKE_CHECK_VARIABLE,Error message when an variable is empty.)
-
-MB_I18N_MAKE_CHECK_VALUE_VALID ?= Value is not valid
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MAKE_CHECK_VALUE_VALID,Error message when the value is invalid.)
-
-MB_I18N_MAKE_CHECK_ARG1 ?= Argument 1 is missing
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MAKE_CHECK_ARG1,Error message when argument 1 is missing.)
-
-MB_I18N_MAKE_CHECK_ARG2 ?= Argument 2 is missing
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MAKE_CHECK_ARG2,Error message when argument 2 is missing.)
-
-MB_I18N_MAKE_CHECK_ARG3 ?= Argument 3 is missing
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MAKE_CHECK_ARG3,Error message when argument 3 is missing.)
-
-MB_I18N_MAKE_CHECK_ARG4 ?= Argument 4 is missing
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MAKE_CHECK_ARG4,Error message when argument 4 is missing.)
-
-MB_I18N_MAKE_CHECK_ARG5 ?= Argument 5 is missing
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MAKE_CHECK_ARG5,Error message when argument 5 is missing.)
-
-MB_I18N_MSXHUB_FILE_FETCH ?= Fetch msxhub file
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MSXHUB_FILE_FETCH,Message for when fetching a msxhub file.)
-
-MB_I18N_MSXROM_FILE_FETCH ?= Fetch msxrom file
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_MSXROM_FILE_FETCH,Message for when fetching a msxrom file.)
-
-MB_I18N_OPENMSX_STARTUP ?= Start openMSX! for
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_OPENMSX_STARTUP,Message used on startup of openMSX.)
-
-MB_I18N_OS_CRAYON_TAG ?= ===
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_OS_CRAYON_TAG,Crayon tag colored prefix to a message.)
-
-MB_I18N_PROJ_STEP_BEFORE ?= -- Before
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_STEP_BEFORE,Prefix for begin phase message.)
-
-MB_I18N_PROJ_STEP_AFTER ?= ---- After
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_STEP_AFTER,Prefix for after phase message.)
-
-MB_I18N_PROJ_STEP_DONE ?= Finished executing prime pi target
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_STEP_DONE,Message for requested phase completed.)
-
-MB_I18N_PROJ_DIR_CREATE ?= Creating folder
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_DIR_CREATE,Message for creating a folder.)
-
-MB_I18N_PROJ_DIR_DELETE ?= Removing folder
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_DIR_DELETE,Message for deleting a folder.)
-
-MB_I18N_PROJ_ASSERT_COUNT ?= Total assertions done
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_ASSERT_COUNT,Message for reporting the assertion count of a phase.)
-
-MB_I18N_PROJ_OPENMSX_COUNT ?= Total openMSX invokes
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_OPENMSX_COUNT,Message for reporting the openMSX invoke count of a session.)
-
-MB_I18N_FLOW_CLONE_REPORT ?= Clone troopers
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_FLOW_CLONE_REPORT,Message for total amount of cloned files.)
-
-MB_I18N_NESTOR80_COMPILE ?= Nestor80 compile
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_NESTOR80_COMPILE,Message for Nestor80 compiler run.)
-
-MB_I18N_NESTOR80_LINK ?= Nestor80 linking
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_NESTOR80_LINK,Message for Nestor80 linker run.)
-
-MB_I18N_SDCC_COMPILE ?= SDCC Compile super
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_SDCC_COMPILE,Message for SDCC compiler run.)
-
-MB_I18N_SDCC_ARLIB ?= SDCC Builder arlib
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_SDCC_ARLIB,Message for SDCC lib archive tool.)
-
-MB_I18N_SDCC_LINK ?= SDCC Linker MSXlib
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_SDCC_LINK,Message for SDCC linker run.)
-
-MB_I18N_SDCC_OBJCOPY ?= SDCC sdobjcopy for
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_SDCC_OBJCOPY,Message for SDCC objcopy run.)
-
-MB_I18N_PROJ_PHASEID_CLEAN ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_CLEAN,Local command of clean target.)
-
-MB_I18N_PROJ_PHASEDOC_CLEAN ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_CLEAN,Local documentation of clean target.)
-
-MB_I18N_PROJ_PHASEID_INIT ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_INIT,Local command of init target.)
-
-MB_I18N_PROJ_PHASEDOC_INIT ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_INIT,Local documentation of init target.)
-
-MB_I18N_PROJ_PHASEID_PREPARE ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_PREPARE,Local command of prepare target.)
-
-MB_I18N_PROJ_PHASEDOC_PREPARE ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_PREPARE,Local documentation of prepare target.)
-
-MB_I18N_PROJ_PHASEID_PROCESS ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_PROCESS,Local command of proces target.)
-
-MB_I18N_PROJ_PHASEDOC_PROCESS ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_PROCESS,Local documentation of process target.)
-
-MB_I18N_PROJ_PHASEID_COMPILE ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_COMPILE,Local command of compile target.)
-
-MB_I18N_PROJ_PHASEDOC_COMPILE ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_COMPILE,Local documentation of compile target.)
-
-MB_I18N_PROJ_PHASEID_LINK ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_LINK,Local command of link target.)
-
-MB_I18N_PROJ_PHASEDOC_LINK ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_LINK,Local documentation of link target.)
-
-MB_I18N_PROJ_PHASEID_BUILD ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_BUILD,Local command of build target.)
-
-MB_I18N_PROJ_PHASEDOC_BUILD ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_BUILD,Local documentation of build target.)
-
-MB_I18N_PROJ_PHASEID_TEST ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_TEST,Local command of test target.)
-
-MB_I18N_PROJ_PHASEDOC_TEST ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_TEST,Local documentation of test target.)
-
-MB_I18N_PROJ_PHASEID_PACKAGE ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_PACKAGE,Local command of package target.)
-
-MB_I18N_PROJ_PHASEDOC_PACKAGE ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_PACKAGE,Local documentation of package target.)
-
-MB_I18N_PROJ_PHASEID_PACKAGE_QA ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_PACKAGE_QA,Local command of package-qa target.)
-
-MB_I18N_PROJ_PHASEDOC_PACKAGE_QA ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_PACKAGE_QA,Local documentation of package-qa target.)
-
-MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY,Local command of package-deploy target.)
-
-MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY,Local documentation of package-deploy target.)
-
-MB_I18N_PROJ_PHASEID_ALL ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEID_ALL,Local command of all target.)
-
-MB_I18N_PROJ_PHASEDOC_ALL ?=
-$(call mb-make-call,mb-doc-variable-i18n,MB_I18N_PROJ_PHASEDOC_ALL,Local documentation of all target.)
-
diff --git a/lib/make/ i18n/mb_i18n_BASIC.mk b/lib/make/ i18n/mb_i18n_BASIC.mk
deleted file mode 100644
index 063d66e..0000000
--- a/lib/make/ i18n/mb_i18n_BASIC.mk
+++ /dev/null
@@ -1,57 +0,0 @@
-
-MB_I18N_ASSERT_SUCCESS = ASSERTED DONE:
-MB_I18N_ASSERT_FAILURE = ASSERTION FAILED:
-MB_I18N_AUTOEXEC_WRITE = WRITE BOOSTER:
-MB_I18N_CONV_UNIX2DOS = CONV UNIX2DOS:
-MB_I18N_CONV_DOS2UNIX = CONV DOS2UNIX:
-MB_I18N_PACKAGE_CREATE_ARCHIVE = BUILD ARCHIVE:
-MB_I18N_MAKE_CHECK_VARIABLE = VARIABLE EMPTY
-MB_I18N_MAKE_CHECK_VALUE_VALID = VALUE ERROR
-MB_I18N_MAKE_CHECK_ARG1 = ARG 1 FAIL
-MB_I18N_MAKE_CHECK_ARG2 = ARG 2 FAIL
-MB_I18N_MAKE_CHECK_ARG3 = ARG 3 FAIL
-MB_I18N_MAKE_CHECK_ARG4 = ARG 4 FAIL
-MB_I18N_MAKE_CHECK_ARG5 = ARG 5 FAIL
-MB_I18N_MSXHUB_FILE_FETCH = FETCH MSXHUB:
-MB_I18N_MSXROM_FILE_FETCH = FETCH MSXROM:
-MB_I18N_OPENMSX_STARTUP = BOOT! OPENMSX:
-MB_I18N_OS_CRAYON_TAG = MSX⁴
-MB_I18N_PROJ_STEP_BEFORE = $(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH) BEFORE
-MB_I18N_PROJ_STEP_AFTER = $(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH) AFTER
-MB_I18N_PROJ_STEP_DONE = RUN COMPLETED:
-MB_I18N_PROJ_DIR_CREATE = FOLDER CREATE:
-MB_I18N_PROJ_DIR_DELETE = FOLDER DELETE:
-MB_I18N_PROJ_ASSERT_COUNT = TOTAL ASSERT$(MB_MAKE_HASH):
-MB_I18N_PROJ_OPENMSX_COUNT = TOTAL EMUCTL$(MB_MAKE_HASH):
-MB_I18N_FLOW_CLONE_REPORT = GEM⁴ TROOPERS:
-MB_I18N_NESTOR80_COMPILE = N80 _CHURCH[]:
-MB_I18N_NESTOR80_LINK = LK80 PRAYER[]:
-MB_I18N_SDCC_COMPILE = ATARI COMPILE:
-MB_I18N_SDCC_ARLIB = ATARI ARLIB:
-MB_I18N_SDCC_LINK = ATARI LINK []:
-MB_I18N_SDCC_OBJCOPY = ATARI OBJCOPY:
-MB_I18N_PROJ_PHASEID_CLEAN = CLEAN
-MB_I18N_PROJ_PHASEDOC_CLEAN = DELETE SMURFS
-MB_I18N_PROJ_PHASEID_INIT = INIT
-MB_I18N_PROJ_PHASEDOC_INIT = INIT PLASTIC
-MB_I18N_PROJ_PHASEID_PREPARE = PREPARE
-MB_I18N_PROJ_PHASEDOC_PREPARE = PREPARE PLASTIC
-MB_I18N_PROJ_PHASEID_PROCESS = PROCESS
-MB_I18N_PROJ_PHASEDOC_PROCESS = PROCESS MOLD PART
-MB_I18N_PROJ_PHASEID_COMPILE = COMPILE
-MB_I18N_PROJ_PHASEDOC_COMPILE = COMPILE MOLD PART
-MB_I18N_PROJ_PHASEID_LINK = LINK
-MB_I18N_PROJ_PHASEDOC_LINK = LINK PART LEGO
-MB_I18N_PROJ_PHASEID_BUILD = BUILD
-MB_I18N_PROJ_PHASEDOC_BUILD = BUILD LEGO
-MB_I18N_PROJ_PHASEID_TEST = TEST
-MB_I18N_PROJ_PHASEDOC_TEST = TEST LEGO
-MB_I18N_PROJ_PHASEID_PACKAGE = PACKAGE
-MB_I18N_PROJ_PHASEDOC_PACKAGE = PACKAGE LEGO BOX
-MB_I18N_PROJ_PHASEID_PACKAGE_QA = PACKAGE_QA
-MB_I18N_PROJ_PHASEDOC_PACKAGE_QA = PACKAGE BURN LEGO BOX
-MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY = PACKAGE_DEPLOY
-MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY = PACKAGE DEPLOY LEGO BOX
-MB_I18N_PROJ_PHASEID_ALL = ALL
-MB_I18N_PROJ_PHASEDOC_ALL = MAKE A LEGO CITY
-
diff --git a/lib/make/ i18n/mb_i18n_iu.mk b/lib/make/ i18n/mb_i18n_iu.mk
deleted file mode 100644
index 7513092..0000000
--- a/lib/make/ i18n/mb_i18n_iu.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-
-MB_I18N_ASSERT_SUCCESS = ᑲᔪᓯᓂᖃᑦᑎᐊᕐᓂᖅ
-MB_I18N_ASSERT_FAILURE = ᓇᓗᓇᐃᖅᑕᐅᓂᖓ ᑲᔪᓯᙱᓐᓂᖓ
-MB_I18N_AUTOEXEC_WRITE = ᑎᑎᕋᑲᐅᑎᒋᓂᖅ ᑲᒫᓗᖕᒥᒃ
-MB_I18N_CONV_UNIX2DOS = ᐅᐊᔭᐅᑉ ᐃᓱᐊᓄᐊᕐᓗᒍ
-MB_I18N_CONV_DOS2UNIX = ᑐᑭᓕᐊᖓᔪᓐᓃᕐᓗᓂ
-MB_I18N_PACKAGE_CREATE_ARCHIVE = ᓴᓇᓗᑎᒃ ᑐᖅᑯᐃᕕᒃᓴᓂᑦ
-MB_I18N_MAKE_CHECK_VARIABLE = ᐊᓯᔾᔨᖅᑕᖅᑐᑦ ᐱᑕᖃᙱᓐᓂᐅᔪᑦ
-MB_I18N_MAKE_CHECK_VALUE_VALID = ᐊᑐᙱᓐᓂᖓ ᖃᔅᓯᐅᓂᖓ
-MB_I18N_MAKE_CHECK_ARG1 = ᐊᐃᕙᔾᔪᑎ ᐊᑕᐅᓯᖅ ᐊᔪᖅᑐᖅ
-MB_I18N_MAKE_CHECK_ARG2 = ᐊᐃᕙᔾᔪᑎ ᒪᕐᕉᒃ ᐊᔪᖅᑑᒃ
-MB_I18N_MAKE_CHECK_ARG3 = ᐊᐃᕙᐅᑎ ᐱᖓᓱᑦ ᐊᔪᖅᑐᑦ
-MB_I18N_MAKE_CHECK_ARG4 = ᐊᐃᕙᓂᖅ ᓯᑕᒪᑦ ᑲᔪᓯᓐᓂᖏᑦᑐᖅ
-MB_I18N_MAKE_CHECK_ARG5 = ᐊᕐᓴᖅ ᐊᒃᓴᓗᐊᖓ ᐊᔪᓕᖅᑐᖅ
-MB_I18N_MSXHUB_FILE_FETCH = ᖃᕆᑕᐅᔭᕐᒥ ᒥᓇᕆᓗᒍ
-MB_I18N_MSXROM_FILE_FETCH = ᒥᓇᕆᓗᒍ ᖃᕆᑕᐅᔭᖅ ᐃᖅᑲᐅᒪᔾᔪᑎ
-MB_I18N_OPENMSX_STARTUP = ᑲᖏᖅᑐᖅ ᖃᕆᑕᐅᔭᖅ
-MB_I18N_OS_CRAYON_TAG = ꜊꜊꜊⋇꜏꜏꜏
-MB_I18N_PROJ_STEP_BEFORE = ᓯᕗᓂᐊᓂ
-MB_I18N_PROJ_STEP_AFTER = ᑭᖑᓂᖓᓂ
-MB_I18N_PROJ_STEP_DONE = ᐱᓕᕆᐊᖅ ᐱᐊᓂᒃᑕᐅᔪᖅ
-MB_I18N_PROJ_DIR_CREATE = ᑐᖅᑯᐃᕝᕕᓕᐅᕐᓂᖅ
-MB_I18N_PROJ_DIR_DELETE = ᑐᖅᑯᖅᓯᓯᒪᕝᕕᖓ ᐲᔭᖅᑕᐅᓗᓂ
-MB_I18N_PROJ_ASSERT_COUNT = ᑲᑎᖦᖢᒋᑦ ᑕᐃᒪᐃᓐᓂᕋᖅᑕᐅᔪᑦ
-MB_I18N_PROJ_OPENMSX_COUNT = ᑲᑎᖦᖢᒋᑦ ᒪᑐᐃᙶᖅᑐᑦ
-MB_I18N_FLOW_CLONE_REPORT = ᐃᓐᓈᕈᐃᑦ
-MB_I18N_NESTOR80_COMPILE = ᓂᖀᑦ ᓄᑕᐅᙱᑦᑐᑦ ᑲᑎᖅᓱᒐᑦ
-MB_I18N_NESTOR80_LINK = ᓱᓪᓗᑯᑖᒃᑯᑦ ᐊᒃᑐᐊᖃᑦᑕᐅᑎᓂᖅ
-MB_I18N_SDCC_COMPILE = ᖃᕆᑕᐅᔭᕋᓛᖅᓄᐊᑦᓯᓂᖅ
-MB_I18N_SDCC_ARLIB = ᖃᕆᑕᐅᔭᕋᓛᖅᑐᖅᑯᖅᑕᐅᓯᒪᔪᑦ
-MB_I18N_SDCC_LINK = ᖃᕆᑕᐅᔭᕋᓛᖅᐊᑦᑕᑕᕐᕕᒃᓴ
-MB_I18N_SDCC_OBJCOPY = ᖃᕆᑕᐅᔭᕋᓛᖅᐱᖁᑎᐅᑉ ᐊᔾᔨᖓ
-MB_I18N_PROJ_PHASEID_CLEAN = ᓴᓗᒪᓗᓂ
-MB_I18N_PROJ_PHASEID_INIT = ᐃᑎᖅᓴᖅ
-MB_I18N_PROJ_PHASEID_PREPARE = ᐱᕙᒌᔭᖅᓯᒪᓂᖅ
-MB_I18N_PROJ_PHASEID_PROCESS = ᐱᓕᕆᔾᔪᓯᖅ
-MB_I18N_PROJ_PHASEID_COMPILE = ᓄᐊᑦᓯᓂᖅ
-MB_I18N_PROJ_PHASEID_LINK = ᐊᑦᑕᑕᕐᕕᒃᓴ
-MB_I18N_PROJ_PHASEID_BUILD = ᓴᓇᓂᖅ
-MB_I18N_PROJ_PHASEID_TEST = ᖃᐅᔨᓴᕈᑎ
-MB_I18N_PROJ_PHASEID_PACKAGE = ᐴᖅᑲᖅᓯᒪᔪᑦ
-MB_I18N_PROJ_PHASEID_PACKAGE_QA = ᐴᖅᑲᖅᓯᒪᔪᑦ−ᖃᖅ
-MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY = ᐴᖅᑲᖅᓯᒪᔪᑦ−ᐃᓕᔭᐅᔪᑦ
-MB_I18N_PROJ_PHASEID_ALL = ᑕᒪᕐᒥᒃ
-
diff --git a/lib/make/ i18n/mb_i18n_ja.mk b/lib/make/ i18n/mb_i18n_ja.mk
deleted file mode 100644
index 4505f24..0000000
--- a/lib/make/ i18n/mb_i18n_ja.mk
+++ /dev/null
@@ -1,56 +0,0 @@
-
-MB_I18N_ASSERT_SUCCESS = アサート成功
-MB_I18N_ASSERT_FAILURE = アサーションが失敗しました
-MB_I18N_AUTOEXEC_WRITE = 自動実行の書き込み
-MB_I18N_CONV_UNIX2DOS = ディスクシステムの行末に変換
-MB_I18N_CONV_DOS2UNIX = メインフレームラインエンドに変換
-MB_I18N_PACKAGE_CREATE_ARCHIVE = ビルド配布アーカイブ
-MB_I18N_MAKE_CHECK_VARIABLE = 変数が空です
-MB_I18N_MAKE_CHECK_VALUE_VALID = 値が無効です
-MB_I18N_MAKE_CHECK_ARG1 = 引数 一 がありません
-MB_I18N_MAKE_CHECK_ARG2 = 引数 二 がありません
-MB_I18N_MAKE_CHECK_ARG3 = 引数 三 がありません
-MB_I18N_MAKE_CHECK_ARG4 = 引数 四 がありません
-MB_I18N_MAKE_CHECK_ARG5 = 引数 五 がありません
-MB_I18N_MSXHUB_FILE_FETCH = コンピューターハブファイルを取得する
-MB_I18N_MSXROM_FILE_FETCH = 読み取り専用メモリファイルを取得する
-MB_I18N_OPENMSX_STARTUP = オープンメッカシステムを開始
-MB_I18N_OS_CRAYON_TAG = ©Δ∞ 仙上主天
-MB_I18N_PROJ_STEP_BEFORE = フェーズ前
-MB_I18N_PROJ_STEP_AFTER = フェーズ後
-MB_I18N_PROJ_STEP_DONE = プライムパイターゲットの実行を終了しました
-MB_I18N_PROJ_DIR_CREATE = フォルダーの作成
-MB_I18N_PROJ_DIR_DELETE = フォルダーの削除
-MB_I18N_PROJ_ASSERT_COUNT = 完了したアサーションの合計
-MB_I18N_PROJ_OPENMSX_COUNT = オープンメッカが呼び出す合計数
-MB_I18N_FLOW_CLONE_REPORT = クローン・トルーパー
-MB_I18N_NESTOR80_COMPILE = ネスターの古いコンパイル
-MB_I18N_NESTOR80_LINK = ネストルの古いリンク
-MB_I18N_SDCC_COMPILE = 標準マイクロコンパイラ
-MB_I18N_SDCC_ARLIB = 標準マイクロビルドライブラリ
-MB_I18N_SDCC_LINK = 標準マイクロリンクメッカ図書館
-MB_I18N_SDCC_OBJCOPY = 標準マイクロオブジェクトコピー
-MB_I18N_PROJ_PHASEID_CLEAN = クリーン
-MB_I18N_PROJ_PHASEDOC_CLEAN = プロジェクトのビルドフォルダーをクリーンアップします。
-MB_I18N_PROJ_PHASEID_INIT = 初期化する
-MB_I18N_PROJ_PHASEDOC_INIT = モジュール出力フォルダーをセットアップして検証します。
-MB_I18N_PROJ_PHASEID_PREPARE = 準備する
-MB_I18N_PROJ_PHASEDOC_PREPARE = 処理する前にソースを準備します。
-MB_I18N_PROJ_PHASEID_PROCESS = プロセス
-MB_I18N_PROJ_PHASEDOC_PROCESS = コンパイル前にソースを処理します。
-MB_I18N_PROJ_PHASEID_COMPILE = コンパイル
-MB_I18N_PROJ_PHASEDOC_COMPILE = すべてのプロジェクト ソースをコンパイルします。
-MB_I18N_PROJ_PHASEID_LINK = リンク
-MB_I18N_PROJ_PHASEDOC_LINK = すべてのプロジェクト中間ファイルをリンクします。
-MB_I18N_PROJ_PHASEID_BUILD = 建てる
-MB_I18N_PROJ_PHASEDOC_BUILD = すべてのプロジェクト成果物をビルドします。
-MB_I18N_PROJ_PHASEID_TEST = テスト
-MB_I18N_PROJ_PHASEDOC_TEST = すべてのアサーション テストを実行します。
-MB_I18N_PROJ_PHASEID_PACKAGE = パッケージ
-MB_I18N_PROJ_PHASEDOC_PACKAGE = プロジェクトのパッケージを作成します。
-MB_I18N_PROJ_PHASEID_PACKAGE_QA = パッケージの品質保証
-MB_I18N_PROJ_PHASEDOC_PACKAGE_QA = プロジェクトのすべてのパッケージ 〄テストを実行します。
-MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY = パッケージのデプロイ
-MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY = パッケージをデプロイします。
-MB_I18N_PROJ_PHASEID_ALL = 全て
-MB_I18N_PROJ_PHASEDOC_ALL = 完全なビルドおよびパッケージ化の 〄テストを実行します。
diff --git a/lib/make/天房系統擴展/mb_autoexec.mk b/lib/make/天房系統擴展/mb_autoexec.mk
deleted file mode 100644
index 4bfe0b9..0000000
--- a/lib/make/天房系統擴展/mb_autoexec.mk
+++ /dev/null
@@ -1,184 +0,0 @@
-
-MB_AUTOEXEC_SHOW_VERSION ?= off
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_VERSION,Print OS version on boot.)
-
-MB_AUTOEXEC_SHOW_PATH ?= on
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_PATH,Print search path on boot.)
-
-MB_AUTOEXEC_SHOW_INIT ?= on
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_INIT,Print msxbuild init message on boot.)
-
-MB_AUTOEXEC_SHOW_HOST ?= on
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_HOST,Print host machine on boot.)
-
-MB_AUTOEXEC_SHOW_USER ?= on
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_USER,Print host user on boot.)
-
-MB_AUTOEXEC_SHOW_FOLDER ?= on
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_FOLDER,Print host folder on boot.)
-
-MB_AUTOEXEC_SHOW_TARGET ?= on
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_TARGET,Print host target on boot.)
-
-MB_AUTOEXEC_VIDEO_FIX ?= on
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_VIDEO_FIX,Adds a workaournd for blue flashes in video.)
-
-MB_AUTOEXEC_STARTUP_TIMEOUT ?= 60
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_STARTUP_TIMEOUT,Startup failure timeout of autoexec.)
-
-MB_AUTOEXEC_STARTUP_EXITCODE ?= 124
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_STARTUP_EXITCODE,Startup failure exit code of autoexec.)
-
-MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT ?= 120
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT,Safe assert execution failure timeout.)
-
-MB_AUTOEXEC_SAFE_ASSERT_EXITCODE ?= 1
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SAFE_ASSERT_EXITCODE,Safe assert execution failure exit code.)
-
-MB_AUTOEXEC_SAFE_CMD_TIMEOUT ?= 300
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SAFE_CMD_TIMEOUT,Safe command execution failure timeout.)
-
-MB_AUTOEXEC_SAFE_CMD_EXITCODE ?= 1
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SAFE_CMD_EXITCODE,Safe command execution failure exit code.)
-
-MB_AUTOEXEC_STARTUP_NOTE ?=
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_STARTUP_NOTE,When set this startup note message is shown.)
-
-MB_AUTOEXEC_COLOR_FG ?= 141
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_COLOR_FG,Default foreground color if none is given.)
-
-MB_AUTOEXEC_COLOR_BG ?= 000
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_COLOR_BG,Default background color if none if given.)
-
-MB_AUTOEXEC_EMBED_VARS ?=
-$(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
-$(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
-$(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
-$(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_DATE_FORMAT,The time format the msx will get set to.)
-
-MB_AUTOEXEC_PROMPT_FORMAT ?= %MB_USER%@%_CWD%*
-$(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
-$(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
-$(MB_ᕽᕽᕽ )echo -e "$(2)\r" >> $(1)/autoexec.bat
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-cmd,Appends an command., )
-
-
-define mb-autoexec-append-echo
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),echo $(subst >,>,$(2)))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-echo,Appends an echo message., )
-
-
-define mb-autoexec-append-rem
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),rem $(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-rem,Appends an script remark., )
-
-
-define mb-autoexec-append-show-gui
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl headless_show_gui)
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-show-gui,Appends headless show gui command.,)
-
-
-define mb-autoexec-append-stop-fail
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl fail_after 0)
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-stop-fail,Appends stop automatic failure command.,)
-
-
-define mb-autoexec-append-exit
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_FLIGHT_SCREEN)),$(call mb-make-call,mb-autoexec-append-save-screenshot,$(1)))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl headless_exit)
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-exit,Appends exit emulation command.,)
-
-
-define mb-autoexec-append-plug-porta
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl boot_exec_plug_porta $(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-plug-porta,Appends an plug device into joyporta action., )
-
-
-define mb-autoexec-append-plug-portb
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl boot_exec_plug_portb $(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-plug-portb,Appends an plug device into joyportb action., )
-
-
-define mb-autoexec-append-save-screenshot
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl night_flight_save_screenshot $(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-save-screenshot,Appends save screenshot command., [prefix])
-
-
-define mb-autoexec-append-save-video
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_VIDEO_FIX)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl night_flight_init_video))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl night_flight_save_video $(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-save-video,Appends save video command., [prefix])
-
-
-define mb-autoexec-append-safe-assert
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT)) seconds err_test $(if $(4),$(4),$(MB_AUTOEXEC_SAFE_ASSERT_EXITCODE)))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::safe assert $(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-safe-assert,Appends running a safe assert., [timeout] [exit-code])
-
-
-define mb-autoexec-append-safe-cmd
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_SAFE_CMD_TIMEOUT)) seconds err_cmd $(if $(4),$(4),$(MB_AUTOEXEC_SAFE_CMD_EXITCODE)))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::safe command $(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-append-safe-cmd,Appends running a safe command., [timeout] [exit-code])
-
-
-define _mb-autoexec-write-preboot
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)mbboot80)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)omsxctl boot_exec_setcolor $(if $(3),$(3),$(MB_AUTOEXEC_COLOR_FG)) $(if $(4),$(4),$(MB_AUTOEXEC_COLOR_BG)))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)omsxctl fail_after $(MB_AUTOEXEC_STARTUP_TIMEOUT) seconds err_exec $(MB_AUTOEXEC_STARTUP_EXITCODE))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_SHOW_INIT)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)omsxctl boot_exec_show_init))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_SHOW_VERSION)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),ver))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),PATH + %@DRIVE%\;)
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/utils),$(call mb-make-call,mb-autoexec-append-cmd,$(1),PATH + %@DRIVE%\UTILS))
-endef
-
-
-define mb-autoexec-write-default
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-remark,$(MB_I18N_AUTOEXEC_WRITE) $(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-file-empty,$(1)/autoexec.bat)
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/utils),$(call mb-make-call,_mb-autoexec-write-preboot,$(1),utils\,$(2),$(3)),$(call mb-make-call,_mb-autoexec-write-preboot,$(1),,$(2),$(3)))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_SHOW_HOST)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl boot_exec_show_host))
-$(MB_ᕽᕽᕽ )$(if $(MB_AUTOEXEC_STARTUP_NOTE),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::note $(MB_AUTOEXEC_STARTUP_NOTE)))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_FLIGHT_VIDEO)),$(call mb-make-call,mb-autoexec-append-save-video,$(1)))
-$(MB_ᕽᕽᕽ )echo -n -e "$(subst $(call mb-make-call,mb-make-space-white)set,set,$(foreach var,$(MB_AUTOEXEC_EMBED_VARS),set MSX_$(var)$(MB_MAKE_EQUALS)$($(var))\r\n))" >> $(1)/autoexec.bat
-$(MB_ᕽᕽᕽ )echo -n -e "$(subst $(call mb-make-call,mb-make-space-white)set,set,$(foreach var,$(MB_AUTOEXEC_EMBED_VARS),echo MSX_$(var)$(MB_MAKE_EQUALS)%MSX_$(var)%\r\n))" >> $(1)/autoexec.bat
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set TIME$(MB_MAKE_EQUALS)$(MB_AUTOEXEC_TIME_FORMAT))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set DATE$(MB_MAKE_EQUALS)$(MB_AUTOEXEC_DATE_FORMAT))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_SHOW_PATH)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),echo mb::path %PATH%))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set MB_SNAIL$(MB_MAKE_EQUALS)$(notdir $@))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set MB_USER$(MB_MAKE_EQUALS)$($(MB_AUTOEXEC_EMBED_USER)))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_SHOW_USER)),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::user %MB_USER%))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set MB_SLIME$(MB_MAKE_EQUALS)$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set MB_TARGET$(MB_MAKE_EQUALS)$@)
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_SHOW_FOLDER)),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::bath %MB_SLIME%))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_SHOW_TARGET)),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::pipe %MB_TARGET%))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_PROMPT_SPACE)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),set PROMPT \"$(value MB_AUTOEXEC_PROMPT_FORMAT)$(call mb-make-call,mb-make-space-white)\"))
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_AUTOEXEC_PROMPT_SPACE)),,$(call mb-make-call,mb-autoexec-append-cmd,$(1),,set PROMPT \"$(value MB_AUTOEXEC_PROMPT_FORMAT)\"))
-endef
-$(call mb-make-call,mb-doc-function,mb-autoexec-write-default,Write a default autoexec.bat file., [fg-color] [bg-color])
-
diff --git a/lib/make/天房系統擴展/mb_msxhub.mk b/lib/make/天房系統擴展/mb_msxhub.mk
deleted file mode 100644
index f9d1cf7..0000000
--- a/lib/make/天房系統擴展/mb_msxhub.mk
+++ /dev/null
@@ -1,246 +0,0 @@
-
-MB_MSXHUB_API ?= https://msxhub.com/api
-$(call mb-make-call,mb-doc-variable-deep,MB_MSXHUB_API,Resource identifier for msxhub package rest api.)
-
-MB_MSXHUB_CACHE ?= $(MB_OS_CACHE)/msxbuild/msxhub
-$(call mb-make-call,mb-doc-variable-deep,MB_MSXHUB_CACHE,Cache storage location.)
-
-
-define _mb-msxhub-file-fetch
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_MSXHUB_FILE_FETCH) $(subst $(MB_MSXHUB_API)/,,$(1)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(dir $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1)))),,$(call mb-make-call,mb-os-dir-create,$(dir $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1)))))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1))),,wget -O $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1)) $(1))
-endef
-
-
-# NOTE: with HDD import/export we get duplicate files after openMSX run, so force to lowercase.
-define mb-msxhub-file
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(MB_MSXHUB_CACHE)/$(2)),,$(call mb-make-call,_mb-msxhub-file-fetch,$(MB_MSXHUB_API)/$(2)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/$(call mb-make-call,mb-make-lowercase,$(notdir $(2)))),,$(call mb-make-call,mb-os-file-copy,$(MB_MSXHUB_CACHE)/$(2),$(1)/$(call mb-make-call,mb-make-lowercase,$(notdir $(2)))))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-file,Installs msxsub packages from slug into dir., )
-
-
-#
-# Operating System (minimal)
-#
-define mb-msxhub-get-msxdos1-boot
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS1/1.03-2/get/MSXDOS1/MSXDOS.SYS)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS1/1.03-2/get/MSXDOS1/COMMAND.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-msxdos1-boot,Installs msxdos1 boot files into dir.,)
-
-
-define mb-msxhub-get-msxdos2-boot
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/MSXDOS2.SYS)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/COMMAND2.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-msxdos2-boot,Installs msxdos2 boot files into dir.,)
-
-
-define mb-msxhub-get-nextor-boot
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/NEXTOR.SYS)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/COMMAND2.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-nextor-boot,Installs nextor boot files into dir.,)
-
-
-#
-# Native OS utils
-#
-define mb-msxhub-get-msxdos2-utils
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/CHKDSK.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/DISKCOPY.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/FIXDISK.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/UNDEL.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/XCOPY.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/XDIR.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/KMODE.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-msxdos2-utils,Installs msxdos2 util files into dir.,)
-
-
-define mb-msxhub-get-nextor-utils
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DELALL.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DEVINFO.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DRIVERS.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DRVINFO.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/FASTOUT.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/LOCK.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/MAPDRV.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/EMUFILE.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/RALLOC.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/Z80MODE.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/NSYSVER.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/NEXBOOT.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/CONCLUS.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-nextor-utils,Installs nextor util files into dir.,)
-
-
-#
-# Compilers
-#
-define mb-msxhub-get-macro80
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MACRO80/2.0-1/get/MACRO80/CREF80.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MACRO80/2.0-1/get/MACRO80/L80.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MACRO80/2.0-1/get/MACRO80/LIB80.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MACRO80/2.0-1/get/MACRO80/M80.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-macro80,Installs macro80 package into dir.,)
-
-
-define mb-msxhub-get-z80asmuk
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/BINTOASM.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/DUMP.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/HEXTOCOM.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/PRL.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/PRNTOSYM.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/RSX.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/ZSM.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/ZSMPP.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/HEXTOBIN.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-z80asmuk,Installs z80asmuk package into dir.,)
-
-
-define mb-msxhub-get-wbass2
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),WBASS2/2.0-1/get/WBASS2/zoekram.bin)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),WBASS2/2.0-1/get/WBASS2/wbass2.bin)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),WBASS2/2.0-1/get/WBASS2/wbass2.bas)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-wbass2,Installs wbass2 package into dir.,)
-
-
-define mb-msxhub-get-konpass
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),KONPASS/1.3.0-1/get/KONPASS/KONPASS.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),KONPASS/1.3.0-1/get/KONPASS/KONPASS.DAT)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-konpass,Installs konpass package into dir.,)
-
-
-#
-# Compressors
-#
-define mb-msxhub-get-pmarc
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),PMARC/2.0-1/get/PMARC/PMARC.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),PMARC/2.0-1/get/PMARC/PMCAT.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),PMARC/2.0-1/get/PMARC/PMEXE2.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),PMARC/2.0-1/get/PMARC/PMEXT.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),PMARC/2.0-1/get/PMARC/PMSET.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),PMARC/2.0-1/get/PMARC/PMSFX2.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-pmarc,Installs pmarc package into dir.,)
-
-
-define mb-msxhub-get-lhpack
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),LHPACK/1.00-1/get/LHPACK/lhpack.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-lhpack,Installs lhpack package into dir.,)
-
-
-define mb-msxhub-get-lhext
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),LHEXT/1.34-2/get/LHEXT/lhext.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-lhext,Installs lhext package into dir.,)
-
-
-define mb-msxhub-get-gunzip
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),GUNZIP/1.1-1/get/GUNZIP/gunzip.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-gunzip,Installs gunzip package into dir.,)
-
-
-define mb-msxhub-get-tunzip
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),TUNZIP/0.91-1/get/TUNZIP/tunzip.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-tunzip,Installs tunzip package into dir.,)
-
-
-define mb-msxhub-get-popcom
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),POPCOM/1.00-2/get/POPCOM/popcom.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-popcom,Installs popcom package into dir.,)
-
-
-#
-# Tools
-#
-define mb-msxhub-get-make
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MAKE/2.00-1/get/MAKE/MAKE.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-make,Installs make package into dir.,)
-
-
-define mb-msxhub-get-adir
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),ADIR/1.3-1/get/ADIR/adir.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-adir,Installs adir package into dir.,)
-
-
-define mb-msxhub-get-turbo
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),TURBO/2.1-1/get/TURBO/turbo.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-turbo,Installs turbo package into dir.,)
-
-
-define mb-msxhub-get-baskom
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),BASKOM/1.0-1/get/BASKOM/baskom.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-baskom,Installs baskom package into dir.,)
-
-
-define mb-msxhub-get-binldr
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),BINLDR/1.0.2-1/get/BINLDR/BINLDR.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-binldr,Installs binldr package into dir.,)
-
-
-define mb-msxhub-get-dmphex
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),DMPHEX/1.00-1/get/DMPHEX/dmphex.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-dmphex,Installs dmphex package into dir.,)
-
-
-define mb-msxhub-get-zd
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),ZD/3.30-1/get/ZD/zd.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-zd,Installs zd package into dir.,)
-
-
-define mb-msxhub-get-msxdos2t
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/ADDAUX.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BEEP.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BIO.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BODY.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BSAVE.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/CAL.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/CALC.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/DUMP.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/EXPAND.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/GREP.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/HEAD.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/KEY.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/LIST.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/LS.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/MENU.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/MORE.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/PATCH.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/SLEEP.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/TAIL.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/TR.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/UNIQ.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/VIEW.COM)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/WC.COM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-msxdos2t,Installs msxdos2t package into dir.,)
-
-
-#
-# Graphics editors
-#
-define mb-msxhub-get-gfxage
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxhub-file,$(1),GFXAGE/0.99-1/get/GFXAGE/gfxage.com)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxhub-get-gfxage,Installs gfxage package into dir.,)
-
diff --git a/lib/make/天房系統擴展/mb_msxpipe.mk b/lib/make/天房系統擴展/mb_msxpipe.mk
deleted file mode 100644
index ab2d440..0000000
--- a/lib/make/天房系統擴展/mb_msxpipe.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-
-MB_MSXPIPE_COLOR_FG_SAFE_CMD ?= 026
-$(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
-$(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_ASSERT ?= 421
-$(call mb-make-call,mb-doc-variable,MB_MSXPIPE_COLOR_FG_SAFE_ASSERT,Foreground color of safe assert session pipe.)
-
-MB_MSXPIPE_COLOR_BG_SAFE_ASSERT ?= 000
-$(call mb-make-call,mb-doc-variable,MB_MSXPIPE_COLOR_BG_SAFE_ASSERT,Background color of safe assert session pipe.)
-
-MB_MSXPIPE_COLOR_FG_RUN_GUI ?= 141
-$(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
-$(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
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-write-default,$(1),$(if $(4),$(4),$(MB_MSXPIPE_COLOR_FG_SAFE_CMD)),$(if $(5),$(5),$(MB_MSXPIPE_COLOR_BG_SAFE_CMD)))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-safe-cmd,$(1),$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-exit,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-openmsx-dosctl,$(1),$(3))
-endef
-$(call mb-make-call,mb-doc-function,mb-msxpipe-safe-cmd,Runs openMSX and safely executes one command., [machine] [fg-color] [bg-color])
-
-
-define mb-msxpipe-safe-assert
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-write-default,$(1),$(if $(4),$(4),$(MB_MSXPIPE_COLOR_FG_SAFE_ASSERT)),$(if $(5),$(5),$(MB_MSXPIPE_COLOR_BG_SAFE_ASSERT)))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-safe-assert,$(1),$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-exit,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-openmsx-dosctl,$(1),$(3))
-endef
-$(call mb-make-call,mb-doc-function,mb-msxpipe-safe-assert,Runs openMSX and safely executes one assert., [machine] [fg-color] [bg-color])
-
-
-define _mb-msxpipe-run-gui
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-write-default,$(1),$(MB_MSXPIPE_COLOR_FG_RUN_GUI),$(MB_MSXPIPE_COLOR_BG_RUN_GUI))
-$(MB_ᕽᕽᕽ )$(if $(filter mouse,$(4)),$(call mb-make-call,mb-autoexec-append-plug-porta,$(1),$(4)))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-stop-fail,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-show-gui,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::help Run shutdown to exit)
-$(MB_ᕽᕽᕽ )$(if $(2),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::auto command $(2)))
-$(MB_ᕽᕽᕽ )$(if $(2),$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-openmsx-dosctl,$(1),$(3))
-endef
-
-
-define mb-msxpipe-run-gui
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-msxpipe-run-gui,$(1),$(2),$(3))
-endef
-$(call mb-make-call,mb-doc-function,mb-msxpipe-run-gui,Runs openMSX forever with renderer and optionals., [cmd] [machine])
-
-
-define mb-msxpipe-run-gui-mouse
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-msxpipe-run-gui,$(1),$(2),$(3),mouse)
-endef
-$(call mb-make-call,mb-doc-function,mb-msxpipe-run-gui-mouse,Runs openMSX forever with renderer and mouse and optionals., [cmd] [machine])
-
diff --git a/lib/make/天房系統擴展/mb_msxrom.mk b/lib/make/天房系統擴展/mb_msxrom.mk
deleted file mode 100644
index d066f8a..0000000
--- a/lib/make/天房系統擴展/mb_msxrom.mk
+++ /dev/null
@@ -1,284 +0,0 @@
-
-# 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
-$(call mb-make-call,mb-doc-variable-deep,MB_MSXROM_API,Resource identifier for msxrom pi pie named slices data.)
-
-MB_MSXROM_CACHE ?= $(MB_OS_CACHE)/msxbuild/msxrom
-$(call mb-make-call,mb-doc-variable-deep,MB_MSXROM_CACHE,Cache storage location.)
-
-MB_MSXROM_FIRE_MACHINES ?=
-$(call mb-make-call,mb-doc-variable-flow,MB_MSXROM_FIRE_MACHINES,List of supported machines.)
-
-
-define _mb-msxrom-grow-fire-machines
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(eval MB_MSXROM_FIRE_MACHINES $(MB_MAKE_APPEND) $(1))
-endef
-
-
-define _mb-msxrom-file-fetch
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_MSXROM_FILE_FETCH) $(subst $(MB_MSXROM_API)/,,$(1)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(dir $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)))),,$(call mb-make-call,mb-os-dir-create,$(dir $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)))))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1))),,wget -O $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)) $(1))
-endef
-
-
-define mb-msxrom-file
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(MB_MSXROM_CACHE)/$(2)),,$(call mb-make-call,_mb-msxrom-file-fetch,$(MB_MSXROM_API)/$(2)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/$(notdir $(2))),,$(call mb-make-call,mb-os-file-copy,$(MB_MSXROM_CACHE)/$(2),$(1)/$(notdir $(2))))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-file,Installs msxroms from slug into an subdir., )
-
-
-define mb-msxrom-setup
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/systemroms),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-setup,Creates needed systemrom folders.,)
-
-
-define mb-msxrom-extension-ide
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/ide240.dat)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-ide,Installs sunrise IDE classic rom.,)
-
-
-define mb-msxrom-extension-ide-nextor
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/Nextor-2.1.1.SunriseIDE.ROM)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-ide-nextor,Installs sunrise IDE nextor rom.,)
-
-
-define mb-msxrom-extension-scsi-novaxis
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/novaxis.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-scsi-novaxis,Installs Gouda SCSI novaxis rom.,)
-
-
-define mb-msxrom-extension-msxdos22
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/msxdos22.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-msxdos22,Installs msxdos 2.20 rom.,)
-
-
-define mb-msxrom-extension-rs232
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/rs232.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-rs232,Installs rs232 rom.,)
-
-
-define mb-msxrom-extension-fmpac
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/fmpac.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-fmpac,Installs fmpac rom.,)
-
-
-define mb-msxrom-extension-fmpac-en
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/fmpac_en.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-fmpac-en,Installs fmpac english rom.,)
-
-
-define mb-msxrom-extension-moonsound
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/yrw801.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-moonsound,Installs moonsound rom.,)
-
-
-define mb-msxrom-extension-basickun
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,machines/sanyo/phc-70fd2_basickun.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-extension-basickun,Installs basickun compiler rom.,)
-
-
-define mb-msxrom-machine-Canon_V-20
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/canon/v-20_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Canon_V-20,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Canon_V-20)
-
-
-define mb-msxrom-machine-Mitsubishi_ML-F80
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-f80_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Mitsubishi_ML-F80,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Mitsubishi_ML-F80)
-
-
-define mb-msxrom-machine-Mitsubishi_ML-FX1
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-fx1_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Mitsubishi_ML-FX1,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Mitsubishi_ML-FX1)
-
-
-define mb-msxrom-machine-Mitsubishi_ML-G3_ES
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-g3_es_basic-bios2.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-g3_es_disk.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-g3_es_msx2sub.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-g3_es_rs232.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Mitsubishi_ML-G3_ES,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Mitsubishi_ML-G3_ES)
-
-
-define mb-msxrom-machine-Philips_VG_8000
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/vg8000_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Philips_VG_8000,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Philips_VG_8000)
-
-
-define mb-msxrom-machine-Philips_VG_8010
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/vg8010_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Philips_VG_8010,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Philips_VG_8010)
-
-
-define mb-msxrom-machine-Philips_VG_8010F
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/vg8010f_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Philips_VG_8010F,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Philips_VG_8010F)
-
-
-define mb-msxrom-machine-Philips_VG_8020
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/vg8020_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Philips_VG_8020,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Philips_VG_8020)
-
-
-define mb-msxrom-machine-Philips_VG_8020F
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/vg8020f_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Philips_VG_8020F,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Philips_VG_8020F)
-
-
-define mb-msxrom-machine-Philips_VG_8230
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/vg8230_basic-bios2.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/vg8230_disk.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/vg8230_msx2sub.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Philips_VG_8230,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Philips_VG_8230)
-
-
-define mb-msxrom-machine-Philips_NMS_8245
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/NMS8245SystemROM1.08.bin)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Philips_NMS_8245,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Philips_NMS_8245)
-
-
-define mb-msxrom-machine-Philips_NMS_8250
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/nms8250_basic-bios2.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/nms8250_msx2sub.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/philips,machines/philips/nms8250_disk.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Philips_NMS_8250,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Philips_NMS_8250)
-
-
-define mb-msxrom-machine-Sony_HB-10
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony,machines/sony/hb-10_basic-bios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Sony_HB-10,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Sony_HB-10)
-
-
-define mb-msxrom-machine-Sony_HB-10P
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony,machines/sony/hb-10p_basicbios1.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Sony_HB-10P,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Sony_HB-10P)
-
-
-define mb-msxrom-machine-Sony_HB-F500P
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony,machines/sony/hb-f500p_basic-bios2.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony,machines/sony/hb-f500p_msx2sub.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony,machines/sony/hb-f500p_disk.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Sony_HB-F500P,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Sony_HB-F500P)
-
-
-define mb-msxrom-machine-Sony_HB-F700P
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony,machines/sony/hb-f700p_basic-bios2.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony,machines/sony/hb-f700p_msx2sub.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines/sony,machines/sony/hb-f700p_disk.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Sony_HB-F700P,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Sony_HB-F700P)
-
-
-define mb-msxrom-machine-Toshiba_HX-21
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/toshiba/HX21-IC2.BIN)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/toshiba/HX21-IC3.BIN)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Toshiba_HX-21,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Toshiba_HX-21)
-
-
-define mb-msxrom-machine-Yamaha_AX200
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/ax200_basic-bios1.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/ax200_arabic.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/ax200_music.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Yamaha_AX200,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Yamaha_AX200)
-
-
-define mb-msxrom-machine-Yamaha_YIS-503IIIR
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/yis503iii_basic-bios2.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/yis503iii_msx2sub.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/yis503iii_cpm.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/yis503iii_net_2.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Yamaha_YIS-503IIIR,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Yamaha_YIS-503IIIR)
-
-
-define mb-msxrom-machine-Panasonic_FS-A1WSX
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_basic-bios2p.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_disk.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_firmware.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_fmbasic.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjibasic.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjifont.rom)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_msx2psub.rom)
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Panasonic_FS-A1WSX,Installs machine roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Panasonic_FS-A1WSX)
-
-
-# NOTE: openMSX switched from 8250 to 8245 so now we need both, but...
-# see: https://github.com/openMSX/openMSX/commit/504aac4838f62682b5bf9c5d31bf2766123e2f76
-# Checked all "public" fmpac roms for fec451b9256570a0e4869355a40329c57f40705f NONE FOUND
-#define mb-msxrom-machine-Boosted_MSX2_EN
-#$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-machine-Philips_NMS_8250,$(1))
-#$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-machine-Philips_NMS_8245,$(1))
-#$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-extension-fmpac,$(1))
-#$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-extension-moonsound,$(1))
-#$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-extension-basickun,$(1))
-#endef
-#$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Boosted_MSX2_EN,Installs machine and extensions roms.,)
-#$(call mb-make-call,_mb-msxrom-grow-fire-machines,Boosted_MSX2_EN)
-
-
-define mb-msxrom-machine-Boosted_MSX2+_JP
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-machine-Panasonic_FS-A1WSX,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-extension-moonsound,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-extension-basickun,$(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-msxrom-machine-Boosted_MSX2+_JP,Installs machine and extensions roms.,)
-$(call mb-make-call,_mb-msxrom-grow-fire-machines,Boosted_MSX2+_JP)
-
-
diff --git a/lib/make/天房系統擴展/mb_openmsx.mk b/lib/make/天房系統擴展/mb_openmsx.mk
deleted file mode 100644
index 9f417ff..0000000
--- a/lib/make/天房系統擴展/mb_openmsx.mk
+++ /dev/null
@@ -1,128 +0,0 @@
-
-MB_OPENMSX_PATH ?=
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_PATH,Optional path where openMSX binary is located.)
-
-MB_OPENMSX_BOOT_TIMEOUT ?= 25
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_BOOT_TIMEOUT,Timeout in seconds to guard for boot failures.)
-
-MB_OPENMSX_BOOT_OS ?= nextor
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_BOOT_OS,The default OS to run$$(MB_MAKE_COMMA) valid values are; nextor$$(MB_MAKE_COMMA)msxdos1$$(MB_MAKE_COMMA)msxdos2)
-
-MB_OPENMSX_MACHINE ?= Philips_NMS_8250
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_MACHINE,The default MSX machine to use.)
-
-MB_OPENMSX_MACHINE_RAM ?= ram1mb
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_MACHINE_RAM,Extra ram extension for machine allowed: off$$(MB_MAKE_COMMA)ram16k$$(MB_MAKE_COMMA)ram64k$$(MB_MAKE_COMMA)ram512k$$(MB_MAKE_COMMA)ram1mb$$(MB_MAKE_COMMA)ram2mb$$(MB_MAKE_COMMA)ram4mb)
-
-MB_OPENMSX_SPEED ?= $(if $(findstring turboR,$(MB_OPENMSX_MACHINE)),100,333)
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_SPEED,The throttled MSX emulation speed.)
-
-MB_OPENMSX_ARGS ?=
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_ARGS,Extra arguments to invoke openMSX with.)
-
-MB_OPENMSX_HDD_SIZE ?= 4m
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_HDD_SIZE,The default fire-hdd disk image size.)
-
-MB_OPENMSX_SCALE_FACTOR ?= 3
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_SCALE_FACTOR,The gui scale factor to display the emulation.)
-
-MB_OPENMSX_THROTTLE ?= off
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_THROTTLE,An on/off flag to control throttling globally.)
-
-MB_OPENMSX_HEADLESS ?= on
-$(call mb-make-call,mb-doc-variable,MB_OPENMSX_HEADLESS,Controls if openMSX starts headless.)
-
-MB_OPENMSX_RENDERER ?= SDLGL-PP
-$(call mb-make-call,mb-doc-variable-deep,MB_OPENMSX_RENDERER,The gui renderer used to display the window head with.)
-
-MB_OPENMSX_STDOUT_IGNORE ?= off
-$(call mb-make-call,mb-doc-variable-deep,MB_OPENMSX_STDOUT_IGNORE,Kills logging...rm after issues openMSX are solved.)
-
-MB_OPENMSX_STDERR_IGNORE ?= off
-$(call mb-make-call,mb-doc-variable-deep,MB_OPENMSX_STDERR_IGNORE,Kills logging...rm after issues openMSX are solved.)
-
-MB_OPENMSX_FIRE_PIPE_SMOKE ?=
-$(call mb-make-call,mb-doc-variable-flow,MB_OPENMSX_FIRE_PIPE_SMOKE,Word count of total openMSX executions.)
-
-
-define mb-openmsx-setup
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/stdio.xml),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)openmsx/stdio.xml,$(1)$(MB_@WORK)$(notdir $(1))))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/settings.xml),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)openmsx/share/settings.xml,$(1)$(MB_@WORK)$(notdir $(1))/share))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/scripts),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share/scripts))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/scripts/boot_exec.tcl),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)openmsx/share/scripts/boot_exec.tcl,$(1)$(MB_@WORK)$(notdir $(1))/share/scripts))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/scripts/fail_after.tcl),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)openmsx/share/scripts/fail_after.tcl,$(1)$(MB_@WORK)$(notdir $(1))/share/scripts))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/scripts/fire_hdd.tcl),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)openmsx/share/scripts/fire_hdd.tcl,$(1)$(MB_@WORK)$(notdir $(1))/share/scripts))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/scripts/headless.tcl),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)openmsx/share/scripts/headless.tcl,$(1)$(MB_@WORK)$(notdir $(1))/share/scripts))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/scripts/night_flight.tcl),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)openmsx/share/scripts/night_flight.tcl,$(1)$(MB_@WORK)$(notdir $(1))/share/scripts))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/scripts/omsxctl.tcl),,$(call mb-make-call,mb-msxhub-file,$(1)$(MB_@WORK)$(notdir $(1))/share/scripts,OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.tcl))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/extensions),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/share/extensions))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/extensions/fire-hdd.xml),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)openmsx/share/extensions/fire-hdd.xml,$(1)$(MB_@WORK)$(notdir $(1))/share/extensions))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-setup,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-extension-ide-nextor,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-msxrom-machine-$(2),$(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-openmsx-setup,Setup openMSX local build home folder for machine., )
-
-
-define _mb-openmsx-path
-$(MB_ᕽᕽᕽ )$(if $(MB_OPENMSX_PATH),$(MB_OPENMSX_PATH)/$(1),$(1))
-endef
-
-
-define _mb-openmsx-run
-$(MB_ᕽᕽᕽ )$(eval MB_OPENMSX_FIRE_PIPE_SMOKE $(MB_MAKE_APPEND) OK)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_OPENMSX_STARTUP) $@ - $(2))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/persistent/fire-hdd/untitled1/sync),,$(call mb-make-call,mb-os-dir-create,$(1)$(MB_@WORK)$(notdir $(1))/persistent/fire-hdd/untitled1/sync))
-$(MB_ᕽᕽᕽ )BOOT_WATCHDOG=$(MB_OPENMSX_BOOT_TIMEOUT) \
-$(MB_ᕽᕽᕽ )FIRE_HDD_PATH="$(1)" \
-$(MB_ᕽᕽᕽ )FIRE_HDD_SIZE=$(MB_OPENMSX_HDD_SIZE) \
-$(MB_ᕽᕽᕽ )FIRE_HDD_IMAGE="$(1)$(MB_@WORK)$(notdir $(1))/persistent/fire-hdd/untitled1/image-hda.dsk" \
-$(MB_ᕽᕽᕽ )FIRE_HDD_PATH_EXPORT="$(1)$(MB_@WORK)$(notdir $(1))/persistent/fire-hdd/untitled1/sync" \
-$(MB_ᕽᕽᕽ )SCALE_FACTOR=$(MB_OPENMSX_SCALE_FACTOR) \
-$(MB_ᕽᕽᕽ )SPEED=$(MB_OPENMSX_SPEED) \
-$(MB_ᕽᕽᕽ )HEADLESS=$(MB_OPENMSX_HEADLESS) \
-$(MB_ᕽᕽᕽ )RENDERER=$(MB_OPENMSX_RENDERER) \
-$(MB_ᕽᕽᕽ )THROTTLE=$(MB_OPENMSX_THROTTLE) \
-$(MB_ᕽᕽᕽ )NF_PREFIX=$(MB_FLIGHT_PREFIX) \
-$(MB_ᕽᕽᕽ )NF_SEPERATOR=$(MB_FLIGHT_SEPERATOR) \
-$(MB_ᕽᕽᕽ )NF_RECORD_FLAG=$(MB_FLIGHT_RECORD_FLAG) \
-$(MB_ᕽᕽᕽ )OPENMSX_HOME="$(1)$(MB_@WORK)$(notdir $(1))" \
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-openmsx-path,openmsx) \
-$(MB_ᕽᕽᕽ )-machine $(2) \
-$(MB_ᕽᕽᕽ )-ext slotexpander \
-$(MB_ᕽᕽᕽ )-ext fire-hdd \
-$(MB_ᕽᕽᕽ )$(if $(filter ram16k,$(3)),-ext ram16k) \
-$(MB_ᕽᕽᕽ )$(if $(filter ram64k,$(3)),-ext ram64k) \
-$(MB_ᕽᕽᕽ )$(if $(filter ram512k,$(3)),-ext ram512k) \
-$(MB_ᕽᕽᕽ )$(if $(filter ram1mb,$(3)),-ext ram1mb) \
-$(MB_ᕽᕽᕽ )$(if $(filter ram2mb,$(3)),-ext ram2mb) \
-$(MB_ᕽᕽᕽ )$(if $(filter ram4mb,$(3)),-ext ram4mb) \
-$(MB_ᕽᕽᕽ )$(MB_OPENMSX_ARGS) \
-$(MB_ᕽᕽᕽ )-control stdio < $(1)$(MB_@WORK)$(notdir $(1))/stdio.xml \
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_OPENMSX_STDOUT_IGNORE)),$(MB_OS_STDOUT_IGNORE)) \
-$(MB_ᕽᕽᕽ )$(if $(filter on,$(MB_OPENMSX_STDERR_IGNORE)),$(MB_OS_STDERR_IGNORE))
-$(MB_ᕽᕽᕽ )rsync --checksum --recursive "$(1)$(MB_@WORK)$(notdir $(1))/persistent/fire-hdd/untitled1/sync/" "$(1)/"
-endef
-
-
-define _mb-openmsx-dosctl-bat
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/z80.bat),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)emuctl/z80.bat,$(1)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/reboot.bat),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)emuctl/reboot.bat,$(1)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/shutdown.bat),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)emuctl/shutdown.bat,$(1)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/mbboot80.com),,$(call mb-make-call,mb-os-file-copy,$(MB_@BASEPATH)emuctl/mbboot80.com,$(1)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/omsxctl.com),,$(call mb-make-call,mb-msxhub-file,$(1),OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.com))
-endef
-
-
-define mb-openmsx-dosctl
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-openmsx-setup,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/utils),$(call mb-make-call,_mb-openmsx-dosctl-bat,$(1)/utils),$(call mb-make-call,_mb-openmsx-dosctl-bat,$(1)))
-$(MB_ᕽᕽᕽ )$(if $(wildcard $(1)/command.com),,$(if $(wildcard $(1)/command2.com),,$(call mb-make-call,mb-msxhub-get-$(MB_OPENMSX_BOOT_OS)-boot,$(1))))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,_mb-openmsx-run,$(1),$(if $(2),$(2),$(MB_OPENMSX_MACHINE)),$(if $(3),$(3),$(MB_OPENMSX_MACHINE_RAM)))
-endef
-$(call mb-make-call,mb-doc-function,mb-openmsx-dosctl,Starts openMSX with dos controller., [machine] [mem-ext])
-
diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk
deleted file mode 100644
index aac3b88..0000000
--- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk
+++ /dev/null
@@ -1,63 +0,0 @@
-
-define __mb-flow-assert-grep-binary-x
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(1)/@assert/$(5)/@$(2): $(1)/@$(5)
-$(MB_@RECIPE)@echo -n "$(MB_I18N_OS_CRAYON_TAG) "
-$(MB_@RECIPE)grep --colour$(MB_MAKE_EQUALS)auto -U "$(4)" $(1)/$(3)
-$(MB_@RECIPE)$$(call mb-make-call,mb-os-echo-assert,$$(MB_I18N_ASSERT_SUCCESS) $(1)/@assert/$(5)/@$(2))
-$(MB_@RECIPE)$$(call mb-make-call,mb-proj-grow-assert-success,$(5))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-assert,$(1)/@assert/$(5)/@$(2),Asserts that $(3) output matches.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(1)/@assert/$(5)/@$(2))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-proj-grow-deps-phase,$(5),$(1)/@assert/$(5)/@$(2))
-
-$(1)/@$(5)-deps:: $(1)/@assert/$(5)/@$(2)
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-assert-grep-binary-test
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg4,$(0),$(1),$(2),$(3),$(4))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__mb-flow-assert-grep-binary-x,$(1),$(2),$(3),$(4),@test))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-assert-grep-binary-test,Inject flow of single binary grep assert., )
-define mb-flow-assert-grep-binary-package-qa
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg4,$(0),$(1),$(2),$(3),$(4))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__mb-flow-assert-grep-binary-x,$(1),$(2),$(3),$(4),@package-qa))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-assert-grep-binary-package-qa,Inject flow of single binary grep assert., )
-
-
-define __mb-flow-assert-msxpipe-grep-x
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(1)/@assert/$(5)/@$(2): $(7)/@$(5)
-$(MB_@RECIPE)$$(if $$(wildcard $(7)/$(3).out),,$$(call mb-make-call,mb-os-file-delete,$(7)/$(3).out))
-$(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-safe-assert,$(7),$(3) > $(3).out,$(6))
-$(MB_@RECIPE)@echo -n "$(MB_I18N_OS_CRAYON_TAG) "
-$(MB_@RECIPE)grep --colour$(MB_MAKE_EQUALS)auto "$(4)" $(7)/$(3).out
-$(MB_@RECIPE)$$(call mb-make-call,mb-os-echo-assert,$$(MB_I18N_ASSERT_SUCCESS) $(1)/@assert/$(5)/@$(2))
-$(MB_@RECIPE)$$(call mb-make-call,mb-proj-grow-assert-success,$(5))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-assert,$(1)/@assert/$(5)/@$(2),Asserts that $(3) output matches.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(1)/@assert/$(5)/@$(2))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-proj-grow-deps-phase,$(5),$(1)/@assert/$(5)/@$(2))
-
-# Add phase dep link in source project build phase target
-$(1)/@$(5)-deps:: $(1)/@assert/$(5)/@$(2)
-
-# (extra) Add local phase dep link in clone poject for build phase target
-$(7)/@$(5)-deps:: $(1)/@assert/$(5)/@$(2)
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-assert-msxpipe-grep-test
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg5,$(0),$(1),$(2),$(3),$(4),$(5))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,mb-flow-clone-deps-proj-setup-orphan,$(subst $(abspath $(dir $(1)))/,,$(dir $(1))$(abspath $(1)$(MB_@WORK)_assert_test/$(notdir $(1))/$(3))),$(1),$(2),$(6),$(7)))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__mb-flow-assert-msxpipe-grep-x,$(1),$(3),$(4),$(5),@test,$(7),$(subst $(abspath $(dir $(1)))/,,$(dir $(1))$(abspath $(1)$(MB_@WORK)_assert_test/$(notdir $(1))/$(3)))))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-assert-msxpipe-grep-test,Inject flow of single grep assert., [packages] [machine])
-define mb-flow-assert-msxpipe-grep-package-qa
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg5,$(0),$(1),$(2),$(3),$(4),$(5))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,mb-flow-clone-deps-proj-setup-orphan,$(subst $(abspath $(dir $(1)))/,,$(dir $(1))$(abspath $(1)$(MB_@WORK)_assert_package_qa/$(notdir $(1))/$(3))),$(1),$(2),$(6),$(7)))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__mb-flow-assert-msxpipe-grep-x,$(1),$(3),$(4),$(5),@package-qa,$(7),$(subst $(abspath $(dir $(1)))/,,$(dir $(1))$(abspath $(1)$(MB_@WORK)_assert_package_qa/$(notdir $(1))/$(3)))))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-assert-msxpipe-grep-package-qa,Inject flow of single grep assert., [packages] [machine])
-
diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk
deleted file mode 100644
index dba8ae9..0000000
--- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-
-define __mb-flow-clone-deps
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(1)/%: $(2)/%
-$(MB_@RECIPE)$$(call mb-make-call,mb-os-file-copy,$$<,$$@)
-
-$(1)/@@process-deps::
-$(MB_@RECIPE)$$(call mb-make-call,mb-os-echo-remark,$(MB_I18N_FLOW_CLONE_REPORT) $$(words $(4)))
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define __mb-flow-clone-deps-chain
-.RECIPEPREFIX := $(MB_@RECIPE)
-$(1): $(MB_@GRAPH_CHAIN)
-MB_@GRAPH_CHAIN :$(MB_MAKE_EQUALS) $(1)
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-
-
-define mb-flow-clone-deps-proj-setup
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg3,$(0),$(1),$(2),$(3))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-setup,$(1),$(2)/@build,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-module-run,$(1),$(5))
-$(MB_ᕽᕽᕽ )$(if $(4),$(call mb-make-call,mb-flow-proj-prepare-packages,$(1),$(4)))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__mb-flow-clone-deps,$(1),$(2),$(3),$(call mb-make-call,mb-make-module-local-deps,$(1),$(3))))
-$(MB_ᕽᕽᕽ )$(eval MB_@GRAPH_CHAIN :$(MB_MAKE_EQUALS) $(1)/@@prepare)
-$(MB_ᕽᕽᕽ )$(foreach _dep,$(call mb-make-call,mb-make-module-local-deps,$(1),$(3)),$(eval $(call mb-make-call,__mb-flow-clone-deps-chain,$(_dep))))
-$(MB_ᕽᕽᕽ )$(eval $(1)/@@prepare-deps:: $(MB_@GRAPH_CHAIN))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-clone-deps-proj-setup,Inject flow of file copy toolchain module., [packages] [machine])
-
-
-define mb-flow-clone-deps-proj-setup-orphan
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg3,$(0),$(1),$(2),$(3))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-setup-orphan,$(1),$(2)/@build,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-module-run,$(1),$(5))
-$(MB_ᕽᕽᕽ )$(if $(4),$(call mb-make-call,mb-flow-proj-prepare-packages,$(1),$(4)))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__mb-flow-clone-deps,$(1),$(2),$(3),$(call mb-make-call,mb-make-module-local-deps,$(1),$(3))))
-$(MB_ᕽᕽᕽ )$(eval MB_@GRAPH_CHAIN :$(MB_MAKE_EQUALS) $(1)/@@prepare)
-$(MB_ᕽᕽᕽ )$(foreach _dep,$(call mb-make-call,mb-make-module-local-deps,$(1),$(3)),$(eval $(call mb-make-call,__mb-flow-clone-deps-chain,$(_dep))))
-$(MB_ᕽᕽᕽ )$(eval $(1)/@@prepare-deps:: $(MB_@GRAPH_CHAIN))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-clone-deps-proj-setup-orphan,Inject flow of file copy toolchain module., [packages] [machine])
-
diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_help.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_help.mk
deleted file mode 100644
index 64da0e5..0000000
--- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_help.mk
+++ /dev/null
@@ -1,158 +0,0 @@
-
-MB_FLOW_HELP_TEMP := $(shell mktemp)
-$(call mb-make-call,mb-doc-variable-rock,MB_FLOW_HELP_TEMP,Temp file to output help with.)
-
-MB_FLOW_HELP_UNITEEN_XML ?= off
-$(call mb-make-call,mb-doc-variable-rock,MB_FLOW_HELP_UNITEEN_XML,Test 16+ dutch unit-one flag XML attributes.)
-
-
-# Never use echo to display real text: Argument List Too Long
-define _mb-flow-print-help
-$(MB_ᕽᕽᕽ )@echo -e "$(2)"
-$(MB_ᕽᕽᕽ )$(file >$(MB_FLOW_HELP_TEMP),$($(1)))
-$(MB_ᕽᕽᕽ )@cat $(MB_FLOW_HELP_TEMP)
-$(MB_ᕽᕽᕽ )@$(call mb-make-call,mb-os-file-delete,$(MB_FLOW_HELP_TEMP))
-endef
-
-
-define _mb-flow-help-uniteen-xml
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-open,uniteen,flag,orange,للَّٰهِilLצسُو,ₚᵣₐᵧToੴ)$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-close,uniteen)$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-open,uniteen,flag,red,𑀳𑁂𑀮𑀺𑀉𑁄𑀤𑁄𑀭𑁂𑀡𑀪𑀸𑀕,ₚᵣₐᵧToੴ)$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-close,uniteen)$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-open,uniteen,flag,white,ᒡᒢᑊᒻᒻᓫᔿ,ₚᵣₐᵧToੴ)$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-close,uniteen)$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-open,uniteen,flag,blue,仙上主天,ₚᵣₐᵧToੴ)$(call mb-make-call,mb-make-space-newline)$\
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-space-tab)$(call mb-make-call,mb-make-xml-close,uniteen)$(call mb-make-call,mb-make-space-newline)
-endef
-
-
-define __mb-flow-doc-help
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-@help:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_TARGET_HELP,Welcome to the $$(if $$(MB_PROJ_META_NAME),$$(MB_PROJ_META_NAME),MSXBUILD) help system.\\n\\nFor detailed fire help use one of the following targets;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help)
-
-@help-variable:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_VARIABLE,Documention of the make fire variables;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-variable,Lists build variables.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-variable)
-
-@help-variable-deep:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_VARIABLE_DEEP,Documention of the deep make variables;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-variable-deep,Lists deep variables.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-variable-deep)
-
-@help-variable-rock:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_VARIABLE_ROCK,Documention of the rock make variables;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-variable-rock,Lists rock variables.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-variable-rock)
-
-@help-variable-flow:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_VARIABLE_FLOW,Documention of the flow make variables;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-variable-flow,Lists flow variables.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-variable-flow)
-
-@help-variable-i18n:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_VARIABLE_I18N,Documention of the i18n make variables;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-variable-i18n,Lists i18n variables.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-variable-i18n)
-
-@help-function:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_FUNCTION,Documention of the make fire functions;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-function,Lists build functions.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-function)
-
-@help-function-deep:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_FUNCTION_DEEP,Documention of the deep make functions;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-function-deep,Lists deep functions.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-function-deep)
-
-@help-function-flow:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_FUNCTION_FLOW,Documention of the flow make functions;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-function-flow,Lists flow functions.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-function-flow)
-
-@help-target:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_TARGET,Build one of the following make fire targets;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-target,Lists build targets.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-target)
-
-@help-target-deep:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_TARGET_DEEP,Build one of the following deep make targets;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-target-deep,Lists deep targets.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-target-deep)
-
-@help-target-run:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_TARGET_RUN,Build one of the following run make targets;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-target-run,Lists runnable targets.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-target-run)
-
-@help-target-module:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_TARGET_MODULE,Build one of the following module make targets;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-target-module,Lists module targets.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-target-module)
-
-@help-target-orphan:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_TARGET_ORPHAN,Build one of the following orphan make targets;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-target-orphan,Lists orphan targets.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-target-orphan)
-
-@help-target-assert:
-$(MB_@RECIPE)$$(call mb-make-call,_mb-flow-print-help,MB_DOC_FIRE_TARGET_ASSERT,Build one of the following assert make targets;)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-target-assert,Lists assert targets.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-target-assert)
-
-@help-machine:
-$(MB_@RECIPE)@echo -e "Use one of the following machines to build targets;"
-$(MB_@RECIPE)@echo -e "\n "$(foreach _rom,$(MB_MSXROM_FIRE_MACHINES)," * $(_rom)\n")
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-machine,Lists supported machines.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-machine)
-
-@help-all: \
-$(MB_ᕽᕽᕽ )@help-variable @help-variable-deep @help-variable-rock @help-variable-flow @help-variable-i18n \
-$(MB_ᕽᕽᕽ )@help-function @help-function-deep @help-function-flow \
-$(MB_ᕽᕽᕽ )@help-target @help-target-deep @help-target-run @help-target-module @help-target-orphan @help-target-assert \
-$(MB_ᕽᕽᕽ )@help-machine
-$(MB_@RECIPE)$$(call mb-make-call,mb-os-echo-good,OK)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-all,Lists all documented information.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-all)
-
-@help-firemake:
-$(MB_@RECIPE)$$(eval MB_DOC_FORMAT :$(MB_MAKE_EQUALS) xml)
-$(MB_@RECIPE)$$(file >$(MB_FLOW_HELP_TEMP),$$(call mb-make-call,mb-make-xml-prolog))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(call mb-make-call,mb-make-xml-open,$$(MB_DOC_XML_ROOT)))
-$(MB_@RECIPE)$$(if $$(filter on,$$(MB_FLOW_HELP_UNITEEN_XML)),$$(file >>$(MB_FLOW_HELP_TEMP),$$(call mb-make-call,_mb-flow-help-uniteen-xml)))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_VARIABLE))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_VARIABLE_DEEP))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_VARIABLE_ROCK))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_VARIABLE_FLOW))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_VARIABLE_I18N))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_FUNCTION))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_FUNCTION_DEEP))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_FUNCTION_FLOW))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_TARGET))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_TARGET_DEEP))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_TARGET_RUN))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_TARGET_MODULE))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_TARGET_ORPHAN))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_TARGET_ASSERT))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(MB_DOC_FIRE_TARGET_HELP))
-$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(call mb-make-call,mb-make-xml-close,$$(MB_DOC_XML_ROOT)))
-$(MB_@RECIPE)@cat $$(MB_FLOW_HELP_TEMP)
-$(MB_@RECIPE)@$$(call mb-make-call,mb-os-file-delete,$$(MB_FLOW_HELP_TEMP))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@help-firemake,Output all documention in XML for IDE integration.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@help-firemake)
-
-# TODO: create doc for "warpue" xml tag + list Word vAriable Readout Private valUE (for UI)
-#$(MB_@RECIPE)$$(file >>$(MB_FLOW_HELP_TEMP),$$(foreach _rom,$$(MB_MSXROM_FIRE_MACHINES),\t$$(call mb-make-call,mb-make-xml-open,$$(MB_DOC_XML_TAG_MACHINE),name,$$(_rom))$$(call mb-make-call,mb-make-xml-close,$$(MB_DOC_XML_TAG_MACHINE))\n))
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-doc-help
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__$(0),$(1)))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-doc-help,Inject flow of fire help system.)
-
diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_macro80.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_macro80.mk
deleted file mode 100644
index 0e5cb8b..0000000
--- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_macro80.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-
-# TODO: to create bin files use;
-# l80 /P:C000,hello,hello/N/X/Y/E
-# and
-# hextobin hello.hex hello.bin
-
-define __mb-flow-macro80-bdos-mono
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(1)/@@process-deps:: $(1)/$(3).mac
-$(1)/$(3).mac: $(2)/$(3).mac | $(1)/@prepare
-$(MB_@RECIPE)$$(call mb-make-call,mb-conv-unix2dos,$(2)/$(3).mac,$(1)/$(3).mac)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).mac)
-
-$(1)/@@compile-deps:: $(1)/$(3).rel
-$(1)/$(3).rel: $(1)/$(3).mac
-$(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-safe-cmd,$(1),m80 $$(MB_MAKE_EQUALS)$(3)/Z)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).rel)
-
-$(1)/@@link-deps:: $(1)/$(3).hex
-$(1)/$(3).hex: $(1)/$(3).rel
-$(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-safe-cmd,$(1),l80 $(3)$$(MB_MAKE_COMMA)$(3)/N/X/Y/E)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).hex)
-
-$(1)/@@build-deps:: $(1)/$(3).com
-$(1)/$(3).com: $(1)/$(3).hex
-$(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-safe-cmd,$(1),hextocom $(3))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).com)
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-macro80-bdos-mono
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg3,$(0),$(1),$(2),$(3))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-setup,$(1),@init,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-module-run,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-prepare-packages,$(1),macro80 z80asmuk,utils)
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__$(0),$(1),$(2),$(3)))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-macro80-bdos-mono,Inject flow of m80 toolchain bdos mono file module., )
-
diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nestor80.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nestor80.mk
deleted file mode 100644
index baada05..0000000
--- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nestor80.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-
-define __mb-flow-nestor80-bdos-mono
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(1)/@@prepare-deps:: $(1)/$(3).mac
-$(1)/$(3).mac: $(2)/$(3).mac | $(1)/@init
-$(MB_@RECIPE)$$(call mb-make-call,mb-os-file-copy,$$<,$$@)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).mac)
-
-$(1)/@@compile-deps:: $(1)/$(3).rel
-$(1)/$(3).rel: $(1)/$(3).mac
-$(MB_@RECIPE)$$(call mb-make-call,mb-nestor80-compile,$$<,$$@)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).rel)
-
-$(1)/@@link-deps:: $(1)/$(3).com
-$(1)/$(3).com: $(1)/$(3).rel
-$(MB_@RECIPE)$$(call mb-make-call,mb-nestor80-link-bdos,$$<,$$@)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).com)
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-nestor80-bdos-mono
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg3,$(0),$(1),$(2),$(3))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-setup,$(1),@init,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-module-run,$(1))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__$(0),$(1),$(2),$(3)))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-nestor80-bdos-mono,Inject flow of Nestor80 toolchain bdos mono file module., )
-
diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nx01.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nx01.mk
deleted file mode 100644
index 81d3e44..0000000
--- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nx01.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-
-define __mb-flow-nx01-skywalker
-$(MB_ᕽᕽᕽ )ifdef DEBUG
-$(MB_ᕽᕽᕽ )ifneq ("$$(DEBUG)", "off")
-$(MB_ᕽᕽᕽ )$$(warning DEBUG $(0) ($(1)))
-$(MB_ᕽᕽᕽ )endif
-$(MB_ᕽᕽᕽ )endif
-$(MB_ᕽᕽᕽ ).PHONY: $(1)
-$(MB_ᕽᕽᕽ )include $(1)
-$(MB_ᕽᕽᕽ )@@include-mods:: $(1)
-$(MB_ᕽᕽᕽ )$(1): @@include-tree
-endef
-define mb-flow-nx01-skywalker
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module000.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module001.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module010.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module011.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module100.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module101.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module110.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/0module111.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module000.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module001.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module010.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module011.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module100.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module101.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module110.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-$(MB_ᕽᕽᕽ )$(foreach _mod,$(call mb-make-call,mb-make-wildcard-treewalker,$(1),*/1module111.mk),$(eval $(call mb-make-call,__$(0),$(_mod))))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-nx01-skywalker,Inject flow of 18 bit recursive binary loading schema 0/1module[000-111].mk for include levels.,)
-
diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk
deleted file mode 100644
index 9f6494d..0000000
--- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk
+++ /dev/null
@@ -1,337 +0,0 @@
-
-MB_PROJ_META_GROUP_ID ?=
-$(call mb-make-call,mb-doc-variable,MB_PROJ_META_GROUP_ID,The project group id.)
-
-MB_PROJ_META_ARTIFACT_ID ?=
-$(call mb-make-call,mb-doc-variable,MB_PROJ_META_ARTIFACT_ID,The project artifact id.)
-
-MB_PROJ_META_VERSION ?=
-$(call mb-make-call,mb-doc-variable,MB_PROJ_META_VERSION,The project version.)
-
-MB_PROJ_META_NAME ?=
-$(call mb-make-call,mb-doc-variable,MB_PROJ_META_NAME,The project name.)
-
-MB_PROJ_META_DESCRIPTION ?=
-$(call mb-make-call,mb-doc-variable,MB_PROJ_META_DESCRIPTION,The project description.)
-
-MB_PROJ_META_WEBSITE ?=
-$(call mb-make-call,mb-doc-variable,MB_PROJ_META_WEBSITE,The project website location.)
-
-MB_PROJ_PHASE_GROW_DEPS = @prepare @process @compile @link @build @test @package @package-qa @package-deploy @all
-$(call mb-make-call,mb-doc-variable-rock,MB_PROJ_PHASE_GROW_DEPS,All the phases of an project with grow deps steps.)
-
-MB_PROJ_FIRE_MODULE_INIT ?=
-$(call mb-make-call,mb-doc-variable-flow,MB_PROJ_FIRE_MODULE_INIT,List of unique module project structure targets.)
-
-MB_PROJ_FIRE_MODULE_RUN ?=
-$(call mb-make-call,mb-doc-variable-flow,MB_PROJ_FIRE_MODULE_RUN,List of unique module project modules run targets.)
-
-MB_PROJ_FIRE_ASSERT_SUCCESS ?=
-$(call mb-make-call,mb-doc-variable-flow,MB_PROJ_FIRE_ASSERT_SUCCESS,Word count of total asserts successes.)
-
-
-define mb-proj-grow-assert-success
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-value-valid,$(0),$(1),@test @package-qa)
-$(MB_ᕽᕽᕽ )$(eval MB_PROJ_FIRE_ASSERT_SUCCESS $(MB_MAKE_APPEND) $(1))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-proj-grow-assert-success,Grow the success counter of assertions.,)
-
-
-define mb-proj-grow-deps-phase
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-value-valid,$(0),$(1),$(MB_PROJ_PHASE_GROW_DEPS))
-$(MB_ᕽᕽᕽ )$(eval @$(1)-deps:: $(2))
-endef
-$(call mb-make-call,mb-doc-function-deep,mb-proj-grow-deps-phase,Grow the deps of the selected phase., )
-
-
-define _mb-proj-flow-step-before
-$(MB_ᕽᕽᕽ )$(if $(filter $(subst @@,@,$@),$(MB_PROJ_PHASE_GROW_DEPS) @clean @init),$(call mb-make-call,mb-os-echo-phase,$(MB_I18N_PROJ_STEP_BEFORE) $@))
-endef
-define _mb-proj-flow-step-done
-$(MB_ᕽᕽᕽ )$(if $(filter $@,$(MB_PROJ_PHASE_GROW_DEPS) @clean @init),$(call mb-make-call,mb-os-echo-phase,$(MB_I18N_PROJ_STEP_AFTER) $@))
-$(MB_ᕽᕽᕽ )$(if $(value MAKECMDGOALS),$(if $(filter $@,$(MAKECMDGOALS)),$(call mb-make-call,mb-os-echo-report,$(MB_I18N_PROJ_OPENMSX_COUNT) $(words $(MB_OPENMSX_FIRE_PIPE_SMOKE)))))
-$(MB_ᕽᕽᕽ )$(if $(value MAKECMDGOALS),$(if $(filter $@,$(MAKECMDGOALS)),$(call mb-make-call,mb-os-echo-good,$(MB_I18N_PROJ_STEP_DONE) $@)))
-endef
-
-
-define __mb-flow-proj-setup
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(3)@@clean: $(2)
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@clean)
-$(3)@clean: $(3)@@clean
-$(MB_@RECIPE)$$(if $$(wildcard $(1)),$$(call mb-make-call,mb-os-echo-command,$$(MB_I18N_PROJ_DIR_DELETE) $(1)))
-$(MB_@RECIPE)$$(if $$(wildcard $(1)),$$(call mb-make-call,mb-os-dir-delete,$(1)))
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@clean,Clean's the project build folders.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@clean)
-
-$(3)@@init: $(2)
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@init)
-$(3)@init: $(3)@@init
-$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb-make-call,mb-os-echo-command,$$(MB_I18N_PROJ_DIR_CREATE) $(1)))
-$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb-make-call,mb-os-dir-create,$(1)))
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@init,Create the project output folders.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@init)
-
-$(3)@@prepare: $(3)@init
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@prepare)
-$(3)@@prepare-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@prepare-deps)
-$(3)@prepare: $(3)@@prepare $(3)@@prepare-deps
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@prepare,Prepare sources before processing.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@prepare)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@prepare,$(3)@prepare))
-
-$(3)@@process: $(3)@prepare
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@process)
-$(3)@@process-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@process-deps)
-$(3)@process: $(3)@@process $(3)@@process-deps
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@process,Process sources before compiling.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@process)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@process,$(3)@process))
-
-$(3)@@compile: $(3)@process
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@compile)
-$(3)@@compile-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@compile-deps)
-$(3)@compile: $(3)@@compile $(3)@@compile-deps
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@compile,Compiles all project sources.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@compile)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@compile,$(3)@compile))
-
-$(3)@@link: $(3)@compile
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@link)
-$(3)@@link-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@link-deps)
-$(3)@link: $(3)@@link $(3)@@link-deps
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@link,Link all project intermediate files.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@link)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@link,$(3)@link))
-
-$(3)@@build: $(3)@link
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@build)
-$(3)@@build-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@build-deps)
-$(3)@build: $(3)@@build $(3)@@build-deps
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@build,Build all project artifacts.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@build)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@build,$(3)@build))
-
-$(3)@@test: $(3)@build
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@test)
-$(3)@@test-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@test-deps)
-$(3)@test: $(3)@@test $(3)@@test-deps
-$(MB_@RECIPE)$$(if $(3),,$$(call mb-make-call,mb-os-echo-report,$$(MB_I18N_PROJ_ASSERT_COUNT) @test: $$(words $$(filter @test,$$(MB_PROJ_FIRE_ASSERT_SUCCESS)))))
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@test,Run all assertion tests.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@test)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@test,$(3)@test))
-
-$(3)@@package: $(3)@test
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@package)
-$(3)@@package-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-deps)
-$(3)@package: $(3)@@package $(3)@@package-deps
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@package,Create all packages of project.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@package)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@package,$(3)@package))
-
-$(3)@@package-qa: $(3)@package
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-qa)
-$(3)@@package-qa-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-qa-deps)
-$(3)@package-qa: $(3)@@package-qa $(3)@@package-qa-deps
-$(MB_@RECIPE)$$(if $(3),,$$(call mb-make-call,mb-os-echo-report,$$(MB_I18N_PROJ_ASSERT_COUNT) @package-qa: $$(words $$(filter @package-qa,$$(MB_PROJ_FIRE_ASSERT_SUCCESS)))))
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@package-qa,Run all packages QA of project.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@package-qa)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@package-qa,$(3)@package-qa))
-
-$(3)@@package-deploy: $(3)@package-qa
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-deploy)
-$(3)@@package-deploy-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-deploy-deps)
-$(3)@package-deploy: $(3)@@package-deploy $(3)@@package-deploy-deps
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@package-deploy,Deploy all the packages.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@package-deploy)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@package-deploy,$(3)@package-deploy))
-
-$(3)@@all: $(3)@package-qa
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@all)
-$(3)@@all-deps::
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@@all-deps)
-$(3)@all: $(3)@@all $(3)@@all-deps
-$(MB_@RECIPE)$$(if $$(value MAKECMDGOALS),,$$(if $$(filter $$@,@all),$$(call mb-make-call,mb-os-echo-report,$$(MB_I18N_PROJ_OPENMSX_COUNT) $$(words $$(MB_OPENMSX_FIRE_PIPE_SMOKE)))))
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-$(5),$(3)@all,Run full build and package QA tests.)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(3)@all)
-$(MB_ᕽᕽᕽ )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@all,$(3)@all))
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-proj-setup
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_GROUP_ID))
-$(MB_ᕽᕽᕽ )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_ARTIFACT_ID))
-$(MB_ᕽᕽᕽ )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_VERSION))
-$(MB_ᕽᕽᕽ )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_NAME))
-$(MB_ᕽᕽᕽ )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_DESCRIPTION))
-$(MB_ᕽᕽᕽ )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_WEBSITE))
-$(MB_ᕽᕽᕽ )$(if $(filter $(if $(3),$(3)/@init,@init),$(MB_PROJ_FIRE_MODULE_INIT)),,$(eval $(call mb-make-call,__$(0),$(1),$(2),$(if $(3),$(3)/),$(if $(3),$(3)/),$$(if $(3),module,help))))
-$(MB_ᕽᕽᕽ )$(if $(3),,$(if $(MB_I18N),$(if $(filter off,$(MB_I18N)),,$(call mb-make-call,_$(0)-i18n))))
-$(MB_ᕽᕽᕽ )$(eval MB_PROJ_FIRE_MODULE_INIT $(MB_MAKE_APPEND) $(if $(3),$(3)/@init,@init))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-proj-setup,Inject flow of abstract project build cycle., [parent-glue] [bin-mod-dir])
-define mb-flow-proj-setup-orphan
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(if $(filter $(if $(3),$(3)/@init,@init),$(MB_PROJ_FIRE_MODULE_INIT)),,$(eval $(call mb-make-call,__mb-flow-proj-setup,$(1),$(2),$(if $(3),$(3)/),,orphan)))
-$(MB_ᕽᕽᕽ )$(eval MB_PROJ_FIRE_MODULE_INIT $(MB_MAKE_APPEND) $(if $(3),$(3)/@init,@init))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-proj-setup-orphan,Inject flow of abstract orphan project module., [parent-glue] [bin-mod-dir])
-
-
-
-define __mb-flow-proj-setup-i18n
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-@$$(MB_I18N_PROJ_PHASEID_CLEAN): @clean
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_CLEAN),$$(MB_I18N_PROJ_PHASEDOC_CLEAN))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_CLEAN))
-
-@$$(MB_I18N_PROJ_PHASEID_INIT): @init
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_INIT),$$(MB_I18N_PROJ_PHASEDOC_INIT))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_INIT))
-
-@$$(MB_I18N_PROJ_PHASEID_PREPARE): @$$(MB_I18N_PROJ_PHASEID_INIT) @prepare
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PREPARE),$$(MB_I18N_PROJ_PHASEDOC_PREPARE))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PREPARE))
-
-@$$(MB_I18N_PROJ_PHASEID_PROCESS): @$$(MB_I18N_PROJ_PHASEID_PREPARE) @process
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PROCESS),$$(MB_I18N_PROJ_PHASEDOC_PROCESS))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PROCESS))
-
-@$$(MB_I18N_PROJ_PHASEID_COMPILE): @$$(MB_I18N_PROJ_PHASEID_PROCESS) @compile
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_COMPILE),$$(MB_I18N_PROJ_PHASEDOC_COMPILE))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_COMPILE))
-
-@$$(MB_I18N_PROJ_PHASEID_LINK): @$$(MB_I18N_PROJ_PHASEID_COMPILE) @link
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_LINK),$$(MB_I18N_PROJ_PHASEDOC_LINK))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_LINK))
-
-@$$(MB_I18N_PROJ_PHASEID_BUILD): @$$(MB_I18N_PROJ_PHASEID_LINK) @build
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_BUILD),$$(MB_I18N_PROJ_PHASEDOC_BUILD))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_BUILD))
-
-@$$(MB_I18N_PROJ_PHASEID_TEST): @$$(MB_I18N_PROJ_PHASEID_BUILD) @test
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_TEST),$$(MB_I18N_PROJ_PHASEDOC_TEST))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_TEST))
-
-@$$(MB_I18N_PROJ_PHASEID_PACKAGE): @$$(MB_I18N_PROJ_PHASEID_TEST) @package
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE))
-
-@$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA): @$$(MB_I18N_PROJ_PHASEID_PACKAGE) @package-qa
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE_QA))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA))
-
-@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY): @$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA) @package-deploy
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY))
-
-@$$(MB_I18N_PROJ_PHASEID_ALL): @$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA) @all
-$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_ALL),$$(MB_I18N_PROJ_PHASEDOC_ALL))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_ALL))
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define _mb-flow-proj-setup-i18n
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_CLEAN)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_INIT)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PREPARE)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PROCESS)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_COMPILE)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_LINK)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_BUILD)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_TEST)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PACKAGE)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PACKAGE_QA)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_ALL)
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,_$(0)))
-endef
-
-
-define __mb-flow-proj-module-run
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(1)/@run: $(1)/@build
-$(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-run-gui,$(1),,$(2))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-run,$(1)/@run,Run manually $(notdir $(1)) with gui$(if $(2), on $(2).,.))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(1)/@run)
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-proj-module-run
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
-$(MB_ᕽᕽᕽ )$(if $(filter $(1)/@run,$(MB_PROJ_FIRE_MODULE_RUN)),,$(eval $(call mb-make-call,__$(0),$(1),$(2))))
-$(MB_ᕽᕽᕽ )$(eval MB_PROJ_FIRE_MODULE_RUN +$(MB_MAKE_EQUALS) $(1)/@run)
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-proj-module-run,Inject flow module @run., [machine])
-
-
-define __mb-flow-proj-prepare-packages
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(1)/@msxhub/$(2): $(MB_@GRAPH_CHAIN)
-$(MB_@RECIPE)$$(if $$(wildcard $(1)$$(if $(3),/$(3))),,$$(call mb-make-call,mb-os-dir-create,$(1)$$(if $(3),/$(3))))
-$(MB_@RECIPE)$$(call mb-make-call,mb-msxhub-get-$(2),$(1)$$(if $(3),/$(3)))
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-make-target-phony,$(1)/@msxhub/$(2))
-$(MB_ᕽᕽᕽ )MB_@GRAPH_CHAIN :$(MB_MAKE_EQUALS) $(1)/@msxhub/$(2)
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-proj-prepare-packages
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
-$(MB_ᕽᕽᕽ )$(eval MB_@GRAPH_CHAIN :$(MB_MAKE_EQUALS) $(1)/@@prepare)
-$(MB_ᕽᕽᕽ )$(foreach _pack,$(2),$(eval $(call mb-make-call,__$(0),$(1),$(_pack),$(3))))
-$(MB_ᕽᕽᕽ )$(eval $(1)/@@prepare-deps:: $(MB_@GRAPH_CHAIN))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-proj-prepare-packages,Inject package fetch flow for module., [dest-dir])
-
diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk
deleted file mode 100644
index 703eee9..0000000
--- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-
-define __mb-flow-sdcc-bdos-mono
-.RECIPEPREFIX := $(MB_@RECIPE)
-
-$(1)/@@compile-deps:: $(1)/$(3).rel
-$(1)/$(3).rel: $(2)/$(3).asm | $(1)/@prepare
-$(MB_@RECIPE)$$(call mb-make-call,mb-sdcc-compile-asm,$$<,$$@)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).rel)
-
-$(1)/@@link-deps:: $(1)/$(3).hex
-$(1)/$(3).hex: $(1)/$(3).rel
-$(MB_@RECIPE)$$(call mb-make-call,mb-sdcc-link-asm-bdos,$$<,$$@)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).hex)
-
-$(1)/@@build-deps:: $(1)/$(3).com
-$(1)/$(3).com: $(1)/$(3).hex
-$(MB_@RECIPE)$$(call mb-make-call,mb-sdcc-objcopy,$$<,$$@)
-$(MB_ᕽᕽᕽ )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).com)
-
-.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
-endef
-define mb-flow-sdcc-bdos-mono
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg3,$(0),$(1),$(2),$(3))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-setup,$(1),@init,$(1))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-module-run,$(1))
-$(MB_ᕽᕽᕽ )$(eval $(call mb-make-call,__$(0),$(1),$(2),$(3)))
-endef
-$(call mb-make-call,mb-doc-function-flow,mb-flow-sdcc-bdos-mono,Inject flow of sdcc toolchain bdos mono file module., )
-
diff --git a/lib/msxbuild.mk b/lib/msxbuild.mk
deleted file mode 100644
index 27fca40..0000000
--- a/lib/msxbuild.mk
+++ /dev/null
@@ -1,109 +0,0 @@
-#
-# msxbuild.mk - Makefile helper to use with msx projects.
-#
-# Make make, make behave;
-MAKEFLAGS += --no-builtin-rules
-MAKEFLAGS += --no-builtin-variables
-MAKEFLAGS += --warn-undefined-variables
-.DELETE_ON_ERROR :=
-.RECIPEPREFIX := $(if $(.RECIPEPREFIX),$(.RECIPEPREFIX),>)
-.SUFFIXES :=
-.ONESHELL :=
-.SHELLFLAGS := -e -u -o pipefail -c
-SHELL := bash
-ifeq ($(origin .RECIPEPREFIX), undefined)
-$(error This version of make does not support dynamic white space brain fuck mode.)
-endif
-#########################################################
-### IN THIS FILE NEVER USE A WHITE SPACE OR TAB SPACE ###
-#########################################################
-
-# Set some root variable to use in this library
-MB_@RECIPE := ]
-MB_@RECIPEPREFIX := $(.RECIPEPREFIX)
-MB_@BASEPATH := $(dir $(lastword $(MAKEFILE_LIST)))
-MB_@WORK := /../_work/
-MB_@GRAPH_CHAIN :=
-
-# Build multiple groups of chains of includes
-define __mb-include
-ifdef DEBUG
-ifneq ("$$(DEBUG)", "off")
-$$(warning DEBUG $(0) ($(1)))
-endif
-endif
-.PHONY: $(MB_@BASEPATH)$(1)
-include $(MB_@BASEPATH)$(1)
-$(MB_@BASEPATH)$(1): $(MB_@GRAPH_CHAIN)
-MB_@GRAPH_CHAIN := $(MB_@BASEPATH)$(1)
-endef
-
-# Include full library grouped in functional blocks
-MB_@GRAPH_CHAIN := @@include-parent
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_xxx.mk))
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_doc.mk))
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk))
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_space.mk))
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_doc4u.mk))
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_check.mk))
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk))
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_xml.mk))
-$(eval $(call __mb-include,make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk))
-@@include-libs:: $(MB_@GRAPH_CHAIN)
-MB_@GRAPH_CHAIN := @@include-parent
-$(eval $(call __mb-include,make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_os.mk))
-$(eval $(call __mb-include,make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_conv.mk))
-$(eval $(call __mb-include,make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk))
-$(eval $(call __mb-include,make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_package.mk))
-$(eval $(call __mb-include,make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk))
-@@include-libs:: $(MB_@GRAPH_CHAIN)
-MB_@GRAPH_CHAIN := @@include-parent
-$(eval $(call __mb-include,make/天房系統擴展/mb_msxrom.mk))
-$(eval $(call __mb-include,make/天房系統擴展/mb_msxhub.mk))
-$(eval $(call __mb-include,make/天房系統擴展/mb_msxpipe.mk))
-$(eval $(call __mb-include,make/天房系統擴展/mb_openmsx.mk))
-$(eval $(call __mb-include,make/天房系統擴展/mb_autoexec.mk))
-@@include-libs:: $(MB_@GRAPH_CHAIN)
-MB_@GRAPH_CHAIN := @@include-parent
-$(eval $(call __mb-include,make/𓃬𓍄𓋹𓀭/mb_flow_nx01.mk))
-$(eval $(call __mb-include,make/𓃬𓍄𓋹𓀭/mb_flow_help.mk))
-$(eval $(call __mb-include,make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk))
-$(eval $(call __mb-include,make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk))
-$(eval $(call __mb-include,make/𓃬𓍄𓋹𓀭/mb_flow_macro80.mk))
-$(eval $(call __mb-include,make/𓃬𓍄𓋹𓀭/mb_flow_nestor80.mk))
-$(eval $(call __mb-include,make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk))
-$(eval $(call __mb-include,make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk))
-@@include-libs:: $(MB_@GRAPH_CHAIN)
-MB_@GRAPH_CHAIN :=
-$(eval $(call __mb-include,make/mb_env.mk))
-$(eval $(call __mb-include,make/mb_flight.mk))
-$(eval $(call __mb-include,make/ i18n/mb_i18n.mk))
-ifneq ("$(MB_I18N)", "off")
-$(if $(MB_I18N),$(if $(wildcard $(MB_@BASEPATH)make/ i18n/mb_i18n_$(MB_I18N).mk),,$(error Unsupported i18n language code: $(MB_I18N))))
-$(eval $(call __mb-include,make/ i18n/mb_i18n_$(MB_I18N).mk))
-endif
-@include:: $(MB_@GRAPH_CHAIN)
-MB_@GRAPH_CHAIN :=
-
-# Glue phony targets to get internal @include tree (semi) correct (TODO: fix chain in: mb_flow_0module_setup)
-.PHONY: @include @@include-root @@include-libs @@include-mods @@include-parent @@include-tree
-@@include-parent:: @@include-mods
-@include:: @@include-libs @@include-root
-
-# Document our internal variables, now we have the functions loaded
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-doc-variable-rock,MB_@RECIPE,Recipe prefix to set and indent flow eval rules.)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-doc-variable-rock,MB_@RECIPEPREFIX,Recipe prefix to restore to after flow eval rules.)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-doc-variable-rock,MB_@BASEPATH,Path where msxbuild lib folder is located.)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-doc-variable-rock,MB_@WORK,Shorthand to move to the work folder of module.)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-doc-variable-rock,MB_@GRAPH_CHAIN,Helper to chain internal graph sections includes into groups.)
-
-# Provider+doc easy single function start point for user
-define mb-setup-default
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-doc-help)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-nx01-skywalker,$(2))
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flow-proj-setup,$(1),@include)
-$(MB_ᕽᕽᕽ )$(call mb-make-call,mb-flight-proj-flow-video,$(1))
-endef
-$(call mb-make-call,mb-doc-function,mb-setup-default,Setup default extenstions to configure dynamic project flow.,