WIP moving all flow to namespace.
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -11s

This commit is contained in:
Willem Cazander 2024-07-12 17:59:26 +02:00
parent 74432311ed
commit b67ba15457
40 changed files with 1296 additions and 1205 deletions

View file

@ -1,18 +1,28 @@
#
# Module based project makefile for msxbuild.
# Module based project makefile to self build msxbuild.
#
# Configure make,project,msxbuild
PATH_BIN := bin
PATH_SRC := src
PATH_MKLOCAL ?= .
PATH_MSXBUILD ?= .
-include $(PATH_MKLOCAL)/Makelocal.mk
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 ?= Utils for openMSX in build pipeline.
MB_PROJ_META_WEBSITE ?= https://code.distributedrebirth.love/arch-msx/msxbuild
.RECIPEPREFIX := _
-include Makelocal.mk
include $(PATH_MSXBUILD)/lib/make/msxbuild-prolog.mk
include $(PATH_MSXBUILD)/lib/make/msxbuild.mk
$(call mb_make_call,mb_doc_flow_help,MSXBUILD-Example)
$(call mb_make_call,mb_make_flow_0module,$(PATH_SRC))
$(call mb_make_call,mb_proj_flow_setup,$(PATH_BIN))
$(call mb_make_call,mb_flight_proj_flow_video,$(PATH_BIN))
$(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)/lib/make/msxbuild-prolog.mk
.PHONY: $(PATH_MSXBUILD)/lib/make/msxbuild.mk
Makefile: Makelocal.mk
Makefile: $(PATH_MSXBUILD)/lib/make/msxbuild-prolog.mk
Makefile: $(PATH_MSXBUILD)/lib/make/msxbuild.mk
@@include-root:: Makefile

View file

@ -109,9 +109,15 @@ When you want to see whats happening do a debug run;
manual test all packages on other MSX1 machine;
make DIST_QA_MSXHUB_MACHINE=Philips_VG_8000 bin/dist-qa-msxhub/@run
view the make graph of an target;
make -Bnd bin/dist-qa-msx1/@assert | make2graph | dot -Tpng -o /tmp/out.png;open /tmp/out.png
## Errata
* 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
* Doesn't work on windows
* TODO: mbboot80+add arg prefix and move to other repro + msxhub package

View file

@ -59,6 +59,9 @@ $(call mb_make_call,mb_doc_variable_i18n,MB_I18N_PROJ_DIR_CREATE,"Message for cr
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_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_SDCC_COMPILE ?= SDCC Compile super
$(call mb_make_call,mb_doc_variable_i18n,MB_I18N_SDCC_COMPILE,"Message for SDCC compiler run.")
@ -83,6 +86,12 @@ $(call mb_make_call,mb_doc_variable_i18n,MB_I18N_PROJ_PHASEID_INIT,"Local comman
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.")
@ -131,3 +140,9 @@ $(call mb_make_call,mb_doc_variable_i18n,MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY,"Lo
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.")

View file

@ -1,6 +1,6 @@
MB_I18N_ASSERT_SUCCESS = ASSERTED OKE:
MB_I18N_AUTOEXEC_WRITE = WRITE BOOTER:
MB_I18N_ASSERT_SUCCESS = ASSERTED DONE:
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:
@ -11,35 +11,40 @@ 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_OPENMSX_STARTUP = BOOT! OPENMSX:
MB_I18N_OS_CRAYON_TAG = MSX⁴
MB_I18N_PROJ_STEP_BEFORE = $(MB_MAKE_HASH)$(MB_MAKE_HASH) BEFORE
MB_I18N_PROJ_STEP_AFTER = $(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH) AFTER
MB_I18N_PROJ_STEP_DONE = BASIC RUN COMPLETED:
MB_I18N_PROJ_DIR_CREATE = FOLDER CREATE:
MB_I18N_PROJ_DIR_DELETE = FOLDER DELETE:
MB_I18N_SDCC_COMPILE = SDCC COMPILE:
MB_I18N_SDCC_ARLIB = SDCC ARLIB:
MB_I18N_SDCC_LINK = SDCC LINK:
MB_I18N_SDCC_OBJCOPY = SDCC OBJCOPY:
MB_I18N_FLOW_CLONE_REPORT = GEM⁴ TROOPERS:
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 STUFF
MB_I18N_PROJ_PHASEDOC_CLEAN = DELETE SMURFS
MB_I18N_PROJ_PHASEID_INIT = INIT
MB_I18N_PROJ_PHASEDOC_INIT = INIT CAKE
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 FOOD
MB_I18N_PROJ_PHASEDOC_PROCESS = PROCESS MOLD PART
MB_I18N_PROJ_PHASEID_COMPILE = COMPILE
MB_I18N_PROJ_PHASEDOC_COMPILE = COMPILE FOOD
MB_I18N_PROJ_PHASEDOC_COMPILE = COMPILE MOLD PART
MB_I18N_PROJ_PHASEID_LINK = LINK
MB_I18N_PROJ_PHASEDOC_LINK = LINK FOOD CHAIN
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
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
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
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

View file

@ -18,12 +18,14 @@ MB_I18N_PROJ_STEP_AFTER = ᑭᖑᓂᖓᓂ
MB_I18N_PROJ_STEP_DONE = ᐱᓕᕆᐊᖅ ᐱᐊᓂᒃᑕᐅᔪᖅ
MB_I18N_PROJ_DIR_CREATE = ᑐᖅᑯᐃᕝᕕᓕᐅᕐᓂᖅ
MB_I18N_PROJ_DIR_DELETE = ᑐᖅᑯᖅᓯᓯᒪᕝᕕᖓ ᐲᔭᖅᑕᐅᓗᓂ
MB_I18N_FLOW_CLONE_REPORT = ᐃᓐᓈᕈᐃᑦ
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 = ᐊᑦᑕᑕᕐᕕᒃᓴ
@ -32,4 +34,5 @@ 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 = ᑕᒪᕐᒥᒃ

View file

@ -18,6 +18,7 @@ MB_I18N_PROJ_STEP_AFTER = フェーズ後
MB_I18N_PROJ_STEP_DONE = プライムパイターゲットの実行を終了しました
MB_I18N_PROJ_DIR_CREATE = フォルダーの作成
MB_I18N_PROJ_DIR_DELETE = フォルダーの削除
MB_I18N_FLOW_CLONE_REPORT = クローン・トルーパー
MB_I18N_SDCC_COMPILE = 標準マイクロコンパイラ
MB_I18N_SDCC_ARLIB = 標準マイクロビルドライブラリ
MB_I18N_SDCC_LINK = 標準マイクロリンクメッカ図書館
@ -26,6 +27,8 @@ 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 = コンパイル
@ -39,7 +42,8 @@ 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_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 = 完全なビルドおよびパッケージ化の 〄テストを実行します。

View file

@ -1,41 +0,0 @@
define __mb_assert_flow_grep_binary
.RECIPEPREFIX := $(MB__RECIPE)
$(1)/@assert-$(2): $(1)/@build
$(MB__RECIPE)grep -q -U $(4) $(1)/$(3)
$(MB__RECIPE)$$(call mb_make_call,mb_os_echo_assert,$$(MB_I18N_ASSERT_SUCCESS) @assert-$(2))
$(MB__    )$$(call mb_make_call,mb_doc_target,$(1)/@assert-$(2),"Asserts that $(3) output matches.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,$(1)/@assert-$(2))
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_test,$(1)/@assert-$(2))
.RECIPEPREFIX := $(MB__RECIPEPREFIX)
endef
define mb_assert_flow_grep_binary
$(MB__    )$(call mb_make_call,mb_make_check_arg4,mb_assert_flow_grep_binary,$(1),$(2),$(3),$(4))
$(MB__    )$(eval $(call mb_make_call,__mb_assert_flow_grep_binary,$(1),$(2),$(3),$(4)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_assert_flow_grep_binary,"Prints flow of single binary grep assert.","<build-dir> <test-id> <file> <grep-match>")
#$$(call mb_delete,$(1)/$(3).out)
define __mb_assert_flow_bdos_grep
.RECIPEPREFIX := $(MB__RECIPE)
MB__TARGET := $(1)-test-$(2)/@assert
$(1)-test-$(2)/@assert: $(1)/@build
$(MB__RECIPE)$$(call mb_make_call,mb_os_dir_create,$(1)-test-$(2))
$(MB__RECIPE)$$(call mb_make_call,mb_os_file_copy,$(1)/$(3).com,$(1)-test-$(2))
$(MB__RECIPE)$$(call mb_make_call,mb_msxpipe_safe_test,$(1)-test-$(2),$(3) > $(3).out)
$(MB__RECIPE)grep -q $(4) $(1)-test-$(2)/$(3).out
$(MB__RECIPE)$$(call mb_make_call,mb_os_echo_assert,$$(MB_I18N_ASSERT_SUCCESS) $(1)-test-$(2)/@assert)
$(MB__    )$$(call mb_make_call,mb_doc_target,$(1)-test-$(2)/@assert,"Asserts that $(3) output matches.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,$(1)-test-$(2)/@assert)
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_test,$(1)-test-$(2)/@assert)
.RECIPEPREFIX := $(MB__RECIPEPREFIX)
endef
define mb_assert_flow_bdos_grep
$(MB__    )$(call mb_make_call,mb_make_check_arg4,mb_assert_flow_bdos_grep,$(1),$(2),$(3),$(4))
$(MB__    )$(eval $(call mb_make_call,__mb_assert_flow_bdos_grep,$(1),$(2),$(3),$(4)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_assert_flow_bdos_grep,"Prints flow of single grep assert.","<build-dir> <test-id> <cmd-name> <grep-match>")

View file

@ -19,58 +19,58 @@ $(call mb_make_call,mb_doc_variable,MB_FLIGHT_VIDEO_NAME,"Video file name of the
define mb_flight_video_merge
$(MB__    )$(call mb_make_call,mb_make_check_arg1,mb_flight_video_merge,$(1))
$(MB__    )$(call mb_make_call,mb_os_echo_good,Indexing flight videos)
$(MB__    )ls -1tr $(1)/*-omsx/videos/*.avi | awk -F "$(1)/" -v s="file '" -v e="'" '{print s$$2e}' > $(1)/$(MB_FLIGHT_VIDEO_NAME).lst
$(MB__    )ffmpeg -v quiet -y -f concat -i $(1)/$(MB_FLIGHT_VIDEO_NAME).lst -c copy $(1)/$(MB_FLIGHT_VIDEO_NAME).avi
$(MB__    )$(call mb_make_call,mb_os_echo_good,Flight video completed)
$(MB_   )$(call mb_make_call,mb_make_check_arg1,mb_flight_video_merge,$(1))
$(MB_   )$(call mb_make_call,mb_os_echo_good,Indexing flight videos)
$(MB_   )ls -1tr $(1)/*-omsx/videos/*.avi | awk -F "$(1)/" -v s="file '" -v e="'" '{print s$$2e}' > $(1)/$(MB_FLIGHT_VIDEO_NAME).lst
$(MB_   )ffmpeg -v quiet -y -f concat -i $(1)/$(MB_FLIGHT_VIDEO_NAME).lst -c copy $(1)/$(MB_FLIGHT_VIDEO_NAME).avi
$(MB_   )$(call mb_make_call,mb_os_echo_good,Flight video completed)
endef
$(call mb_make_call,mb_doc_function,mb_flight_video_merge,"Merged all flight videos to one.","<dir>")
define __mb_flight_proj_flow_video
.RECIPEPREFIX := $(MB__RECIPE)
.RECIPEPREFIX := $(MB_@RECIPE)
@@flight-video-build: @build
$(MB__RECIPE)$$(if $$(filter on,$$(MB_FLIGHT_VIDEO)),$$(call mb_make_call,mb_flight_video_merge,$(1)))
$(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_flag_phony,@flight-video-build)
$(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)))
$(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) -s @@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_flag_phony,@flight-video-test)
$(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-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)))
$(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)ff MB_FLIGHT_VIDEO$(MB_MAKE_EQUALS)on $$(MAKE) -s @@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_flag_phony,@flight-video-package-qa)
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_@RECIPE)MB_OPENMSX_HEADLESS$(MB_MAKE_EQUALS)ff MB_FLIGHT_VIDEO$(MB_MAKE_EQUALS)on $$(MAKE) -s @@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)
.RECIPEPREFIX := $(MB__RECIPEPREFIX)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flight_proj_flow_video
$(MB__    )$(call mb_make_call,mb_make_check_arg1,mb_flight_proj_flow_video,$(1))
$(MB__    )$(eval $(call mb_make_call,__mb_flight_proj_flow_video,$(1)))
$(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.","<path-bin>")

View file

@ -1,291 +0,0 @@
MB_PROJ_META_NAME ?= MSXBUILD
$(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.")
define mb_proj_module_path_src
$(MB__    )$(1)/$(subst /,,$(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_path_src,"Convert include location folder as src folder.","<path-src>")
define mb_proj_module_path_bin
$(MB__    )$(2)/$(subst /,,$(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_path_src,"Convert include location folder as bin folder.","<path-src> <path-bin>")
define mb_proj_module_local_deps
$(MB__    )$(foreach dep,$(2),$(1)/$(notdir $(dep)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_deps,"Convert other files to local deps.","<mod-bin> <deps>")
define mb_proj_grow_deps_phase_clean
$(MB__    )$(eval @@clean-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_clean,"Grow the deps of the '@clean' phase..","<slave-target>")
define mb_proj_grow_deps_phase_init
$(MB__    )$(eval @@init-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_init,"Grow the deps of the '@init' phase..","<slave-target>")
define mb_proj_grow_deps_phase_process
$(MB__    )$(eval @@process-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_process,"Grow the deps of the '@process' phase..","<slave-target>")
define mb_proj_grow_deps_phase_compile
$(MB__    )$(eval @@compile-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_compile,"Grow the deps of the '@compile' phase..","<slave-target>")
define mb_proj_grow_deps_phase_link
$(MB__    )$(eval @@link-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_link,"Grow the deps of the '@link' phase..","<slave-target>")
define mb_proj_grow_deps_phase_build
$(MB__    )$(eval @@build-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_build,"Grow the deps of the '@build' phase..","<slave-target>")
define mb_proj_grow_deps_phase_test
$(MB__    )$(eval @@test-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_test,"Grow the deps of the '@test' phase..","<slave-target>")
define mb_proj_grow_deps_phase_package
$(MB__    )$(eval @@package-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_package,"Grow the deps of the '@package' phase..","<slave-target>")
define mb_proj_grow_deps_phase_package_qa
$(MB__    )$(eval @@package-qa-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_package_qa,"Grow the deps of the '@package-qa' phase..","<slave-target>")
define mb_proj_grow_deps_phase_package_deploy
$(eval @@package-deploy-deps:: $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_package_deploy,"Grow the deps of the '@package-deploy' phase..","<slave-target>")
define _mb_proj_flow_step_before
$(MB__    )$(call mb_make_call,mb_os_echo_phase,$(MB_I18N_PROJ_STEP_BEFORE) $@)
endef
define _mb_proj_flow_step_done
$(MB__    )$(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_good,$(MB_I18N_PROJ_STEP_DONE) $@)))
endef
define _mb_proj_run_clean
$(MB__    )$(foreach folder,$(1),$(if $(wildcard $(folder)),$(call mb_make_call,mb_os_echo_command,$(MB_I18N_PROJ_DIR_DELETE) $(folder));))
$(MB__    )$(foreach folder,$(1),$(if $(wildcard $(folder)),$(call mb_make_call,mb_os_dir_delete,$(folder))))
endef
define _mb_proj_run_init
$(MB__    )$(foreach folder,$(1),$(if $(wildcard $(folder)),,$(call mb_make_call,mb_os_echo_command,$(MB_I18N_PROJ_DIR_CREATE) $(folder));))
$(MB__    )$(foreach folder,$(1),$(if $(wildcard $(folder)),,$(call mb_make_call,mb_os_dir_create,$(folder))))
endef
define __mb_proj_flow_setup
.RECIPEPREFIX := $(MB__RECIPE)
@@clean:
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@clean)
@@clean-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@clean-deps)
@clean: @@clean @@clean-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_run_clean,$(1))
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@clean,"Clean's the project build folders.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@clean)
@@init:
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@init)
@@init-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@init-deps)
@init: @@init @@init-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_run_init,$(1))
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@init,"Create the project output folders.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@init)
@@process: @init
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@process)
@@process-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@process-deps)
@process: @@process @@process-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@process,"Process sources before compiling.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@process)
@@compile: @process
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@compile)
@@compile-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@compile-deps)
@compile: @@compile @@compile-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@compile,"Compiles all project sources.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@compile)
@@link: @compile
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@link)
@@link-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@link-deps)
@link: @@link @@link-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@link,"Link all project intermediate files.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@link)
@@build: @link
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@build)
@@build-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@build-deps)
@build: @@build @@build-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@build,"Build all project artifacts.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@build)
@@test: @build
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@test)
@@test-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@test-deps)
@test: @@test @@test-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@test,"Run all assertion tests.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@test)
@@package: @test
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@package)
@@package-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@package-deps)
@package: @@package @@package-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@package,"Create all packages of project.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@package)
@@package-qa: @package
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@package-qa)
@@package-qa-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@package-qa-deps)
@package-qa: @@package-qa @@package-qa-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@package-qa,"Run all packages QA of project.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@package-qa)
@@package-deploy: @package-qa
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@package-deploy)
@@package-deploy-deps::
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@@package-deploy-deps)
@package-deploy: @@package-deploy @@package-deploy-deps
$(MB__RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@package-deploy,"Deploy all the packages.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@package-deploy)
.RECIPEPREFIX := $(MB__RECIPEPREFIX)
endef
define mb_proj_flow_setup
$(MB__    )$(call mb_make_call,mb_make_check_arg1,mb_proj_flow_setup,$(1))
$(MB__    )$(eval $(call mb_make_call,__mb_proj_flow_setup,$(1)))
$(MB__    )$(if $(MB_I18N),$(if $(filter off,$(MB_I18N)),,$(call mb_make_call,_mb_proj_flow_setup_i18n)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_proj_flow_setup,"Prints flow of abstract project build cycle.","<build-dirs>")
define __mb_proj_flow_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_flag_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_flag_phony,@$$(MB_I18N_PROJ_PHASEID_INIT))
@$$(MB_I18N_PROJ_PHASEID_PROCESS): @$$(MB_I18N_PROJ_PHASEID_INIT) @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_flag_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_flag_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_flag_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_flag_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_flag_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_flag_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_flag_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_flag_phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY))
.RECIPEPREFIX := $(MB__RECIPEPREFIX)
endef
define _mb_proj_flow_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_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__    )$(eval $(call mb_make_call,__mb_proj_flow_setup_i18n))
endef
#$(call mb_make_call,mb_doc_function_flow,_mb_proj_flow_setup_i18n,"Prints flow for i18n wrapper of project build cycle.")

View file

@ -1,90 +0,0 @@
define __mb_tool_m80_flow_bdos_mono
.RECIPEPREFIX := $(MB__RECIPE)
$(1): | @init
$(MB__RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1)))
$(MB__RECIPE)$$(if $$(wildcard $(1)/utils),,$$(call mb_make_call,mb_os_dir_create,$(1)/utils))
$(MB__RECIPE)$$(call mb_make_call,mb_msxhub_get_macro80,$(1)/utils)
$(MB__RECIPE)$$(call mb_make_call,mb_msxhub_get_z80asmuk,$(1)/utils)
$(MB__    )$$(call mb_make_call,mb_doc_target_deep,$(1))
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,$(1))
$(1)/$(3).mac: $(2)/$(3).mac | $(1)
$(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)
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_process,$(1)/$(3).mac)
$(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)
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_compile,$(1)/$(3).rel)
$(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)
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_link,$(1)/$(3).hex)
$(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)
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_build,$(1)/$(3).com)
$(1)/@build: $(1)/$(3).com
$(MB__    )$$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,$(1)/@build)
$(1)/@run: $(1)/@build
$(MB__RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1))
$(MB__    )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,$(1)/@run)
.RECIPEPREFIX := $(MB__RECIPEPREFIX)
endef
define mb_tool_m80_flow_bdos_mono
$(MB__    )$(call mb_make_call,mb_make_check_arg3,mb_tool_m80_flow_bdos_mono,$(1),$(2),$(3))
$(MB__    )$(eval $(call mb_make_call,__mb_tool_m80_flow_bdos_mono,$(1),$(2),$(3)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_tool_m80_flow_bdos_mono,"Prints flow of m80 toolchain bdos mono file module.","<bin-dir> <src-dir> <objname>")
define __mb_tool_sdcc_flow_bdos_mono
.RECIPEPREFIX := $(MB__RECIPE)
$(1): | @init
$(MB__RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1)))
$(MB__    )$$(call mb_make_call,mb_doc_target_deep,$(1))
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,$(1))
$(1)/$(3).rel: $(2)/$(3).asm | $(1)
$(MB__RECIPE)$$(call mb_make_call,mb_sdcc_compile_asm,$$<,$$@)
$(MB__    )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).rel)
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_compile,$(1)/$(3).rel)
$(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)
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_link,$(1)/$(3).hex)
$(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)
$(MB__    )$$(call mb_make_call,mb_proj_grow_deps_phase_build,$(1)/$(3).com)
$(1)/@build: $(1)/$(3).com
$(MB__    )$$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,$(1)/@build)
$(1)/@run: $(1)/@build
$(MB__RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1))
$(MB__    )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,$(1)/@run)
.RECIPEPREFIX := $(MB__RECIPEPREFIX)
endef
define mb_tool_sdcc_flow_bdos_mono
$(MB__    )$(call mb_make_call,mb_make_check_arg3,mb_tool_sdcc_flow_bdos_mono,$(1),$(2),$(3))
$(MB__    )$(eval $(call mb_make_call,__mb_tool_sdcc_flow_bdos_mono,$(1),$(2),$(3)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_tool_sdcc_flow_bdos_mono,"Prints flow of sdcc toolchain bdos mono file module.","<bin-dir> <src-dir> <objname>")

View file

@ -10,9 +10,8 @@ MAKEFLAGS += --no-builtin-rules
MAKEFLAGS += --no-builtin-variables
MAKEFLAGS += --warn-undefined-variables
.DELETE_ON_ERROR :=
.RECIPEPREFIX := _
.RECIPEPREFIX := $(if $(.RECIPEPREFIX),$(.RECIPEPREFIX),>)
.SUFFIXES :=
.PHONY := Makefile
.ONESHELL :=
.SHELLFLAGS := -e -u -o pipefail -c
SHELL := bash
@ -21,27 +20,6 @@ ifeq ($(origin .RECIPEPREFIX), undefined)
endif
# === Below here is optional ===
#
# Latin1 white space and latin1 tab space are not usable in makefiles.
# Setup private chinese white space
#
_XXX  :=
_XXX   :=
_XXX    :=
_XXX     :=
_XXX      :=
_XXX       :=
_XXX        :=
_XXX         :=
_XXX          :=
_XXX           :=
_XXX            :=
_XXX             :=
_XXX              :=
_XXX               :=
# TODO: Fix these white spaces will NOT work when put and the end of this file.
#
# Configure verbose mode
#

View file

@ -1,39 +1,78 @@
#
# msxbuild.mk - Makefile helper to use with msx projects.
#
MB__         :=
MB__     :=
MB__RECIPE := ]
MB__RECIPEPREFIX := $(.RECIPEPREFIX)
MB__BASEPATH := $(dir $(lastword $(MAKEFILE_LIST)))../..
MB__BASEPATH_REAL := $(if $(realpath $(MB__BASEPATH)),$(realpath $(MB__BASEPATH)),$(MB__BASEPATH))
MB_@RECIPE := ]
MB_@RECIPEPREFIX := $(.RECIPEPREFIX)
MB_@BASEPATH := $(dir $(lastword $(MAKEFILE_LIST)))../..
MB_@BASEPATH_REAL := $(if $(realpath $(MB_@BASEPATH)),$(realpath $(MB_@BASEPATH)),$(MB_@BASEPATH))
MB_@INCLUDE_CHAIN :=
# Build multiple groups of chains of includes
define __mb_include
.PHONY: $(MB_@BASEPATH)/$(1)
include $(MB_@BASEPATH)/$(1)
$(if $(MB_@INCLUDE_CHAIN),$(eval $(MB_@BASEPATH)/$(1): $(MB_@INCLUDE_CHAIN)))
MB_@INCLUDE_CHAIN := $(MB_@BASEPATH)/$(1)
endef
include $(MB__BASEPATH)/lib/make//mb_doc.mk
include $(MB__BASEPATH)/lib/make//mb_make_call.mk
include $(MB__BASEPATH)/lib/make//mb_make_xml.mk
include $(MB__BASEPATH)/lib/make//mb_make.mk
include $(MB__BASEPATH)/lib/make//mb_os.mk
include $(MB__BASEPATH)/lib/make//mb_conv.mk
include $(MB__BASEPATH)/lib/make//mb_sdcc.mk
include $(MB__BASEPATH)/lib/make//mb_package.mk
include $(MB__BASEPATH)/lib/make//mb_msxrom.mk
include $(MB__BASEPATH)/lib/make//mb_msxhub.mk
include $(MB__BASEPATH)/lib/make//mb_msxpipe.mk
include $(MB__BASEPATH)/lib/make//mb_openmsx.mk
include $(MB__BASEPATH)/lib/make//mb_autoexec.mk
include $(MB__BASEPATH)/lib/make/mb_flight.mk
include $(MB__BASEPATH)/lib/make/mb_assert.mk
include $(MB__BASEPATH)/lib/make/mb_tool.mk
include $(MB__BASEPATH)/lib/make/mb_proj.mk
include $(MB__BASEPATH)/lib/make/i18n/mb_i18n.mk
# Include full library grouped in functional blocks
MB_@INCLUDE_CHAIN := @@include-parent
$(eval $(call __mb_include,lib/make/प्रणाली/mb_xxx.mk))
$(eval $(call __mb_include,lib/make/प्रणाली/mb_doc.mk))
$(eval $(call __mb_include,lib/make/प्रणाली/mb_make_call.mk))
$(eval $(call __mb_include,lib/make/प्रणाली/mb_make_check.mk))
$(eval $(call __mb_include,lib/make/प्रणाली/mb_make_xml.mk))
$(eval $(call __mb_include,lib/make/प्रणाली/mb_make.mk))
@@include-libs:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_CHAIN := @@include-parent
$(eval $(call __mb_include,lib/make/ᐊᑐᕐᓗᒍ/mb_os.mk))
$(eval $(call __mb_include,lib/make/ᐊᑐᕐᓗᒍ/mb_conv.mk))
$(eval $(call __mb_include,lib/make/ᐊᑐᕐᓗᒍ/mb_sdcc.mk))
$(eval $(call __mb_include,lib/make/ᐊᑐᕐᓗᒍ/mb_package.mk))
@@include-libs:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_CHAIN := @@include-parent
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_msxrom.mk))
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_msxhub.mk))
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_msxpipe.mk))
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_openmsx.mk))
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_autoexec.mk))
@@include-libs:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_CHAIN := @@include-parent
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_0module.mk))
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk))
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk))
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_m80.mk))
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk))
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk))
@@include-libs:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_CHAIN :=
$(eval $(call __mb_include,lib/make/mb_flight.mk))
$(eval $(call __mb_include,lib/make/i18n/mb_i18n.mk))
ifneq ("$(MB_I18N)", "off")
$(if $(MB_I18N),$(if $(wildcard $(MB__BASEPATH)/lib/make/i18n/mb_i18n_$(MB_I18N).mk),,$(error Unsupported i18n language code: $(MB_I18N))))
$(if $(MB_I18N),$(eval include $(MB__BASEPATH)/lib/make/i18n/mb_i18n_$(MB_I18N).mk))
$(if $(MB_I18N),$(if $(wildcard $(MB_@BASEPATH)/lib/make/i18n/mb_i18n_$(MB_I18N).mk),,$(error Unsupported i18n language code: $(MB_I18N))))
$(if $(MB_I18N),$(eval include $(MB_@BASEPATH)/lib/make/i18n/mb_i18n_$(MB_I18N).mk))
endif
@include:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_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
$(call mb_make_call,mb_doc_variable_rock,MB__RECIPEPREFIX,"Recipe prefix to restore to after flow eval.")
$(call mb_make_call,mb_doc_variable_rock,MB__BASEPATH,"Path where msxbuild lib folder is located.")
$(call mb_make_call,mb_doc_variable_rock,MB__BASEPATH_REAL,"Resolved real path of msxbuild.")
# Document our internal variables, now we have the functions loaded
$(call mb_make_call,mb_doc_variable_rock,MB_@RECIPE,"Recipe prefix to set and indent flow eval rules.")
$(call mb_make_call,mb_doc_variable_rock,MB_@RECIPEPREFIX,"Recipe prefix to restore to after flow eval rules.")
$(call mb_make_call,mb_doc_variable_rock,MB_@BASEPATH,"Path where msxbuild lib folder is located.")
$(call mb_make_call,mb_doc_variable_rock,MB_@BASEPATH_REAL,"Resolved real path of msxbuild.")
# 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_doc_flow_help)
$(MB_   )$(call mb_make_call,mb_flow_0module_setup,$(2))
$(MB_   )$(call mb_make_call,mb_flow_proj_setup,$(1))
$(MB_   )$(call mb_make_call,mb_flight_proj_flow_video,$(1))
endef
$(call mb_make_call,mb_doc_function,mb_setup_default,"Installs default extenstion to configure dynamic project flow.","<bin-dir> <src-dir>")

View file

@ -58,240 +58,240 @@ MB_DOC_FIRE_VARIABLE_DEEP += $(call mb_make_call,_mb_doc_variable4u_deep,MB_DOC_
define _escape
$(MB__    )$(subst <,"<",$(subst >,">",$(subst \\n,\\\n,$(subst ','"'"',$(1)))))
$(MB_   )$(subst <,"<",$(subst >,">",$(subst \\n,\\\n,$(subst ','"'"',$(1)))))
endef
define _mb_doc_variable_txt
$(MB__    )"* "$(2)$(MB_MAKE_EQUALS)$(call mb_make_call,_escape,$(4))\\n$(if $(3),\\t$(3)\\n)\\n
$(MB_   )"* "$(2)$(MB_MAKE_EQUALS)$(call mb_make_call,_escape,$(4))\\n$(if $(3),\\t$(3)\\n)\\n
endef
define _mb_doc_variable_xml
$(MB__    )\\n\\t$(call mb_make_call,mb_make_xml_open,variable,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_VALUE),$(4))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,variable)
$(MB_   )\\n\\t$(call mb_make_call,mb_make_xml_open,variable,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_VALUE),$(4))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,variable)
endef
define _mb_doc_variable4u_deep
$(MB__    )$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),deep,$(1),$(2),$($(1)))
$(MB_   )$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),deep,$(1),$(2),$($(1)))
endef
define _mb_doc_variable4u_rock
$(MB__    )$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),rock,$(1),$(2),$($(1)))
$(MB_   )$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),rock,$(1),$(2),$($(1)))
endef
define _mb_doc_variable4u_flow
$(MB__    )$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),flow,$(1),$(2),$(words $($(1))))
$(MB_   )$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),flow,$(1),$(2),$(words $($(1))))
endef
define _mb_doc_variable4u_i18n
$(MB__    )$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),i18n,$(1),$(2),$($(1)))
$(MB_   )$(call mb_make_call,_mb_doc_variable_$(MB_DOC_FORMAT),i18n,$(1),$(2),$($(1)))
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))))
$(MB_   )$(eval MB_DOC_FIRE_VARIABLE += $$(call mb_make_call,_mb_doc_variable_$$(MB_DOC_FORMAT),build,$(1),$(2),$($(1))))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable,"Saves formatted documention of an variable.","<name> [desc]")
define mb_doc_variable_deep
$(MB__    )$(eval MB_DOC_FIRE_VARIABLE_DEEP += $$(call mb_make_call,_mb_doc_variable4u_deep,$(1),$(2)))
$(MB_   )$(eval MB_DOC_FIRE_VARIABLE_DEEP += $$(call mb_make_call,_mb_doc_variable4u_deep,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable_deep,"Saves formatted documention of an deep variable.","<name> [desc]")
define mb_doc_variable_rock
$(MB__    )$(eval MB_DOC_FIRE_VARIABLE_ROCK += $$(call mb_make_call,_mb_doc_variable4u_rock,$(1),$(2)))
$(MB_   )$(eval MB_DOC_FIRE_VARIABLE_ROCK += $$(call mb_make_call,_mb_doc_variable4u_rock,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable_rock,"Saves formatted documention of an rock variable.","<name> [desc]")
define mb_doc_variable_flow
$(MB__    )$(eval MB_DOC_FIRE_VARIABLE_FLOW += $$(call mb_make_call,_mb_doc_variable4u_flow,$(1),$(2)))
$(MB_   )$(eval MB_DOC_FIRE_VARIABLE_FLOW += $$(call mb_make_call,_mb_doc_variable4u_flow,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable_flow,"Saves formatted documention of an flow variable.","<name> [desc]")
define mb_doc_variable_i18n
$(MB__    )$(eval MB_DOC_FIRE_VARIABLE_I18N += $$(call mb_make_call,_mb_doc_variable4u_i18n,$(1),$(2)))
$(MB_   )$(eval MB_DOC_FIRE_VARIABLE_I18N += $$(call mb_make_call,_mb_doc_variable4u_i18n,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_variable_i18n,"Saves formatted documention of an i18n variable.","<name> [desc]")
define _mb_doc_function_txt
$(MB__    )"* "$(2)$(if $(4), $(4))$(if $(3),\\n\\t$(3)\\n)\\n
$(MB_   )"* "$(2)$(if $(4), $(4))$(if $(3),\\n\\t$(3)\\n)\\n
endef
define _mb_doc_function_xml
$(MB__    )\\n\\t$(call mb_make_call,mb_make_xml_open,function,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_ARGS),$(4))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,function)
$(MB_   )\\n\\t$(call mb_make_call,mb_make_xml_open,function,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_ARGS),$(4))\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,function)
endef
define _mb_doc_function4u_deep
$(MB__    )$(call mb_make_call,_mb_doc_function_$(MB_DOC_FORMAT),deep,$(1),$(2),$(3))
$(MB_   )$(call mb_make_call,_mb_doc_function_$(MB_DOC_FORMAT),deep,$(1),$(2),$(3))
endef
define _mb_doc_function4u_flow
$(MB__    )$(call mb_make_call,_mb_doc_function_$(MB_DOC_FORMAT),flow,$(1),$(2),$(3))
$(MB_   )$(call mb_make_call,_mb_doc_function_$(MB_DOC_FORMAT),flow,$(1),$(2),$(3))
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)))
$(MB_   )$(eval MB_DOC_FIRE_FUNCTION += $$(call mb_make_call,_mb_doc_function_$$(MB_DOC_FORMAT),build,$(1),$(2),$(3)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_function,"Saves formatted documention of an function.","<name> [desc] [args]")
define mb_doc_function_deep
$(MB__    )$(eval MB_DOC_FIRE_FUNCTION_DEEP += $$(call mb_make_call,_mb_doc_function4u_deep,$(1),$(2),$(3)))
$(MB_   )$(eval MB_DOC_FIRE_FUNCTION_DEEP += $$(call mb_make_call,_mb_doc_function4u_deep,$(1),$(2),$(3)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_function_deep,"Saves formatted documention of an deep function.","<name> [desc] [args]")
define mb_doc_function_flow
$(MB__    )$(eval MB_DOC_FIRE_FUNCTION_FLOW += $$(call mb_make_call,_mb_doc_function4u_flow,$(1),$(2),$(3)))
$(MB_   )$(eval MB_DOC_FIRE_FUNCTION_FLOW += $$(call mb_make_call,_mb_doc_function4u_flow,$(1),$(2),$(3)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_function_flow,"Saves formatted documention of an flow function.","<name> [desc] [args]")
define _mb_doc_target_txt
$(MB__    )"* "$(2)$(if $(3),\\n\\t$(3))\\n\\n
$(MB_   )"* "$(2)$(if $(3),\\n\\t$(3))\\n\\n
endef
define _mb_doc_target_xml
$(MB__    )\\n\\t$(call mb_make_call,mb_make_xml_open,target,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))$(if $3,\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,target),\\n\\t$(call mb_make_call,mb_make_xml_close,target))
$(MB_   )\\n\\t$(call mb_make_call,mb_make_xml_open,target,$(MB_DOC_XML_ATTR_NAME),$(2),$(MB_DOC_XML_ATTR_LEVEL),$(1))$(if $3,\\n\\t\\t$(call mb_make_call,mb_make_xml_tag_value,$(MB_DOC_XML_TAG_DESC),$(3))\\n\\t$(call mb_make_call,mb_make_xml_close,target),\\n\\t$(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)))
$(MB_   )$(eval MB_DOC_FIRE_TARGET += $$(call mb_make_call,_mb_doc_target_$$(MB_DOC_FORMAT),build,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_target,"Saves formatted documention of an target.","<name> [desc]")
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)))
$(MB_   )$(eval MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,_mb_doc_target_$$(MB_DOC_FORMAT),deep,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_target_deep,"Saves formatted documention of an deep target.","<name> [desc]")
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)))
$(MB_   )$(eval MB_DOC_FIRE_TARGET_HELP += $$(call mb_make_call,_mb_doc_target_$$(MB_DOC_FORMAT),help,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_target_help,"Saves formatted documention of an help target.","<name> [desc]")
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)))
$(MB_   )$(eval MB_DOC_FIRE_TARGET_RUN += $$(call mb_make_call,_mb_doc_target_$$(MB_DOC_FORMAT),run,$(1),$(2)))
endef
MB_DOC_FIRE_FUNCTION_DEEP += $(call mb_make_call,_mb_doc_function4u_deep,mb_doc_target_run,"Saves formatted documention of an run target.","<name> [desc]")
define __mb_doc_flow_help
.RECIPEPREFIX := $(MB__RECIPE)
.RECIPEPREFIX := $(MB_@RECIPE)
@help:
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Welcome to the $$(if $(1),$(1),MSXBUILD) help system.\\n\\nFor detailed fire help use one of the following targets;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_HELP)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo -e "Welcome to the $$(if $(1),$(1),MSXBUILD) help system.\\n\\nFor detailed fire help use one of the following targets;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo -e $$(call mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_HELP)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo -e $$(call mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help)
@help-variable:
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the make fire variables;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-variable,"Lists build variables.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-variable)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the make fire variables;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the deep make variables;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_DEEP)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-variable-deep,"Lists deep variables.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-variable-deep)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the deep make variables;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_DEEP)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the rock make variables;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_ROCK)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-variable-rock,"Lists rock variables.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-variable-rock)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the rock make variables;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_ROCK)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the flow make variables;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_FLOW)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-variable-flow,"Lists flow variables.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-variable-flow)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the flow make variables;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_FLOW)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the i18n make variables;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_I18N)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-variable-i18n,"Lists i18n variables.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-variable-i18n)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the i18n make variables;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_I18N)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the make fire functions;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-function,"Lists build functions.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-function)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the make fire functions;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the deep make functions;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_DEEP)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-function-deep,"Lists deep functions.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-function-deep)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the deep make functions;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_DEEP)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the flow make functions;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_FLOW)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-function-flow,"Lists flow functions.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-function-flow)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Documention of the flow make functions;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_FLOW)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following make fire targets;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-target,"Lists build targets.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-target)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following make fire targets;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following deep make targets;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_DEEP)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-target-deep,"Lists deep targets.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-target-deep)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following deep make targets;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_DEEP)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following run make targets;")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_RUN)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__    )$$(call mb_make_call,mb_doc_target_help,@help-target-run,"Lists runnable targets.")
$(MB__    )$$(call mb_make_call,mb_make_flag_phony,@help-target-run)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo "Build one of the following run make targets;")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_RUN)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(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-all:
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo -e "Documention of all fire functions/variables/targets;\\n")
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables in the deep"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_DEEP)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables hard as rock"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_ROCK)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables defining flow"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_FLOW)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables for i18n letters"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_I18N)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions in the deep"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_DEEP)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions building flow"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_FLOW)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets in the deep"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_DEEP)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets that run away"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_RUN)
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets main project help"))
$(MB__RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_HELP)
$(MB__RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB__RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(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_flag_phony,@help-all)
$(MB_@RECIPE)$$(eval MB_DOC_FORMAT := xml)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),@echo -e "Documention of all fire functions/variables/targets;\\n")
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo -e $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables in the deep"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_DEEP)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables hard as rock"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_ROCK)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables defining flow"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_FLOW)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Variables for i18n letters"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_I18N)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions in the deep"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_DEEP)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Functions building flow"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_FLOW)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets in the deep"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_DEEP)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets that run away"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_RUN)
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(call mb_make_call,mb_os_echo_good,"Targets main project help"))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_HELP)
$(MB_@RECIPE)$$(if $$(filter xml,$$(MB_DOC_FORMAT)),@echo -e $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT)))
$(MB_@RECIPE)$$(if $$(filter txt,$$(MB_DOC_FORMAT)),$$(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)MB_DOC_FORMAT$(MB_MAKE_EQUALS)xml $$(MAKE) -s @help-all
$(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_flag_phony,@help-firemake)
$(MB_@RECIPE)MB_DOC_FORMAT$(MB_MAKE_EQUALS)xml $$(MAKE) -s @help-all
$(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)
.RECIPEPREFIX := $(MB__RECIPEPREFIX)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_doc_flow_help
$(MB__    )$(if $(1),,$(error $(1) missing))
$(MB__    )$(eval $(call mb_make_call,__mb_doc_flow_help,$(1)))
$(MB__    )$(if $(.DEFAULT_GOAL),,$(eval .DEFAULT_GOAL :$(MB_MAKE_EQUALS) @help))
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1)))
$(MB_   )$(if $(.DEFAULT_GOAL),,$(eval .DEFAULT_GOAL :$(MB_MAKE_EQUALS) @help))
endef
MB_DOC_FIRE_FUNCTION_FLOW += $(call mb_make_call,_mb_doc_function4u_flow,mb_doc_flow_help,"Prints flow of fire help target.","[project-name]")
MB_DOC_FIRE_FUNCTION_FLOW += $(call mb_make_call,_mb_doc_function4u_flow,mb_doc_flow_help,"Prints flow of fire help target.")

View file

@ -18,7 +18,7 @@ MB_MAKE_DOLLAR := $$
$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_DOLLAR,"Expanded special char; dollar.")
define mb_make_flag_phony
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.","<target>")
@ -31,81 +31,25 @@ $(call mb_make_call,mb_doc_function_deep,mb_make_newline,"Prints a newline chara
define mb_make_space2comma
$(MB__    )$(subst $(MB_MAKE_SPACE),$(MB_MAKE_COMMA),$1)
$(MB_   )$(subst $(MB_MAKE_SPACE),$(MB_MAKE_COMMA),$1)
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_space2comma,"Replaces all spaces witth comma's.")
define mb_make_rwildcard
$(MB__    )$(foreach d,$(wildcard $1*),$(call mb_make_rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
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_rwildcard,"Recursive wildcard search.","<dir> <match>")
$(call mb_make_call,mb_doc_function_deep,mb_make_wildcard_treewalker,"Recursive wildcard search.","<dir> <match>")
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)))))))))))))))))))))))))))
$(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.","<string>")
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)))))))))))))))))))))))))))
$(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.","<string>")
define __mb_make_flow_0module
include $$(call mb_make_call,mb_make_rwildcard,$(1),*/0module.mk)
endef
define mb_make_flow_0module
$(MB__    )$(call mb_make_call,mb_make_check_arg1,mb_make_flow_0module,$(1))
$(MB__    )$(eval $(call mb_make_call,__mb_make_flow_0module,$(1)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_make_flow_0module,"Prints flow of recursive 0module.mk include.","<dir>")
define mb_make_check_variable
$(MB__    )$(if $($(1)),,$(error $(1): Is empty))
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_check_variable,"Checks that a variable is not empty.","<variable>")
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.","<function> <arg1>")
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.","<function> <arg1>")
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.","<function> <arg1>")
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.","<function> <arg1>")
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.","<function> <arg1>")

View file

@ -13,10 +13,10 @@ MB_MAKE_CALL_DEBUG ?= off
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))))
$(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))
$(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
$(call mb_make_call,mb_doc_function_deep,mb_make_call,"Checked origin call function wrapper.","<function> [args...]")

View file

@ -0,0 +1,52 @@
define mb_make_check_variable
$(MB_   )$(if $($(1)),,$(error $(1): Is empty))
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_check_variable,"Checks that a variable is not empty.","<variable>")
define mb_make_check_value_valid
$(MB_   )$(if $(filter $(2),$(3)),,$(error $(1): $(2) Is not valid, options are: $(3)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_check_value_valid,"Checks that a value is valid.","<value> <valid-values>")
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.","<function> <arg1>")
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.","<function> <arg1>")
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.","<function> <arg1>")
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.","<function> <arg1>")
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.","<function> <arg1>")

View file

@ -13,31 +13,31 @@ $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_XML_CDATA_END,"Expanded special
define _escape_xml_attr
$(MB__    )$(subst <,\u0026lt\u003B,$(subst >,\u003Cgt\u003B,$(subst $(MB_MAKE_XML_CDATA_START),,$(subst $(MB_MAKE_XML_CDATA_END),,$(1)))))
$(MB_   )$(subst <,\u0026lt\u003B,$(subst >,\u003Cgt\u003B,$(subst $(MB_MAKE_XML_CDATA_START),,$(subst $(MB_MAKE_XML_CDATA_END),,$(1)))))
endef
define mb_make_xml_open
$(MB__    )"$(MB_MAKE_XML_LT)"$(1)$(if $(2), $(2)$(MB_MAKE_EQUALS)\"$(call mb_make_call,_escape_xml_value,$(3))\")$(if $(4), $(4)$(MB_MAKE_EQUALS)\"$(call mb_make_call,_escape_xml_attr,$(5))\")"$(MB_MAKE_XML_GT)"
$(MB_   )"$(MB_MAKE_XML_LT)"$(1)$(if $(2), $(2)$(MB_MAKE_EQUALS)\"$(call mb_make_call,_escape_xml_value,$(3))\")$(if $(4), $(4)$(MB_MAKE_EQUALS)\"$(call mb_make_call,_escape_xml_attr,$(5))\")"$(MB_MAKE_XML_GT)"
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_xml_open,"Print xml open tag.","<tag> [attr1-name] [attr1-value] [attr2-name] [attr2-value]")
define mb_make_xml_close
$(MB__    )"$(MB_MAKE_XML_LT)"/$(1)"$(MB_MAKE_XML_GT)"
$(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.","<tag>")
define _escape_xml_value
$(MB__    )$(subst <,\u003C,$(subst >,\u003E,$(subst $(MB_MAKE_XML_CDATA_START),,$(subst $(MB_MAKE_XML_CDATA_END),,$(1)))))
$(MB_   )$(subst <,\u003C,$(subst >,\u003E,$(subst $(MB_MAKE_XML_CDATA_START),,$(subst $(MB_MAKE_XML_CDATA_END),,$(1)))))
endef
define mb_make_xml_value
$(MB__    )"$(MB_MAKE_XML_CDATA_START)"$(call mb_make_call,_escape_xml_value,$(1))"$(MB_MAKE_XML_CDATA_END)"
$(MB_   )"$(MB_MAKE_XML_CDATA_START)"$(call mb_make_call,_escape_xml_value,$(1))"$(MB_MAKE_XML_CDATA_END)"
endef
$(call mb_make_call,mb_doc_function_deep,mb_make_xml_value,"Print xml value in cdata wrapper.","<value>")
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)))
$(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.","<tag> [value]")

View file

@ -0,0 +1,19 @@
#
# 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_               :=

View file

@ -1,16 +1,16 @@
define mb_conv_unix2dos
$(MB__    )$(call mb_make_call,mb_make_check_arg2,mb_conv_unix2dos,$(1),$(2))
$(MB__    )$(call mb_make_call,mb_os_echo_command,$(MB_I18N_CONV_UNIX2DOS) $(2))
$(MB__    )unix2dos -q -n $(1) $(2)
$(MB_   )$(call mb_make_call,mb_make_check_arg2,mb_conv_unix2dos,$(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.","<in> <out>")
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)
$(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.","<in> <out>")

View file

@ -29,81 +29,81 @@ $(call mb_make_call,mb_doc_variable_rock,MB_OS_TERM_COLORS,"Native OS terminal c
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
$(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_dir_delete
$(MB__    )$(MB_OS_RMDIR) $(1)
$(MB_   )$(MB_OS_RMDIR) $(1)
endef
$(call mb_make_call,mb_doc_function,mb_os_dir_delete,"Delete the full folder.","<dir>")
define mb_os_dir_create
$(MB__    )$(MB_OS_MKDIR) $(1)
$(MB_   )$(MB_OS_MKDIR) $(1)
endef
$(call mb_make_call,mb_doc_function,mb_os_dir_create,"Creates an folder.","<dir>")
define mb_os_file_delete
$(MB__    )$(MB_OS_RM) $(1)
$(MB_   )$(MB_OS_RM) $(1)
endef
$(call mb_make_call,mb_doc_function,mb_os_file_delete,"Deletes an file.","<file>")
define mb_os_file_copy
$(MB__    )$(MB_OS_COPY) $(1) $(2)
$(MB_   )$(MB_OS_COPY) $(1) $(2)
endef
$(call mb_make_call,mb_doc_function,mb_os_file_copy,"Copy an file.","<in> <out>")
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)")
$(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.","<color-code> <message>")
define mb_os_echo_fail
$(MB__    )$(call mb_make_call,mb_os_crayon_tagged_echo,31,$(1))
$(MB_   )$(call mb_make_call,mb_os_crayon_tagged_echo,31,$(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_os_echo_fail,"Echo's an message to stdout with 'red' crayon.","<message>")
define mb_os_echo_good
$(MB__    )$(call mb_make_call,mb_os_crayon_tagged_echo,32,$(1))
$(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.","<message>")
define mb_os_echo_assert
$(MB__    )$(call mb_make_call,mb_os_crayon_tagged_echo,33,$(1))
$(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.","<message>")
define mb_os_echo_command
$(MB__    )$(call mb_make_call,mb_os_crayon_tagged_echo,34,$(1))
$(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.","<message>")
define mb_os_echo_phase
$(MB__    )$(call mb_make_call,mb_os_crayon_tagged_echo,35,$(1))
$(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.","<message>")
define mb_os_echo_remark
$(MB__    )$(call mb_make_call,mb_os_crayon_tagged_echo,36,$(1))
$(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.","<message>")

View file

@ -1,7 +1,7 @@
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)`
$(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.","<dir> <artifact>")

View file

@ -24,76 +24,76 @@ $(call mb_make_call,mb_doc_variable_deep,MB_SDCC_AR_FLAGS,"The SDCC module archi
define _mb_sdcc_path
$(MB__    )$(if $(MB_SDCC_PATH),$(MB_SDCC_PATH)/$(1),$(1))
$(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)
$(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.","<in> <out>")
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)
$(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.","<in> <out>")
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)
$(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.","<in> <out> <code-loc>")
define mb_sdcc_link_asm_0000
$(MB__    )$(call mb_make_call,mb_sdcc_link_asm,$(1),$(2),0x0000)
$(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.","<in> <out>")
define mb_sdcc_link_asm_0100
$(MB__    )$(call mb_make_call,mb_sdcc_link_asm,$(1),$(2),0x0100)
$(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.","<in> <out>")
define mb_sdcc_link_asm_1000
$(MB__    )$(call mb_make_call,mb_sdcc_link_asm,$(1),$(2),0x1000)
$(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.","<in> <out>")
define mb_sdcc_link_asm_4000
$(MB__    )$(call mb_make_call,mb_sdcc_link_asm,$(1),$(2),0x4000)
$(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.","<in> <out>")
define mb_sdcc_link_asm_8000
$(MB__    )$(call mb_make_call,mb_sdcc_link_asm,$(1),$(2),0x8000)
$(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.","<in> <out>")
define mb_sdcc_link_asm_C000
$(MB__    )$(call mb_make_call,mb_sdcc_link_asm,$(1),$(2),0xC000)
$(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.","<in> <out>")
define mb_sdcc_link_asm_bdos
$(MB__    )$(call mb_make_call,mb_sdcc_link_asm_0100,$(1),$(2))
$(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.","<in> <out>")
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)
$(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.","<in> <out>")

View file

@ -67,114 +67,114 @@ $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_PROMPT_SPACE,"When on adds an wh
define mb_autoexec_append_cmd
$(MB__    )echo -e "$(2)\r" >> $(1)/autoexec.bat
$(MB_   )echo -e "$(2)\r" >> $(1)/autoexec.bat
endef
$(call mb_make_call,mb_doc_function,mb_autoexec_append_cmd,"Appends an command.","<dir> <command>")
define mb_autoexec_append_echo
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),echo $(subst >,&gt;,$(2)))
$(MB_   )$(call mb_make_call,mb_autoexec_append_cmd,$(1),echo $(subst >,&gt;,$(2)))
endef
$(call mb_make_call,mb_doc_function,mb_autoexec_append_echo,"Appends an echo message.","<dir> <message>")
define mb_autoexec_append_rem
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),rem $(2))
$(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.","<dir> <remark>")
define mb_autoexec_append_show_gui
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl headless_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.","<dir>")
define mb_autoexec_append_stop_fail
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl fail_after 0)
$(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.","<dir>")
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)
$(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.","<dir>")
define mb_autoexec_append_plug_porta
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl boot_exec_plug_porta $(2))
$(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.","<dir> <plug-dev>")
define mb_autoexec_append_plug_portb
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl boot_exec_plug_portb $(2))
$(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.","<dir> <plug-dev>")
define mb_autoexec_append_save_screenshot
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl night_flight_save_screenshot $(2))
$(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.","<dir> [prefix]")
define mb_autoexec_append_save_video
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl night_flight_save_video $(2))
$(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.","<dir> [prefix]")
define mb_autoexec_append_safe_test
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_SAFE_TEST_TIMEOUT)) seconds err_test $(if $(4),$(4),$(MB_AUTOEXEC_SAFE_TEST_EXITCODE)))
$(MB__    )$(call mb_make_call,mb_autoexec_append_echo,$(1),mb::safe test $(2))
$(MB__    )$(call mb_make_call,mb_autoexec_append_cmd,$(1),$(2))
$(MB_   )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_SAFE_TEST_TIMEOUT)) seconds err_test $(if $(4),$(4),$(MB_AUTOEXEC_SAFE_TEST_EXITCODE)))
$(MB_   )$(call mb_make_call,mb_autoexec_append_echo,$(1),mb::safe test $(2))
$(MB_   )$(call mb_make_call,mb_autoexec_append_cmd,$(1),$(2))
endef
$(call mb_make_call,mb_doc_function,mb_autoexec_append_safe_test,"Appends running a safe test.","<dir> <cmd> [timeout] [exit-code]")
define mb_autoexec_append_safe_cmd
$(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))
$(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.","<dir> <cmd> [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 + A:\;)
$(MB__    )$(if $(wildcard $(1)/utils),$(call mb_make_call,mb_autoexec_append_cmd,$(1),PATH + A:\UTILS))
$(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 + A:\;)
$(MB_   )$(if $(wildcard $(1)/utils),$(call mb_make_call,mb_autoexec_append_cmd,$(1),PATH + A:\UTILS))
endef
define mb_autoexec_write_default
$(MB__    )$(call mb_make_call,mb_os_echo_remark,$(MB_I18N_AUTOEXEC_WRITE) $@)
$(MB__    )@echo -n "" > $(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 $(MB_MAKE_SPACE)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 $(MB_MAKE_SPACE)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)$(MB_MAKE_SPACE)\"))
$(MB__    )$(if $(filter on,$(MB_AUTOEXEC_PROMPT_SPACE)),,$(call mb_make_call,mb_autoexec_append_cmd,$(1),,set PROMPT \"$(value MB_AUTOEXEC_PROMPT_FORMAT)\"))
$(MB_   )$(call mb_make_call,mb_os_echo_remark,$(MB_I18N_AUTOEXEC_WRITE) $@)
$(MB_   )@echo -n "" > $(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 $(MB_MAKE_SPACE)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 $(MB_MAKE_SPACE)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)$(MB_MAKE_SPACE)\"))
$(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.","<dir> [fg-color] [bg-color]")

View file

@ -7,16 +7,16 @@ $(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))
$(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)))))
$(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.","<dir> <msxhub-slug>")
@ -25,22 +25,22 @@ $(call mb_make_call,mb_doc_function_deep,mb_msxhub_file,"Installs msxsub package
# 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)
$(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.","<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)
$(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.","<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)
$(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.","<dir>")
@ -49,31 +49,31 @@ $(call mb_make_call,mb_doc_function_deep,mb_msxhub_get_nextor_boot,"Installs nex
# 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)
$(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,mb_msxhub_get_msxdos2_utils,"Installs msxdos2 util files into dir.","<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)
$(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,mb_msxhub_get_nextor_utils,"Installs nextor util files into dir.","<dir>")
@ -82,39 +82,39 @@ $(call mb_make_call,mb_doc_function,mb_msxhub_get_nextor_utils,"Installs nextor
# 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)
$(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,mb_msxhub_get_macro80,"Installs macro80 package into dir.","<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)
$(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,mb_msxhub_get_z80asmuk,"Installs z80asmuk package into dir.","<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)
$(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,mb_msxhub_get_wbass2,"Installs wbass2 package into dir.","<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)
$(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,mb_msxhub_get_konpass,"Installs konpass package into dir.","<dir>")
@ -123,42 +123,42 @@ $(call mb_make_call,mb_doc_function,mb_msxhub_get_konpass,"Installs konpass pack
# 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)
$(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,mb_msxhub_get_pmarc,"Installs pmarc package into dir.","<dir>")
define mb_msxhub_get_lhpack
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),LHPACK/1.00-1/get/LHPACK/lhpack.com)
$(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,mb_msxhub_get_lhpack,"Installs lhpack package into dir.","<dir>")
define mb_msxhub_get_lhext
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),LHEXT/1.34-2/get/LHEXT/lhext.com)
$(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,mb_msxhub_get_lhext,"Installs lhext package into dir.","<dir>")
define mb_msxhub_get_gunzip
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),GUNZIP/1.1-1/get/GUNZIP/gunzip.com)
$(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,mb_msxhub_get_gunzip,"Installs gunzip package into dir.","<dir>")
define mb_msxhub_get_tunzip
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),TUNZIP/0.91-1/get/TUNZIP/tunzip.com)
$(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,mb_msxhub_get_tunzip,"Installs tunzip package into dir.","<dir>")
define mb_msxhub_get_popcom
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),POPCOM/1.00-2/get/POPCOM/popcom.com)
$(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,mb_msxhub_get_popcom,"Installs popcom package into dir.","<dir>")
@ -167,71 +167,71 @@ $(call mb_make_call,mb_doc_function,mb_msxhub_get_popcom,"Installs popcom packag
# Tools
#
define mb_msxhub_get_make
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),MAKE/2.00-1/get/MAKE/MAKE.COM)
$(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,mb_msxhub_get_make,"Installs make package into dir.","<dir>")
define mb_msxhub_get_adir
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),ADIR/1.3-1/get/ADIR/adir.com)
$(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,mb_msxhub_get_adir,"Installs adir package into dir.","<dir>")
define mb_msxhub_get_turbo
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),TURBO/2.1-1/get/TURBO/turbo.com)
$(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,mb_msxhub_get_turbo,"Installs turbo package into dir.","<dir>")
define mb_msxhub_get_baskom
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),BASKOM/1.0-1/get/BASKOM/baskom.com)
$(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,mb_msxhub_get_baskom,"Installs baskom package into dir.","<dir>")
define mb_msxhub_get_binldr
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),BINLDR/1.0.2-1/get/BINLDR/BINLDR.COM)
$(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,mb_msxhub_get_binldr,"Installs binldr package into dir.","<dir>")
define mb_msxhub_get_dmphex
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),DMPHEX/1.00-1/get/DMPHEX/dmphex.com)
$(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,mb_msxhub_get_dmphex,"Installs dmphex package into dir.","<dir>")
define mb_msxhub_get_zd
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),ZD/3.30-1/get/ZD/zd.com)
$(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,mb_msxhub_get_zd,"Installs zd package into dir.","<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)
$(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,mb_msxhub_get_msxdos2t,"Installs msxdos2t package into dir.","<dir>")
@ -240,7 +240,7 @@ $(call mb_make_call,mb_doc_function,mb_msxhub_get_msxdos2t,"Installs msxdos2t pa
# Graphics editors
#
define mb_msxhub_get_gfxage
$(MB__    )$(call mb_make_call,mb_msxhub_file,$(1),GFXAGE/0.99-1/get/GFXAGE/gfxage.com)
$(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,mb_msxhub_get_gfxage,"Installs gfxage package into dir.","<dir>")

View file

@ -19,43 +19,43 @@ $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_BG_RUN_GUI,"Background colo
define mb_msxpipe_safe_cmd
$(MB__    )$(call mb_make_call,mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_CMD),$(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))
$(MB_   )$(call mb_make_call,mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_CMD),$(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.","<dir> <cmd> [machine]")
define mb_msxpipe_safe_test
$(MB__    )$(call mb_make_call,mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_TEST),$(MB_MSXPIPE_COLOR_BG_SAFE_TEST))
$(MB__    )$(call mb_make_call,mb_autoexec_append_safe_test,$(1),$(2))
$(MB__    )$(call mb_make_call,mb_autoexec_append_exit,$(1))
$(MB__    )$(call mb_make_call,mb_openmsx_dosctl,$(1),$(3))
$(MB_   )$(call mb_make_call,mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_TEST),$(MB_MSXPIPE_COLOR_BG_SAFE_TEST))
$(MB_   )$(call mb_make_call,mb_autoexec_append_safe_test,$(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_test,"Runs openMSX and safely executes one test.","<dir> <cmd> [machine]")
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))
$(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_msxpipe_run_gui,$(1),$(2),$(3))
$(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.","<dir> [cmd] [machine]")
define mb_msxpipe_run_gui_mouse
$(MB__    )$(call mb_make_call,_mb_msxpipe_run_gui,$(1),$(2),$(3),mouse)
$(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.","<dir> [cmd] [machine]")

View file

@ -8,181 +8,181 @@ $(call mb_make_call,mb_doc_variable_deep,MB_MSXROM_CACHE,"Cache storage location
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))
$(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))))
$(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.","<dir> <msxrom-slug>")
define mb_msxrom_setup
$(MB__    )$(if $(wildcard $(1)-omsx),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx))
$(MB__    )$(if $(wildcard $(1)-omsx/share),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share))
$(MB__    )$(if $(wildcard $(1)-omsx/share/systemroms),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/systemroms))
$(MB__    )$(if $(wildcard $(1)-omsx/share/systemroms/machines),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/systemroms/machines))
$(MB__    )$(if $(wildcard $(1)-omsx/share/systemroms/extensions),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/systemroms/extensions))
$(MB_   )$(if $(wildcard $(1)-omsx),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx))
$(MB_   )$(if $(wildcard $(1)-omsx/share),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share))
$(MB_   )$(if $(wildcard $(1)-omsx/share/systemroms),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/systemroms))
$(MB_   )$(if $(wildcard $(1)-omsx/share/systemroms/machines),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/systemroms/machines))
$(MB_   )$(if $(wildcard $(1)-omsx/share/systemroms/extensions),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/systemroms/extensions))
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_setup,"Creates needed systemrom folders.","<dir>")
define mb_msxrom_extension_ide
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/ide240.dat)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/ide240.dat)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_ide,"Installs sunrise IDE classic rom.","<dir>")
define mb_msxrom_extension_ide_nextor
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/Nextor-2.1.1.SunriseIDE.ROM)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_extension_scsi_novaxis
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/novaxis.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_extension_msxdos22
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/msxdos22.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/msxdos22.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_msxdos22,"Installs msxdos 2.20 rom.","<dir>")
define mb_msxrom_extension_rs232
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/rs232.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/rs232.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_rs232,"Installs rs232 rom.","<dir>")
define mb_msxrom_extension_fmpac
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/fmpac.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/fmpac.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_fmpac,"Installs fmpac rom.","<dir>")
define mb_msxrom_extension_fmpac_en
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/fmpac_en.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_extension_moonsound
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/yrw801.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/yrw801.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_moonsound,"Installs moonsound rom.","<dir>")
define mb_msxrom_extension_basickun
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,machines/sanyo/phc-70fd2_basickun.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_machine_Canon_V-20
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/canon/v-20_basic-bios1.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_machine_Mitsubishi_ML-F80
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-f80_basic-bios1.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_machine_Mitsubishi_ML-FX1
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-fx1_basic-bios1.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_machine_Mitsubishi_ML-G3_ES
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_basic-bios2.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_disk.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_msx2sub.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_rs232.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_basic-bios2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_disk.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_msx2sub.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_machine_Philips_VG_8000
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8000_basic-bios1.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8000_basic-bios1.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_VG_8000,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Philips_VG_8230
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_basic-bios2.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_disk.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_msx2sub.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_basic-bios2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_disk.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_msx2sub.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_VG_8230,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Philips_NMS_8250
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_basic-bios2.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_msx2sub.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_disk.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_basic-bios2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_msx2sub.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_disk.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_NMS_8250,"Installs machine roms.","<dir>")
define mb_msxrom_machine_Toshiba_HX-21
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/toshiba/HX21-IC2.BIN)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/toshiba/HX21-IC3.BIN)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/toshiba/HX21-IC2.BIN)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_machine_Yamaha_AX200
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_basic-bios1.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_arabic.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_music.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_basic-bios1.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_arabic.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_machine_Yamaha_YIS-503IIIR
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_basic-bios2.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_msx2sub.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_cpm.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_net_2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_basic-bios2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_msx2sub.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_cpm.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
define mb_msxrom_machine_Panasonic_FS-A1WSX
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_basic-bios2p.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_disk.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_firmware.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_fmbasic.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjibasic.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjifont.rom)
$(MB__    )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_msx2psub.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_basic-bios2p.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_disk.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_firmware.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_fmbasic.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjibasic.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjifont.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)-omsx/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.","<dir>")
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_extension_fmpac,$(1))
$(MB__    )$(call mb_make_call,mb_msxrom_extension_moonsound,$(1))
$(MB__    )$(call mb_make_call,mb_msxrom_extension_basickun,$(1))
$(MB_   )$(call mb_make_call,mb_msxrom_machine_Philips_NMS_8250,$(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.","<dir>")
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))
$(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.","<dir>")

View file

@ -9,7 +9,7 @@ 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))
$(call mb_make_call,mb_doc_variable,MB_OPENMSX_MACHINE,"The default MSX machine to use.",$(MB_OPENMSX_MACHINE))
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")
@ -43,80 +43,82 @@ $(call mb_make_call,mb_doc_variable_deep,MB_OPENMSX_STDERR_IGNORE,"Kills logging
define mb_openmsx_setup
$(MB__    )$(if $(wildcard $(1)-omsx),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx))
$(MB__    )$(if $(wildcard $(1)-omsx/stdio.xml),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/openmsx/stdio.xml,$(1)-omsx))
$(MB__    )$(if $(wildcard $(1)-omsx/share),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share))
$(MB__    )$(if $(wildcard $(1)-omsx/share/settings.xml),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/openmsx/share/settings.xml,$(1)-omsx/share))
$(MB__    )$(if $(wildcard $(1)-omsx/share/scripts),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/scripts))
$(MB__    )$(if $(wildcard $(1)-omsx/share/scripts/boot_exec.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/openmsx/share/scripts/boot_exec.tcl,$(1)-omsx/share/scripts))
$(MB__    )$(if $(wildcard $(1)-omsx/share/scripts/fail_after.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/openmsx/share/scripts/fail_after.tcl,$(1)-omsx/share/scripts))
$(MB__    )$(if $(wildcard $(1)-omsx/share/scripts/fire_hdd.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/openmsx/share/scripts/fire_hdd.tcl,$(1)-omsx/share/scripts))
$(MB__    )$(if $(wildcard $(1)-omsx/share/scripts/headless.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/openmsx/share/scripts/headless.tcl,$(1)-omsx/share/scripts))
$(MB__    )$(if $(wildcard $(1)-omsx/share/scripts/night_flight.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/openmsx/share/scripts/night_flight.tcl,$(1)-omsx/share/scripts))
$(MB__    )$(if $(wildcard $(1)-omsx/share/scripts/omsxctl.tcl),,$(call mb_msxhub_file,$(1)-omsx/share/scripts,OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.tcl))
$(MB__    )$(if $(wildcard $(1)-omsx/share/extensions),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/extensions))
$(MB__    )$(if $(wildcard $(1)-omsx/share/extensions/fire-hdd.xml),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/openmsx/share/extensions/fire-hdd.xml,$(1)-omsx/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))
$(MB_   )$(call mb_make_call,mb_make_check_arg2,$(0),$(1),$(2))
$(MB_   )$(if $(wildcard $(1)-omsx),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx))
$(MB_   )$(if $(wildcard $(1)-omsx/stdio.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/stdio.xml,$(1)-omsx))
$(MB_   )$(if $(wildcard $(1)-omsx/share),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share))
$(MB_   )$(if $(wildcard $(1)-omsx/share/settings.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/settings.xml,$(1)-omsx/share))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/boot_exec.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/boot_exec.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/fail_after.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/fail_after.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/fire_hdd.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/fire_hdd.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/headless.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/headless.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/night_flight.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/night_flight.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/omsxctl.tcl),,$(call mb_msxhub_file,$(1)-omsx/share/scripts,OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.tcl))
$(MB_   )$(if $(wildcard $(1)-omsx/share/extensions),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/extensions))
$(MB_   )$(if $(wildcard $(1)-omsx/share/extensions/fire-hdd.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/extensions/fire-hdd.xml,$(1)-omsx/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.","<dir> <machine>")
define _mb_openmsx_path
$(MB__    )$(if $(MB_OPENMSX_PATH),$(MB_OPENMSX_PATH)/$(1),$(1))
$(MB_   )$(if $(MB_OPENMSX_PATH),$(MB_OPENMSX_PATH)/$(1),$(1))
endef
define _mb_openmsx_run
$(MB__    )$(call mb_make_call,mb_os_echo_command,$(MB_I18N_OPENMSX_STARTUP) $@ - $(2))
$(MB__    )$(if $(wildcard $(1)-omsx/persistent/fire-hdd/untitled1/sync),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/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)-omsx/persistent/fire-hdd/untitled1/image-hda.dsk" \
$(MB__    )FIRE_HDD_PATH_EXPORT="$(1)-omsx/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)-omsx" \
$(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 ram4mb,$(3)),-ext ram2mb) \
$(MB__        )$(if $(filter ram4mb,$(3)),-ext ram4mb) \
$(MB__        )$(MB_OPENMSX_ARGS) \
$(MB__        )-control stdio < $(1)-omsx/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)-omsx/persistent/fire-hdd/untitled1/sync/" "$(1)/"
$(MB_   )$(call mb_make_call,mb_os_echo_command,$(MB_I18N_OPENMSX_STARTUP) $@ - $(2))
$(MB_   )$(if $(wildcard $(1)-omsx/persistent/fire-hdd/untitled1/sync),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/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)-omsx/persistent/fire-hdd/untitled1/image-hda.dsk" \
$(MB_   )FIRE_HDD_PATH_EXPORT="$(1)-omsx/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)-omsx" \
$(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 ram4mb,$(3)),-ext ram2mb) \
$(MB_      )$(if $(filter ram4mb,$(3)),-ext ram4mb) \
$(MB_      )$(MB_OPENMSX_ARGS) \
$(MB_      )-control stdio < $(1)-omsx/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)-omsx/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_REAL)/lib/emuctl/z80.bat,$(1)))
$(MB__    )$(if $(wildcard $(1)/reboot.bat),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/emuctl/reboot.bat,$(1)))
$(MB__    )$(if $(wildcard $(1)/shutdown.bat),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/emuctl/shutdown.bat,$(1)))
$(MB__    )$(if $(wildcard $(1)/mbboot80.com),,$(call mb_make_call,mb_os_file_copy,$(MB__BASEPATH_REAL)/lib/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))
$(MB_   )$(if $(wildcard $(1)/z80.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/emuctl/z80.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/reboot.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/emuctl/reboot.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/shutdown.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/emuctl/shutdown.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/mbboot80.com),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/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_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)))
$(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.","<dir> [machine] [mem-ext]")

View file

@ -0,0 +1,13 @@
define __mb_flow_0module_setup
$(MB_   ).PHONY: $(1)
$(MB_   )include $(1)
$(MB_   )@@include-mods:: $(1)
$(MB_   )$(1): @@include-tree
endef
define mb_flow_0module_setup
$(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))))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_0module_setup,"Prints flow of recursive 0module.mk include.","<dir>")

View file

@ -0,0 +1,41 @@
define __mb_assert_flow_grep_binary
.RECIPEPREFIX := $(MB_@RECIPE)
$(1)/@assert-$(2): $(1)/@build
$(MB_@RECIPE)grep -q -U $(4) $(1)/$(3)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_assert,$$(MB_I18N_ASSERT_SUCCESS) @assert-$(2))
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)/@assert-$(2),"Asserts that $(3) output matches.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@assert-$(2))
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@test,$(1)/@assert-$(2))
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_assert_flow_grep_binary
$(MB_   )$(call mb_make_call,mb_make_check_arg4,mb_assert_flow_grep_binary,$(1),$(2),$(3),$(4))
$(MB_   )$(eval $(call mb_make_call,__mb_assert_flow_grep_binary,$(1),$(2),$(3),$(4)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_assert_flow_grep_binary,"Prints flow of single binary grep assert.","<build-dir> <test-id> <file> <grep-match>")
#$$(call mb_delete,$(1)/$(3).out)
define __mb_assert_flow_bdos_grep
.RECIPEPREFIX := $(MB_@RECIPE)
MB__TARGET := $(1)-test-$(2)/@assert
$(1)-test-$(2)/@assert: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_os_dir_create,$(1)-test-$(2))
$(MB_@RECIPE)$$(call mb_make_call,mb_os_file_copy,$(1)/$(3).com,$(1)-test-$(2))
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_safe_test,$(1)-test-$(2),$(3) > $(3).out,$(5))
$(MB_@RECIPE)grep -q $(4) $(1)-test-$(2)/$(3).out
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_assert,$$(MB_I18N_ASSERT_SUCCESS) $(1)-test-$(2)/@assert)
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)-test-$(2)/@assert,"Asserts that $(3) output matches.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)-test-$(2)/@assert)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@test,$(1)-test-$(2)/@assert)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_assert_flow_bdos_grep
$(MB_   )$(call mb_make_call,mb_make_check_arg4,mb_assert_flow_bdos_grep,$(1),$(2),$(3),$(4))
$(MB_   )$(eval $(call mb_make_call,__mb_assert_flow_bdos_grep,$(1),$(2),$(3),$(4),$(5)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_assert_flow_bdos_grep,"Prints flow of single grep assert.","<build-dir> <test-id> <cmd-name> <grep-match> [machine]")

View file

@ -0,0 +1,41 @@
define __mb_tool_clone_flow_deps
.RECIPEPREFIX := $(MB_@RECIPE)
$(1)/@clean: @@clean
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_run_clean,$(1))
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1)/@clean)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@clean)
$(1): | @init
$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1)))
$(MB_@RECIPE)$$(if $(6),$$(call mb_make_call,mb_msxhub_get_$(6)_boot,$(1)))
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1))
$(1)/@prepare: $(3) | $(1)
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1)/@prepare)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@prepare)
$(1)/%: $(2)/% $(1)/@prepare
$(MB_@RECIPE)$$(call mb_make_call,mb_os_file_copy,$$<,$$@)
$(1)/@build: $(4)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_remark,$(MB_I18N_FLOW_CLONE_REPORT) $$(words $$^))
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@build)
$(1)/@run: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1),,$(5))
$(MB_   )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@run)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_tool_clone_flow_deps
$(MB_   )$(call mb_make_call,mb_make_check_arg3,mb_tool_clone_flow_deps,$(1),$(2),$(3))
$(MB_   )$(eval $(call mb_make_call,__mb_tool_clone_flow_deps,$(1),$(2),$(3),$(call mb_make_call,mb_proj_module_local_deps,$(1),$(3)),$(4),$(5)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_tool_clone_flow_deps,"Prints flow of file copy toolchain module.","<bin-to> <bin-from> <deps> [machine] [os-version]")

View file

@ -0,0 +1,49 @@
define __mb_tool_m80_flow_bdos_mono
.RECIPEPREFIX := $(MB_@RECIPE)
$(1): | @init
$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1)))
$(MB_@RECIPE)$$(if $$(wildcard $(1)/utils),,$$(call mb_make_call,mb_os_dir_create,$(1)/utils))
$(MB_@RECIPE)$$(call mb_make_call,mb_msxhub_get_macro80,$(1)/utils)
$(MB_@RECIPE)$$(call mb_make_call,mb_msxhub_get_z80asmuk,$(1)/utils)
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1))
$(1)/$(3).mac: $(2)/$(3).mac | $(1)
$(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)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@process,$(1)/$(3).mac)
$(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)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@compile,$(1)/$(3).rel)
$(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)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@link,$(1)/$(3).hex)
$(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)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@build,$(1)/$(3).com)
$(1)/@build: $(1)/$(3).com
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@build)
$(1)/@run: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1))
$(MB_   )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@run)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_tool_m80_flow_bdos_mono
$(MB_   )$(call mb_make_call,mb_make_check_arg3,$(0),$(1),$(2),$(3))
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_tool_m80_flow_bdos_mono,"Prints flow of m80 toolchain bdos mono file module.","<bin-dir> <src-dir> <objname>")

View file

@ -0,0 +1,288 @@
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_ALL = @clean @init @process @compile @link @build @test @package @package-qa @package-deploy
$(call mb_make_call,mb_doc_variable_rock,MB_PROJ_PHASE_ALL,"All the phases of an project with flow steps.")
define mb_proj_module_path_src
$(MB_   )$(1)/$(subst /,,$(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_path_src,"Convert current location folder as src folder.","<path-src>")
define mb_proj_module_path_bin
$(MB_   )$(2)/$(subst /,,$(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_path_src,"Convert current location folder as bin folder.","<path-src> <path-bin>")
define mb_proj_module_local_deps
$(MB_   )$(foreach _dep,$(2),$(1)/$(notdir $(_dep)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_deps,"Convert other files to local deps.","<mod-bin> <deps>")
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_ALL))
$(MB_   )$(eval @$(1)-deps:: $(2))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_clean,"Grow the deps of the selected phase..","<phase> <slave-target>")
define _mb_proj_flow_step_before
$(MB_   )$(call mb_make_call,mb_os_echo_phase,$(MB_I18N_PROJ_STEP_BEFORE) $@)
endef
define _mb_proj_flow_step_done
$(MB_   )$(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_good,$(MB_I18N_PROJ_STEP_DONE) $@)))
endef
define _mb_proj_run_clean
$(MB_   )$(foreach folder,$(1),$(if $(wildcard $(folder)),$(call mb_make_call,mb_os_echo_command,$(MB_I18N_PROJ_DIR_DELETE) $(folder));))
$(MB_   )$(foreach folder,$(1),$(if $(wildcard $(folder)),$(call mb_make_call,mb_os_dir_delete,$(folder))))
endef
define _mb_proj_run_init
$(MB_   )$(foreach folder,$(1),$(if $(wildcard $(folder)),,$(call mb_make_call,mb_os_echo_command,$(MB_I18N_PROJ_DIR_CREATE) $(folder));))
$(MB_   )$(foreach folder,$(1),$(if $(wildcard $(folder)),,$(call mb_make_call,mb_os_dir_create,$(folder))))
endef
define __mb_flow_proj_setup
.RECIPEPREFIX := $(MB_@RECIPE)
@@clean: @include
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@clean)
@@clean-deps:: @include
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@clean-deps)
@clean: @@clean @@clean-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_run_clean,$(1))
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@clean,"Clean's the project build folders.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@clean)
@@init: @include
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@init)
@@init-deps:: @include
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@init-deps)
@init: @@init @@init-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_run_init,$(1))
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@init,"Create the project output folders.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@init)
@@prepare: @init
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@prepare)
@@prepare-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@prepare-deps)
@prepare: @@prepare @@prepare-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@prepare,"Prepare sources before processing.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@prepare)
@@process: @prepare
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@process)
@@process-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@process-deps)
@process: @@process @@process-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@process,"Process sources before compiling.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@process)
@@compile: @process
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@compile)
@@compile-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@compile-deps)
@compile: @@compile @@compile-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@compile,"Compiles all project sources.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@compile)
@@link: @compile
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@link)
@@link-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@link-deps)
@link: @@link @@link-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@link,"Link all project intermediate files.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@link)
@@build: @link
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@build)
@@build-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@build-deps)
@build: @@build @@build-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@build,"Build all project artifacts.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@build)
@@test: @build
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@test)
@@test-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@test-deps)
@test: @@test @@test-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@test,"Run all assertion tests.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@test)
@@package: @test
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package)
@@package-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-deps)
@package: @@package @@package-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@package,"Create all packages of project.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@package)
@@package-qa: @package
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-qa)
@@package-qa-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-qa-deps)
@package-qa: @@package-qa @@package-qa-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@package-qa,"Run all packages QA of project.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@package-qa)
@@package-deploy: @package-qa
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-deploy)
@@package-deploy-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-deploy-deps)
@package-deploy: @@package-deploy @@package-deploy-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@package-deploy,"Deploy all the packages.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@package-deploy)
@@all: @package-qa
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@all)
@@all-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@all-deps)
@all: @@all @@all-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@all,"Run full build and package QA tests.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@all)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_proj_setup
$(MB_   )$(call mb_make_call,mb_make_check_arg1,$(0),$(1))
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_GROUP_ID)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_ARTIFACT_ID)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_VERSION)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_NAME)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_DESCRIPTION)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_WEBSITE)
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1)))
$(MB_   )$(if $(MB_I18N),$(if $(filter off,$(MB_I18N)),,$(call mb_make_call,_$(0)_i18n)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_proj_setup,"Prints flow of abstract project build cycle.","<build-dirs>")
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_PREPARE) @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_INIT) @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_ALL) @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

View file

@ -0,0 +1,41 @@
define __mb_tool_sdcc_flow_bdos_mono
.RECIPEPREFIX := $(MB_@RECIPE)
$(1): | @init
$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1)))
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1))
$(1)/$(3).rel: $(2)/$(3).asm | $(1)
$(MB_@RECIPE)$$(call mb_make_call,mb_sdcc_compile_asm,$$<,$$@)
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).rel)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@compile,$(1)/$(3).rel)
$(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)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@link,$(1)/$(3).hex)
$(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)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@build,$(1)/$(3).com)
$(1)/@build: $(1)/$(3).com
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@build)
$(1)/@run: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1))
$(MB_   )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@run)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_tool_sdcc_flow_bdos_mono
$(MB_   )$(call mb_make_call,mb_make_check_arg3,$(0),$(1),$(2),$(3))
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_tool_sdcc_flow_bdos_mono,"Prints flow of sdcc toolchain bdos mono file module.","<bin-dir> <src-dir> <objname>")

View file

@ -1,31 +1,19 @@
DIST_QA_DOS1_SRC := $(call mb_make_call,mb_proj_module_path_src,$(PATH_SRC))
DIST_QA_DOS1_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(PATH_BIN))
DIST_QA_DOS1_DEPS := $(call mb_make_call,mb_proj_module_local_deps,$(DIST_QA_DOS1_BIN),$(DIST_DEPS))
$(DIST_QA_DOS1_BIN): | @init
_$(_XXX    )$(if $(wildcard $(DIST_QA_DOS1_BIN)),,$(call mb_make_call,mb_os_dir_create,$(DIST_QA_DOS1_BIN)))
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_msxdos1_boot,$(DIST_QA_DOS1_BIN))
$(DIST_QA_DOS1_BIN)/%: $(DIST_BIN)/% $(DIST_DEPS) | $(DIST_QA_DOS1_BIN)
_$(_XXX    )$(call mb_make_call,mb_os_file_copy,$<,$@)
$(call mb_make_call,mb_tool_clone_flow_deps,$(DIST_QA_DOS1_BIN),$(DIST_BIN),$(DIST_DEPS),,msxdos1)
$(DIST_QA_DOS1_BIN)/@run: $(DIST_QA_DOS1_DEPS)
_$(_XXX    )$(call mb_make_call,mb_msxpipe_run_gui,$(DIST_QA_DOS1_BIN))
$(_XXX    )$(call mb_make_call,mb_doc_target_run,$(DIST_QA_DOS1_BIN)/@run,"Run binaries on msxdos1 machine.")
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_QA_DOS1_BIN)/@run)
$(DIST_QA_DOS1_BIN)/@assert: $(DIST_QA_DOS1_DEPS)
_$(_XXX    )$(call mb_make_call,mb_autoexec_write_default,$(DIST_QA_DOS1_BIN))
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_DOS1_BIN),ahello1)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_DOS1_BIN),ahello2)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_DOS1_BIN))
_$(_XXX    )$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_DOS1_BIN))
_$(_XXX    )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(DIST_QA_DOS1_BIN)/@assert)
$(_XXX    )$(call mb_make_call,mb_doc_target,$(DIST_QA_DOS1_BIN)/@assert,"Assert binaries on msxdos1.")
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_package_qa,$(DIST_QA_DOS1_BIN)/@assert)
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_QA_DOS1_BIN)/@assert)
$(DIST_QA_DOS1_BIN)/@assert: $(DIST_QA_DOS1_BIN)/@build
_$(MB_  )$(call mb_make_call,mb_autoexec_write_default,$(DIST_QA_DOS1_BIN))
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_DOS1_BIN),ahello1)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_DOS1_BIN),ahello2)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_DOS1_BIN))
_$(MB_  )$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_DOS1_BIN))
_$(MB_  )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(DIST_QA_DOS1_BIN)/@assert)
$(MB_   )$(call mb_make_call,mb_doc_target,$(DIST_QA_DOS1_BIN)/@assert,"Assert binaries on msxdos1.")
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@package-qa,$(DIST_QA_DOS1_BIN)/@assert)
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(DIST_QA_DOS1_BIN)/@assert)

View file

@ -1,36 +1,23 @@
DIST_QA_DOS2_SRC := $(call mb_make_call,mb_proj_module_path_src,$(PATH_SRC))
DIST_QA_DOS2_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(PATH_BIN))
DIST_QA_DOS2_DEPS := $(call mb_make_call,mb_proj_module_local_deps,$(DIST_QA_DOS2_BIN),$(DIST_DEPS))
$(DIST_QA_DOS2_BIN): | @init
_$(_XXX    )$(if $(wildcard $(DIST_QA_DOS2_BIN)),,$(call mb_make_call,mb_os_dir_create,$(DIST_QA_DOS2_BIN)))
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_msxdos2_boot,$(DIST_QA_DOS2_BIN))
$(call mb_make_call,mb_tool_clone_flow_deps,$(DIST_QA_DOS2_BIN),$(DIST_BIN),$(DIST_DEPS),,msxdos2)
$(DIST_QA_DOS2_BIN)/%: $(DIST_BIN)/% $(DIST_DEPS) | $(DIST_QA_DOS2_BIN)
_$(_XXX    )$(call mb_make_call,mb_os_file_copy,$<,$@)
$(DIST_QA_DOS2_BIN)/@run: | $(DIST_QA_DOS2_DEPS)
_$(_XXX    )$(call mb_make_call,mb_msxpipe_run_gui,$(DIST_QA_DOS2_BIN))
$(_XXX    )$(call mb_make_call,mb_doc_target_run,$(DIST_QA_DOS2_BIN)/@run,"Run binaries on msxdos2 machine.")
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_QA_DOS2_BIN)/@run)
$(DIST_QA_DOS2_BIN)/@assert: | $(DIST_QA_DOS2_DEPS)
_$(_XXX    )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_DOS2_BIN)/ahello1.out)
_$(_XXX    )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_DOS2_BIN)/ahello2.out)
_$(_XXX    )$(call mb_make_call,mb_autoexec_write_default,$(DIST_QA_DOS2_BIN))
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_DOS2_BIN),ahello1 > ahello1.out)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_DOS2_BIN),ahello2 > ahello2.out)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_DOS2_BIN))
_$(_XXX    )$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_DOS2_BIN))
_$(_XXX    )grep -q "M80: Hello world..." $(DIST_QA_DOS2_BIN)/ahello1.out
_$(_XXX    )grep -q "SDCC: Hello world..." $(DIST_QA_DOS2_BIN)/ahello2.out
_$(_XXX    )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(DIST_QA_DOS2_BIN)/@assert)
$(_XXX    )$(call mb_make_call,mb_doc_target,$(DIST_QA_DOS2_BIN)/@assert,"Assert binaries on msxdos2.")
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_package_qa,$(DIST_QA_DOS2_BIN)/@assert)
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_QA_DOS2_BIN)/@assert)
$(DIST_QA_DOS2_BIN)/@assert: $(DIST_QA_DOS2_BIN)/@build
_$(MB_  )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_DOS2_BIN)/ahello1.out)
_$(MB_  )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_DOS2_BIN)/ahello2.out)
_$(MB_  )$(call mb_make_call,mb_autoexec_write_default,$(DIST_QA_DOS2_BIN))
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_DOS2_BIN),ahello1 > ahello1.out)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_DOS2_BIN),ahello2 > ahello2.out)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_DOS2_BIN))
_$(MB_  )$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_DOS2_BIN))
_$(MB_  )grep -q "M80: Hello world..." $(DIST_QA_DOS2_BIN)/ahello1.out
_$(MB_  )grep -q "SDCC: Hello world..." $(DIST_QA_DOS2_BIN)/ahello2.out
_$(MB_  )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(DIST_QA_DOS2_BIN)/@assert)
$(MB_   )$(call mb_make_call,mb_doc_target,$(DIST_QA_DOS2_BIN)/@assert,"Assert binaries on msxdos2.")
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@package-qa,$(DIST_QA_DOS2_BIN)/@assert)
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(DIST_QA_DOS2_BIN)/@assert)

View file

@ -1,38 +1,26 @@
DIST_QA_MSX1_SRC := $(call mb_make_call,mb_proj_module_path_src,$(PATH_SRC))
DIST_QA_MSX1_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(PATH_BIN))
DIST_QA_MSX1_DEPS := $(call mb_make_call,mb_proj_module_local_deps,$(DIST_QA_MSX1_BIN),$(DIST_DEPS))
#DIST_QA_MSX1_DEPS := $(call mb_make_call,mb_proj_module_local_deps,$(DIST_QA_MSX1_BIN),$(DIST_DEPS))
DIST_QA_MSX1_MACHINE ?= Canon_V-20
$(call mb_make_call,mb_doc_variable,DIST_QA_MSX1_MACHINE,"The machine to run the msx1 qa module on.")
$(DIST_QA_MSX1_BIN): | @init
_$(_XXX    )$(if $(wildcard $(DIST_QA_MSX1_BIN)),,$(call mb_make_call,mb_os_dir_create,$(DIST_QA_MSX1_BIN)))
$(call mb_make_call,mb_tool_clone_flow_deps,$(DIST_QA_MSX1_BIN),$(DIST_BIN),$(DIST_DEPS),$(DIST_QA_MSX1_MACHINE))
$(DIST_QA_MSX1_BIN)/%: $(DIST_BIN)/% $(DIST_DEPS) | $(DIST_QA_MSX1_BIN)
_$(_XXX    )$(call mb_make_call,mb_os_file_copy,$<,$@)
$(DIST_QA_MSX1_BIN)/@run: | $(DIST_QA_MSX1_DEPS)
_$(_XXX    )$(call mb_make_call,mb_msxpipe_run_gui,$(DIST_QA_MSX1_BIN),,$(DIST_QA_MSX1_MACHINE))
$(_XXX    )$(call mb_make_call,mb_doc_target_run,$(DIST_QA_MSX1_BIN)/@run,"Run binaries on MSX1 machine.")
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_QA_MSX1_BIN)/@run)
$(DIST_QA_MSX1_BIN)/@assert: | $(DIST_QA_MSX1_DEPS)
_$(_XXX    )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSX1_BIN)/ahello1.out)
_$(_XXX    )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSX1_BIN)/ahello2.out)
_$(_XXX    )$(call mb_make_call,mb_autoexec_write_default,$(DIST_QA_MSX1_BIN),40)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSX1_BIN),ahello1 > ahello1.out,33)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSX1_BIN),ahello2 > ahello2.out,66,99)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_MSX1_BIN))
_$(_XXX    )$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_MSX1_BIN),$(DIST_QA_MSX1_MACHINE))
_$(_XXX    )grep -q "M80: Hello world..." $(DIST_QA_MSX1_BIN)/ahello1.out
_$(_XXX    )grep -q "SDCC: Hello world..." $(DIST_QA_MSX1_BIN)/ahello2.out
_$(_XXX    )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(DIST_QA_MSX1_BIN)/@assert)
$(_XXX    )$(call mb_make_call,mb_doc_target,$(DIST_QA_MSX1_BIN)/@assert,"Assert binaries on MSX1 machine.")
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_package_qa,$(DIST_QA_MSX1_BIN)/@assert)
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_QA_MSX1_BIN)/@assert)
$(DIST_QA_MSX1_BIN)/@assert: $(DIST_QA_MSX1_BIN)/@build
_$(MB_  )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSX1_BIN)/ahello1.out)
_$(MB_  )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSX1_BIN)/ahello2.out)
_$(MB_  )$(call mb_make_call,mb_autoexec_write_default,$(DIST_QA_MSX1_BIN),40)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSX1_BIN),ahello1 > ahello1.out,33)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSX1_BIN),ahello2 > ahello2.out,66,99)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_MSX1_BIN))
_$(MB_  )$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_MSX1_BIN),$(DIST_QA_MSX1_MACHINE))
_$(MB_  )grep -q "M80: Hello world..." $(DIST_QA_MSX1_BIN)/ahello1.out
_$(MB_  )grep -q "SDCC: Hello world..." $(DIST_QA_MSX1_BIN)/ahello2.out
_$(MB_  )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(DIST_QA_MSX1_BIN)/@assert)
$(MB_   )$(call mb_make_call,mb_doc_target,$(DIST_QA_MSX1_BIN)/@assert,"Assert binaries on MSX1 machine.")
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@package-qa,$(DIST_QA_MSX1_BIN)/@assert)
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(DIST_QA_MSX1_BIN)/@assert)

View file

@ -8,57 +8,57 @@ $(call mb_make_call,mb_doc_variable,DIST_QA_MSXHUB_MACHINE,"The machine to run t
$(DIST_QA_MSXHUB_BIN): | @init
_$(_XXX    )$(if $(wildcard $(DIST_QA_MSXHUB_BIN)),,$(call mb_make_call,mb_os_dir_create,$(DIST_QA_MSXHUB_BIN)))
_$(_XXX    )$(if $(wildcard $(DIST_QA_MSXHUB_BIN)/utils),,$(call mb_make_call,mb_os_dir_create,$(DIST_QA_MSXHUB_BIN)/utils))
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_msxdos2_utils,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_nextor_utils,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_macro80,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_z80asmuk,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_wbass2,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_konpass,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_pmarc,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_lhpack,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_lhext,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_gunzip,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_tunzip,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_popcom,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_make,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_adir,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_turbo,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_baskom,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_binldr,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_dmphex,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_zd,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_msxdos2t,$(DIST_QA_MSXHUB_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_gfxage,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(if $(wildcard $(DIST_QA_MSXHUB_BIN)),,$(call mb_make_call,mb_os_dir_create,$(DIST_QA_MSXHUB_BIN)))
_$(MB_  )$(if $(wildcard $(DIST_QA_MSXHUB_BIN)/utils),,$(call mb_make_call,mb_os_dir_create,$(DIST_QA_MSXHUB_BIN)/utils))
_$(MB_  )$(call mb_make_call,mb_msxhub_get_msxdos2_utils,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_nextor_utils,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_macro80,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_z80asmuk,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_wbass2,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_konpass,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_pmarc,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_lhpack,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_lhext,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_gunzip,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_tunzip,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_popcom,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_make,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_adir,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_turbo,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_baskom,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_binldr,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_dmphex,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_zd,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_msxdos2t,$(DIST_QA_MSXHUB_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_gfxage,$(DIST_QA_MSXHUB_BIN)/utils)
$(DIST_QA_MSXHUB_BIN)/%: $(DIST_BIN)/% $(DIST_DEPS) | $(DIST_QA_MSXHUB_BIN)
_$(_XXX    )$(call mb_make_call,mb_os_file_copy,$<,$@)
_$(MB_  )$(call mb_make_call,mb_os_file_copy,$<,$@)
$(DIST_QA_MSXHUB_BIN)/@run: | $(DIST_QA_MSXHUB_DEPS)
_$(_XXX    )$(call mb_make_call,mb_msxpipe_run_gui,$(DIST_QA_MSXHUB_BIN),,$(DIST_QA_MSXHUB_MACHINE))
$(_XXX    )$(call mb_make_call,mb_doc_target_run,$(DIST_QA_MSXHUB_BIN)/@run,"Run the dist with all msxhub packages.")
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_QA_MSXHUB_BIN)/@run)
_$(MB_  )$(call mb_make_call,mb_msxpipe_run_gui,$(DIST_QA_MSXHUB_BIN),,$(DIST_QA_MSXHUB_MACHINE))
$(MB_   )$(call mb_make_call,mb_doc_target_run,$(DIST_QA_MSXHUB_BIN)/@run,"Run the dist with all msxhub packages.")
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(DIST_QA_MSXHUB_BIN)/@run)
$(DIST_QA_MSXHUB_BIN)/@assert: | $(DIST_QA_MSXHUB_DEPS)
_$(_XXX    )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSXHUB_BIN)/ahello1.out)
_$(_XXX    )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSXHUB_BIN)/ahello2.out)
_$(_XXX    )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSXHUB_BIN)/utils.out)
_$(_XXX    )$(call mb_make_call,mb_autoexec_write_default,$(DIST_QA_MSXHUB_BIN))
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSXHUB_BIN),ahello1 > ahello1.out)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSXHUB_BIN),ahello2 > ahello2.out)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSXHUB_BIN),dir utils > utils.out)
_$(_XXX    )$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_MSXHUB_BIN))
_$(_XXX    )$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_MSXHUB_BIN),$(DIST_QA_MSXHUB_MACHINE))
_$(_XXX    )grep -q "M80: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello1.out
_$(_XXX    )grep -q "SDCC: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello2.out
_$(_XXX    )grep -q "KONPASS COM" $(DIST_QA_MSXHUB_BIN)/utils.out
_$(_XXX    )grep -q "MAKE COM" $(DIST_QA_MSXHUB_BIN)/utils.out
_$(_XXX    )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(DIST_QA_MSXHUB_BIN)/@assert)
$(_XXX    )$(call mb_make_call,mb_doc_target,$(DIST_QA_MSXHUB_BIN)/@assert,"Asserts that all dist artifacts execute results.")
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_package_qa,$(DIST_QA_MSXHUB_BIN)/@assert)
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_QA_MSXHUB_BIN)/@assert)
_$(MB_  )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSXHUB_BIN)/ahello1.out)
_$(MB_  )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSXHUB_BIN)/ahello2.out)
_$(MB_  )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSXHUB_BIN)/utils.out)
_$(MB_  )$(call mb_make_call,mb_autoexec_write_default,$(DIST_QA_MSXHUB_BIN))
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSXHUB_BIN),ahello1 > ahello1.out)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSXHUB_BIN),ahello2 > ahello2.out)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSXHUB_BIN),dir utils > utils.out)
_$(MB_  )$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_MSXHUB_BIN))
_$(MB_  )$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_MSXHUB_BIN),$(DIST_QA_MSXHUB_MACHINE))
_$(MB_  )grep -q "M80: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello1.out
_$(MB_  )grep -q "SDCC: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello2.out
_$(MB_  )grep -q "KONPASS COM" $(DIST_QA_MSXHUB_BIN)/utils.out
_$(MB_  )grep -q "MAKE COM" $(DIST_QA_MSXHUB_BIN)/utils.out
_$(MB_  )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(DIST_QA_MSXHUB_BIN)/@assert)
$(MB_   )$(call mb_make_call,mb_doc_target,$(DIST_QA_MSXHUB_BIN)/@assert,"Asserts that all dist artifacts execute results.")
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@package-qa,$(DIST_QA_MSXHUB_BIN)/@assert)
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(DIST_QA_MSXHUB_BIN)/@assert)

20
src/dist/0module.mk vendored
View file

@ -6,24 +6,24 @@ DIST_OUT := $(PATH_BIN)/$(DIST_MOD).tar.gz
DIST_DEPS := $(DIST_BIN)/readme.txt $(DIST_BIN)/ahello1.com $(DIST_BIN)/ahello2.com
$(DIST_BIN): | @init
_$(_XXX    )$(if $(wildcard $(DIST_BIN)),,$(call mb_make_call,mb_os_dir_create,$(DIST_BIN)))
_$(MB_  )$(if $(wildcard $(DIST_BIN)),,$(call mb_make_call,mb_os_dir_create,$(DIST_BIN)))
$(DIST_BIN)/readme.txt: $(DIST_SRC)/readme.txt | $(DIST_BIN)
_$(_XXX    )$(call mb_make_call,mb_conv_unix2dos,$<,$@)
$(call mb_make_call,mb_proj_grow_deps_phase_process,$(DIST_BIN)/readme.txt)
_$(MB_  )$(call mb_make_call,mb_conv_unix2dos,$<,$@)
$(call mb_make_call,mb_proj_grow_deps_phase,@process,$(DIST_BIN)/readme.txt)
$(DIST_BIN)/ahello1.com: bin/ahello-m80/ahello.com | $(DIST_BIN)
_$(_XXX    )$(call mb_make_call,mb_os_file_copy,$<,$@)
_$(MB_  )$(call mb_make_call,mb_os_file_copy,$<,$@)
$(DIST_BIN)/ahello2.com: bin/ahello-sdcc/ahello.com | $(DIST_BIN)
_$(_XXX    )$(call mb_make_call,mb_os_file_copy,$<,$@)
_$(MB_  )$(call mb_make_call,mb_os_file_copy,$<,$@)
$(DIST_BIN)/@prepare: | $(DIST_DEPS)
$(_XXX    )$(call mb_make_call,mb_doc_target,$(DIST_BIN)/@prepare,"Prepare folder with binaries for distribution.")
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(DIST_BIN)/@prepare)
$(MB_   )$(call mb_make_call,mb_doc_target,$(DIST_BIN)/@prepare,"Prepare folder with binaries for distribution.")
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(DIST_BIN)/@prepare)
$(DIST_OUT): | $(DIST_BIN)/@prepare
_$(_XXX    )$(call mb_make_call,mb_package_create_archive,$(DIST_BIN),$@)
$(_XXX    )$(call mb_make_call,mb_doc_target,$(DIST_OUT),"Build archive distribution artifact.")
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_package,$(DIST_OUT))
_$(MB_  )$(call mb_make_call,mb_package_create_archive,$(DIST_BIN),$@)
$(MB_   )$(call mb_make_call,mb_doc_target,$(DIST_OUT),"Build archive distribution artifact.")
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@package,$(DIST_OUT))

View file

@ -4,48 +4,48 @@ MAKE_ON_MSX_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(P
$(MAKE_ON_MSX_BIN): | @init
_$(_XXX    )$(if $(wildcard $(MAKE_ON_MSX_BIN)),,$(call mb_make_call,mb_os_dir_create,$(MAKE_ON_MSX_BIN)))
_$(_XXX    )$(if $(wildcard $(MAKE_ON_MSX_BIN)/utils),,$(call mb_make_call,mb_os_dir_create,$(MAKE_ON_MSX_BIN)/utils))
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_make,$(MAKE_ON_MSX_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_macro80,$(MAKE_ON_MSX_BIN)/utils)
_$(_XXX    )$(call mb_make_call,mb_msxhub_get_z80asmuk,$(MAKE_ON_MSX_BIN)/utils)
$(_XXX    )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN))
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(MAKE_ON_MSX_BIN))
_$(MB_  )$(if $(wildcard $(MAKE_ON_MSX_BIN)),,$(call mb_make_call,mb_os_dir_create,$(MAKE_ON_MSX_BIN)))
_$(MB_  )$(if $(wildcard $(MAKE_ON_MSX_BIN)/utils),,$(call mb_make_call,mb_os_dir_create,$(MAKE_ON_MSX_BIN)/utils))
_$(MB_  )$(call mb_make_call,mb_msxhub_get_make,$(MAKE_ON_MSX_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_macro80,$(MAKE_ON_MSX_BIN)/utils)
_$(MB_  )$(call mb_make_call,mb_msxhub_get_z80asmuk,$(MAKE_ON_MSX_BIN)/utils)
$(MB_   )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN))
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(MAKE_ON_MSX_BIN))
$(MAKE_ON_MSX_BIN)/nfbsshot.mac: $(MAKE_ON_MSX_SRC)/nfbsshot.mac | $(MAKE_ON_MSX_BIN)
_$(_XXX    )$(call mb_make_call,mb_conv_unix2dos,$<,$@)
$(_XXX    )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/nfbsshot.mac)
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_process,$(MAKE_ON_MSX_BIN)/nfbsshot.mac)
_$(MB_  )$(call mb_make_call,mb_conv_unix2dos,$<,$@)
$(MB_   )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/nfbsshot.mac)
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@process,$(MAKE_ON_MSX_BIN)/nfbsshot.mac)
$(MAKE_ON_MSX_BIN)/nfbsshot.mf: $(MAKE_ON_MSX_SRC)/nfbsshot.mf $(MAKE_ON_MSX_BIN)/nfbsshot.mac
_$(_XXX    )$(call mb_make_call,mb_conv_unix2dos,$<,$@)
$(_XXX    )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/nfbsshot.mf)
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_process,$(MAKE_ON_MSX_BIN)/nfbsshot.mf)
_$(MB_  )$(call mb_make_call,mb_conv_unix2dos,$<,$@)
$(MB_   )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/nfbsshot.mf)
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@process,$(MAKE_ON_MSX_BIN)/nfbsshot.mf)
$(MAKE_ON_MSX_BIN)/build.bat: $(MAKE_ON_MSX_SRC)/build.bat $(MAKE_ON_MSX_BIN)/nfbsshot.mf
_$(_XXX    )$(call mb_make_call,mb_conv_unix2dos,$<,$@)
$(_XXX    )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/build.bat)
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_process,$(MAKE_ON_MSX_BIN)/build.bat)
_$(MB_  )$(call mb_make_call,mb_conv_unix2dos,$<,$@)
$(MB_   )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/build.bat)
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@process,$(MAKE_ON_MSX_BIN)/build.bat)
$(MAKE_ON_MSX_BIN)/nfbsshot.bin: $(MAKE_ON_MSX_BIN)/build.bat
_$(_XXX    )$(call mb_make_call,mb_msxpipe_safe_cmd,$(MAKE_ON_MSX_BIN),build shutdown)
$(_XXX    )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/nfbsshot.bin)
_$(MB_  )$(call mb_make_call,mb_msxpipe_safe_cmd,$(MAKE_ON_MSX_BIN),build shutdown)
$(MB_   )$(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/nfbsshot.bin)
$(MAKE_ON_MSX_BIN)/@build: $(MAKE_ON_MSX_BIN)/nfbsshot.bin
$(_XXX    )$(call mb_make_call,mb_doc_target,$(MAKE_ON_MSX_BIN)/@build,"Compiles binary with make on msx.")
$(_XXX    )$(call mb_make_call,mb_proj_grow_deps_phase_build,$(MAKE_ON_MSX_BIN)/@build)
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(MAKE_ON_MSX_BIN)/@build)
$(MB_   )$(call mb_make_call,mb_doc_target,$(MAKE_ON_MSX_BIN)/@build,"Compiles binary with make on msx.")
$(MB_   )$(call mb_make_call,mb_proj_grow_deps_phase,@build,$(MAKE_ON_MSX_BIN)/@build)
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(MAKE_ON_MSX_BIN)/@build)
$(MAKE_ON_MSX_BIN)/@run: $(MAKE_ON_MSX_BIN)/@build
_$(_XXX    )$(call mb_make_call,mb_msxpipe_run_gui,$(MAKE_ON_MSX_BIN))
$(_XXX    )$(call mb_make_call,mb_doc_target_run,$(MAKE_ON_MSX_BIN)/@run,"Run the make build manually.")
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(MAKE_ON_MSX_BIN)/@run)
_$(MB_  )$(call mb_make_call,mb_msxpipe_run_gui,$(MAKE_ON_MSX_BIN))
$(MB_   )$(call mb_make_call,mb_doc_target_run,$(MAKE_ON_MSX_BIN)/@run,"Run the make build manually.")
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(MAKE_ON_MSX_BIN)/@run)
$(call mb_make_call,mb_assert_flow_grep_binary,$(MAKE_ON_MSX_BIN),check-bin,nfbsshot.bin,screenshot)
#$(MAKE_ON_MSX_BIN)/@assert-check-bin: $(MAKE_ON_MSX_BIN)/@build

View file

@ -8,7 +8,7 @@ $(call mb_make_call,mb_assert_flow_bdos_grep,$(MBBOOT80_BIN),check-boot80,mbboot
$(MBBOOT80_BIN)/@release-local: | $(MBBOOT80_BIN)/@build
_$(_XXX    )$(call mb_make_call,mb_os_file_copy,$(MBBOOT80_BIN)/mbboot80.com,lib/emuctl/mbboot80.com)
$(_XXX    )$(call mb_make_call,mb_doc_target,$(MBBOOT80_BIN)/@release-local,"Updates binary copy in lib/emuctl folder.")
$(_XXX    )$(call mb_make_call,mb_make_flag_phony,$(MBBOOT80_BIN)/@release-local)
_$(MB_  )$(call mb_make_call,mb_os_file_copy,$(MBBOOT80_BIN)/mbboot80.com,lib/emuctl/mbboot80.com)
$(MB_   )$(call mb_make_call,mb_doc_target,$(MBBOOT80_BIN)/@release-local,"Updates binary copy in lib/emuctl folder.")
$(MB_   )$(call mb_make_call,mb_make_target_phony,$(MBBOOT80_BIN)/@release-local)