From c13a26d6b55a42b1b0f737c5b9d0919a1e9455e0 Mon Sep 17 00:00:00 2001 From: Willem Date: Sun, 14 Jul 2024 03:46:29 +0200 Subject: [PATCH] Auto setup module flow and packages as targets. --- lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk | 3 + lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk | 2 +- lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk | 18 ++ lib/make/ i18n/mb_i18n.mk | 3 + lib/make/ i18n/mb_i18n_BASIC.mk | 1 + lib/make/ i18n/mb_i18n_iu.mk | 1 + lib/make/ i18n/mb_i18n_ja.mk | 1 + lib/make/天房系統擴展/mb_autoexec.mk | 16 +- lib/make/天房系統擴展/mb_msxpipe.mk | 16 +- lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk | 61 ++++-- lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk | 32 +-- lib/make/𓃬𓍄𓋹𓀭/mb_flow_m80.mk | 26 +-- lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk | 263 +++++++++++++----------- lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk | 21 +- lib/msxbuild.mk | 3 +- src/ahello-m80/0module.mk | 10 +- src/ahello-sdcc/0module.mk | 10 +- src/dist-qa-dos1/0module.mk | 10 +- src/dist-qa-dos2/0module.mk | 10 +- src/dist-qa-msx1/0module.mk | 12 +- src/dist-qa-msxhub/0module.mk | 12 +- src/make-on-msx/0module.mk | 4 +- src/tools/gluedos1/0module.mk | 39 ++++ src/tools/gluedos1/cls.asm | 18 ++ src/tools/gluedos1/echo.asm | 39 ++++ src/tools/gluedos1/set.asm | 22 ++ src/tools/gluedos1/ver.asm | 18 ++ src/tools/gluemsx1/0module.mk | 8 +- 28 files changed, 420 insertions(+), 259 deletions(-) create mode 100644 lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk create mode 100644 src/tools/gluedos1/0module.mk create mode 100644 src/tools/gluedos1/cls.asm create mode 100644 src/tools/gluedos1/echo.asm create mode 100644 src/tools/gluedos1/set.asm create mode 100644 src/tools/gluedos1/ver.asm diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk index b836185..59e66d5 100644 --- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk +++ b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk @@ -8,6 +8,9 @@ $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_SPACE,"Expanded special char; s MB_MAKE_EQUALS := = $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_EQUALS,"Expanded special char; equals.") +MB_MAKE_APPEND := +$(MB_MAKE_EQUALS) +$(call mb_make_call,mb_doc_variable_rock,MB_MAKE_APPEND,"Expanded special char; +equals.") + MB_MAKE_HASH := \# $(call mb_make_call,mb_doc_variable_rock,MB_MAKE_HASH,"Expanded special char; hash.") diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk index 1ce9eee..dd977e7 100644 --- a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk +++ b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk @@ -13,7 +13,7 @@ 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)) diff --git a/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk new file mode 100644 index 0000000..1d44f1a --- /dev/null +++ b/lib/make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk @@ -0,0 +1,18 @@ + +define mb_make_module_path_src +$(MB_ᕽᕽᕽ   )$(1)$(abspath $(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST))))) +endef +$(call mb_make_call,mb_doc_function_deep,mb_make_module_path_src,"Convert current location folder as src folder.","") + + +define mb_make_module_path_bin +$(MB_ᕽᕽᕽ   )$(2)$(abspath $(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST))))) +endef +$(call mb_make_call,mb_doc_function_deep,mb_make_module_path_src,"Convert current location folder as bin folder."," ") + + +define mb_make_module_local_deps +$(MB_ᕽᕽᕽ   )$(foreach _dep,$(2),$(1)/$(notdir $(_dep))) +endef +$(call mb_make_call,mb_doc_function_deep,mb_make_module_deps,"Convert other files to local deps."," ") + diff --git a/lib/make/ i18n/mb_i18n.mk b/lib/make/ i18n/mb_i18n.mk index c8c59fa..19eb6ae 100644 --- a/lib/make/ i18n/mb_i18n.mk +++ b/lib/make/ i18n/mb_i18n.mk @@ -5,6 +5,9 @@ $(call mb_make_call,mb_doc_variable,MB_I18N,"The language code to select the i18 MB_I18N_ASSERT_SUCCESS ?= Assert successfull $(call mb_make_call,mb_doc_variable_i18n,MB_I18N_ASSERT_SUCCESS,"Message for when assertion test is successfull.") +MB_I18N_ASSERT_FAILURE ?= Assert failure +$(call mb_make_call,mb_doc_variable_i18n,MB_I18N_ASSERT_FAILURE,"Message for when assertion test is failed.") + MB_I18N_AUTOEXEC_WRITE ?= Write autoexec for $(call mb_make_call,mb_doc_variable_i18n,MB_I18N_AUTOEXEC_WRITE,"Message for when writing a default autoexec.") diff --git a/lib/make/ i18n/mb_i18n_BASIC.mk b/lib/make/ i18n/mb_i18n_BASIC.mk index 5806efe..bda1fc5 100644 --- a/lib/make/ i18n/mb_i18n_BASIC.mk +++ b/lib/make/ i18n/mb_i18n_BASIC.mk @@ -1,5 +1,6 @@ MB_I18N_ASSERT_SUCCESS = ASSERTED DONE: +MB_I18N_ASSERT_FAILURE = ASSERTION FAILED: MB_I18N_AUTOEXEC_WRITE = WRITE BOOSTER: MB_I18N_CONV_UNIX2DOS = CONV UNIX2DOS: MB_I18N_CONV_DOS2UNIX = CONV DOS2UNIX: diff --git a/lib/make/ i18n/mb_i18n_iu.mk b/lib/make/ i18n/mb_i18n_iu.mk index 3221288..0abb70a 100644 --- a/lib/make/ i18n/mb_i18n_iu.mk +++ b/lib/make/ i18n/mb_i18n_iu.mk @@ -1,5 +1,6 @@ MB_I18N_ASSERT_SUCCESS = ᑲᔪᓯᓂᖃᑦᑎᐊᕐᓂᖅ +MB_I18N_ASSERT_FAILURE = ᓇᓗᓇᐃᖅᑕᐅᓂᖓ ᑲᔪᓯᙱᓐᓂᖓ MB_I18N_AUTOEXEC_WRITE = ᑎᑎᕋᑲᐅᑎᒋᓂᖅ ᑲᒫᓗᖕᒥᒃ MB_I18N_CONV_UNIX2DOS = ᐅᐊᔭᐅᑉ ᐃᓱᐊᓄᐊᕐᓗᒍ MB_I18N_CONV_DOS2UNIX = ᑐᑭᓕᐊᖓᔪᓐᓃᕐᓗᓂ diff --git a/lib/make/ i18n/mb_i18n_ja.mk b/lib/make/ i18n/mb_i18n_ja.mk index f3c4a9a..b85145e 100644 --- a/lib/make/ i18n/mb_i18n_ja.mk +++ b/lib/make/ i18n/mb_i18n_ja.mk @@ -1,5 +1,6 @@ MB_I18N_ASSERT_SUCCESS = アサート成功 +MB_I18N_ASSERT_FAILURE = アサーションが失敗しました MB_I18N_AUTOEXEC_WRITE = 自動実行の書き込み MB_I18N_CONV_UNIX2DOS = ディスクシステムの行末に変換 MB_I18N_CONV_DOS2UNIX = メインフレームラインエンドに変換 diff --git a/lib/make/天房系統擴展/mb_autoexec.mk b/lib/make/天房系統擴展/mb_autoexec.mk index 05956c8..464e04a 100644 --- a/lib/make/天房系統擴展/mb_autoexec.mk +++ b/lib/make/天房系統擴展/mb_autoexec.mk @@ -26,11 +26,11 @@ $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_STARTUP_TIMEOUT,"Startup failure MB_AUTOEXEC_STARTUP_EXITCODE ?= 124 $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_STARTUP_EXITCODE,"Startup failure exit code of autoexec.") -MB_AUTOEXEC_SAFE_TEST_TIMEOUT ?= 120 -$(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_TEST_TIMEOUT,"Safe test execution failure timeout.") +MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT ?= 120 +$(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT,"Safe assert execution failure timeout.") -MB_AUTOEXEC_SAFE_TEST_EXITCODE ?= 1 -$(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_TEST_EXITCODE,"Safe test execution failure exit code.") +MB_AUTOEXEC_SAFE_ASSERT_EXITCODE ?= 1 +$(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_ASSERT_EXITCODE,"Safe assert execution failure exit code.") MB_AUTOEXEC_SAFE_CMD_TIMEOUT ?= 300 $(call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_CMD_TIMEOUT,"Safe command execution failure timeout.") @@ -127,12 +127,12 @@ endef $(call mb_make_call,mb_doc_function,mb_autoexec_append_save_video,"Appends save video command."," [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)) +define mb_autoexec_append_safe_assert +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_autoexec_append_cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT)) seconds err_test $(if $(4),$(4),$(MB_AUTOEXEC_SAFE_ASSERT_EXITCODE))) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_autoexec_append_echo,$(1),mb::safe assert $(2)) $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_autoexec_append_cmd,$(1),$(2)) endef -$(call mb_make_call,mb_doc_function,mb_autoexec_append_safe_test,"Appends running a safe test."," [timeout] [exit-code]") +$(call mb_make_call,mb_doc_function,mb_autoexec_append_safe_assert,"Appends running a safe assert."," [timeout] [exit-code]") define mb_autoexec_append_safe_cmd diff --git a/lib/make/天房系統擴展/mb_msxpipe.mk b/lib/make/天房系統擴展/mb_msxpipe.mk index 0c3f9e2..d3ee1a8 100644 --- a/lib/make/天房系統擴展/mb_msxpipe.mk +++ b/lib/make/天房系統擴展/mb_msxpipe.mk @@ -5,11 +5,11 @@ $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_FG_SAFE_CMD,"Foreground col MB_MSXPIPE_COLOR_BG_SAFE_CMD ?= 000 $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_BG_SAFE_CMD,"Background color of safe command session pipe.") -MB_MSXPIPE_COLOR_FG_SAFE_TEST ?= 421 -$(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_FG_SAFE_TEST,"Foreground color of safe test session pipe.") +MB_MSXPIPE_COLOR_FG_SAFE_ASSERT ?= 421 +$(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_FG_SAFE_ASSERT,"Foreground color of safe assert session pipe.") -MB_MSXPIPE_COLOR_BG_SAFE_TEST ?= 000 -$(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_BG_SAFE_TEST,"Background color of safe test session pipe.") +MB_MSXPIPE_COLOR_BG_SAFE_ASSERT ?= 000 +$(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_BG_SAFE_ASSERT,"Background color of safe assert session pipe.") MB_MSXPIPE_COLOR_FG_RUN_GUI ?= 141 $(call mb_make_call,mb_doc_variable,MB_MSXPIPE_COLOR_FG_RUN_GUI,"Foreground color of run gui session pipe.") @@ -27,13 +27,13 @@ endef $(call mb_make_call,mb_doc_function,mb_msxpipe_safe_cmd,"Runs openMSX and safely executes one command."," [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)) +define mb_msxpipe_safe_assert +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_autoexec_write_default,$(1),$(MB_MSXPIPE_COLOR_FG_SAFE_ASSERT),$(MB_MSXPIPE_COLOR_BG_SAFE_ASSERT)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_autoexec_append_safe_assert,$(1),$(2)) $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_autoexec_append_exit,$(1)) $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_openmsx_dosctl,$(1),$(3)) endef -$(call mb_make_call,mb_doc_function,mb_msxpipe_safe_test,"Runs openMSX and safely executes one test."," [machine]") +$(call mb_make_call,mb_doc_function,mb_msxpipe_safe_assert,"Runs openMSX and safely executes one assert."," [machine]") define _mb_msxpipe_run_gui diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk index c3d9a0c..b6dee1e 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk @@ -1,12 +1,16 @@ define __mb_flow_assert_grep_binary_x .RECIPEPREFIX := $(MB_@RECIPE) -$(1)/$(5)-$(2): $(1)/@build + +$(1)/@@$(5)-deps:: $(1)/@assert/$(5)/$(2) + +$(1)/@assert/$(5)/$(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) v-$(2)) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target,$(1)/$(5)-$(2),"Asserts that $(3) output matches.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(1)/$(5)-$(2)) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_proj_grow_deps_phase,$(5),$(1)/$(5)-$(2)) +$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_assert,$$(MB_I18N_ASSERT_SUCCESS) $(1)/@assert/$(2)/$(5)) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target,$(1)/@assert/$(5)/$(2),"Asserts that $(3) output matches.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(1)/@assert/$(5)/$(2)) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_proj_grow_deps_phase,$(5),$(1)/@assert/$(5)/$(2)) + .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef define mb_flow_assert_grep_binary_test @@ -20,26 +24,39 @@ $(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,__mb_flow_assert_grep_binary_ endef $(call mb_make_call,mb_doc_function_flow,mb_flow_assert_grep_binary_package_qa,"Inject flow of single binary grep assert."," ") -#$$(call mb_delete,$(1)/$(3).out) -define __mb_assert_flow_bdos_grep +define __mb_flow_assert_msxpipe_grep_x2 +$(MB_ᕽᕽᕽ   )$(shell grep -q $(1) $(2) && echo || echo fail) +endef + + +define __mb_flow_assert_msxpipe_grep_x .RECIPEPREFIX := $(MB_@RECIPE) -$(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) + +$(1)/@@$(5)-deps:: $(1)/@assert/$(5)/$(2) +$(7)/@@init-deps:: $(1)/@build + +$(1)/@assert/$(5)/$(2): $(7)/@build +$(MB_@RECIPE)$$(if $$(wildcard $(7)/$(3).out),,$$(call mb_make_call,mb_os_file_delete,$(7)/$(3).out)) +$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_safe_assert,$(7),$(3) > $(3).out,$(6)) +$(MB_@RECIPE)grep -q $(4) $(7)/$(3).out +$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_assert,$$(MB_I18N_ASSERT_SUCCESS) $(1)/@assert/$(2)/$(5)) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target,$(1)/@assert/$(5)/$(2),"Asserts that $(3) output matches.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(1)/@assert/$(5)/$(2)) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_proj_grow_deps_phase,$(5),$(1)/@assert/$(5)/$(2)) + .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef - -#$(call mb_make_call,mb_flow_clone_deps,$(DIST_QA_MSX1_BIN),$(DIST_BIN),$(DIST_DEPS),$(DIST_QA_MSX1_MACHINE)) -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))) +define mb_flow_assert_msxpipe_grep_test +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg5,$(0),$(1),$(2),$(3),$(4),$(5)) +$(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,mb_flow_clone_deps,$(1)-assert/@test-$(3),$(1),$(2),$(6),$(7))) +$(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,__mb_flow_assert_msxpipe_grep_x,$(1),$(3),$(4),$(5),@test,$(7),$(1)-assert/@test-$(3))) endef -$(call mb_make_call,mb_doc_function_flow,mb_assert_flow_bdos_grep,"Inject flow of single grep assert."," [machine]") +$(call mb_make_call,mb_doc_function_flow,mb_flow_assert_msxpipe_grep_test,"Inject flow of single grep assert."," [packages] [machine]") +define mb_flow_assert_msxpipe_grep_package_qa +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg5,$(0),$(1),$(2),$(3),$(4),$(5)) +$(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,mb_flow_clone_deps,$(1)-assert/@package-qa-$(3),$(1),$(2),$(6),$(7))) +$(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,__mb_flow_assert_msxpipe_grep_x,$(1),$(3),$(4),$(5),@package-qa,$(7),$(1)-assert/@package-qa-$(3))) +endef +$(call mb_make_call,mb_doc_function_flow,mb_flow_assert_msxpipe_grep_package_qa,"Inject flow of single grep assert."," [packages] [machine]") diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk index aa70968..fdd55fa 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk @@ -2,40 +2,20 @@ define __mb_flow_clone_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) +$(1)/@@process-deps:: $(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_flow_clone_deps $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg3,$(0),$(1),$(2),$(3)) -$(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3),$(call mb_make_call,mb_proj_module_local_deps,$(1),$(3)),$(4),$(5))) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_setup,$(1),@init,$(1)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_module_run,$(1),$(5)) +$(MB_ᕽᕽᕽ   )$(if $(4),$(call mb_make_call,mb_flow_proj_prepare_packages,$(1),$(4))) +$(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3),$(call mb_make_call,mb_make_module_local_deps,$(1),$(3)))) endef -$(call mb_make_call,mb_doc_function_flow,mb_flow_clone_deps,"Inject flow of file copy toolchain module."," [machine] [os-version]") +$(call mb_make_call,mb_doc_function_flow,mb_flow_clone_deps,"Inject flow of file copy toolchain module."," [packages] [machine]") diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_m80.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_m80.mk index 0392916..88d497b 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_m80.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_m80.mk @@ -2,47 +2,37 @@ define __mb_flow_m80_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) +$(1)/@@process-deps:: $(1)/$(3).mac +$(1)/$(3).mac: $(2)/$(3).mac | $(1)/@prepare $(MB_@RECIPE)$$(call mb_make_call,mb_conv_unix2dos,$(2)/$(3).mac,$(1)/$(3).mac) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).mac) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_proj_grow_deps_phase,@process,$(1)/$(3).mac) +$(1)/@@compile-deps:: $(1)/$(3).rel $(1)/$(3).rel: $(1)/$(3).mac $(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_safe_cmd,$(1),m80 $$(MB_MAKE_EQUALS)$(3)/Z) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).rel) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_proj_grow_deps_phase,@compile,$(1)/$(3).rel) +$(1)/@@link-deps:: $(1)/$(3).hex $(1)/$(3).hex: $(1)/$(3).rel $(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_safe_cmd,$(1),l80 $(3)$$(MB_MAKE_COMMA)$(3)/N/X/Y/E) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).hex) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_proj_grow_deps_phase,@link,$(1)/$(3).hex) +$(1)/@@build-deps:: $(1)/$(3).com $(1)/$(3).com: $(1)/$(3).hex $(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_safe_cmd,$(1),hextocom $(3)) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).com) $(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_flow_m80_bdos_mono $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg3,$(0),$(1),$(2),$(3)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_setup,$(1),@init,$(1)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_module_run,$(1)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_prepare_packages,$(1),macro80 z80asmuk,utils) $(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3))) endef $(call mb_make_call,mb_doc_function_flow,mb_flow_m80_bdos_mono,"Inject flow of m80 toolchain bdos mono file module."," ") diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk index 3e35dd6..e2c8bd0 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk @@ -20,24 +20,11 @@ $(call mb_make_call,mb_doc_variable,MB_PROJ_META_WEBSITE,"The project website lo MB_PROJ_PHASE_ALL = @clean @init @prepare @process @compile @link @build @test @package @package-qa @package-deploy @all $(call mb_make_call,mb_doc_variable_rock,MB_PROJ_PHASE_ALL,"All the phases of an project with flow steps.") +MB_PROJ_FIRE_MODULE_INIT ?= +$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_FIRE_MODULE_INIT,"List of unique module project structure targets.") -define mb_proj_module_path_src -$(MB_ᕽᕽᕽ   )$(1)$(abspath $(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.","") - - -define mb_proj_module_path_bin -$(MB_ᕽᕽᕽ   )$(2)$(abspath $(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."," ") - - -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."," ") - +MB_PROJ_FIRE_MODULE_RUN ?= +$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_FIRE_MODULE_RUN,"List of unique module project modules run targets.") define mb_proj_grow_deps_phase $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg2,$(0),$(1),$(2)) @@ -48,161 +35,156 @@ $(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_clean,"Grow the define _mb_proj_flow_step_before -$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_os_echo_phase,$(MB_I18N_PROJ_STEP_BEFORE) $@) +$(MB_ᕽᕽᕽ   )$(if $(filter $(subst @@,@,$@),$(MB_PROJ_PHASE_ALL)),$(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 $(filter $@,$(MB_PROJ_PHASE_ALL)),$(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 +$(3)@@clean: $(2) $(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_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@clean) +$(3)@@clean-deps:: $(2) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@clean-deps) +$(3)@clean: $(3)@@clean $(3)@@clean-deps +$(MB_@RECIPE)$$(if $$(wildcard $(1)),$$(call mb_make_call,mb_os_echo_command,$$(MB_I18N_PROJ_DIR_DELETE) $(1))) +$(MB_@RECIPE)$$(if $$(wildcard $(1)),$$(call mb_make_call,mb_os_dir_delete,$(1))) $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@clean,"Clean's the project build folders.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@clean) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@clean,"Clean's the project build folders.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@clean) -@@init: @include +$(3)@@init: $(2) $(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_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@init) +$(3)@@init-deps:: $(2) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@init-deps) +$(3)@init: $(3)@@init $(3)@@init-deps +$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_echo_command,$$(MB_I18N_PROJ_DIR_CREATE) $(1))) +$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1))) $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@init,"Create the project output folders.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@init) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@init,"Create the project output folders.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@init) -@@prepare: @init +$(3)@@prepare: $(3)@init $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@prepare) -@@prepare-deps:: -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@prepare-deps) -@prepare: @@prepare @@prepare-deps +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@prepare) +$(3)@@prepare-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@prepare-deps) +$(3)@prepare: $(3)@@prepare $(3)@@prepare-deps $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@prepare,"Prepare sources before processing.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@prepare) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@prepare,"Prepare sources before processing.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@prepare) -@@process: @prepare +$(3)@@process: $(3)@prepare $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@process) -@@process-deps:: -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@process-deps) -@process: @@process @@process-deps +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@process) +$(3)@@process-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@process-deps) +$(3)@process: $(3)@@process $(3)@@process-deps $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@process,"Process sources before compiling.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@process) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@process,"Process sources before compiling.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@process) -@@compile: @process +$(3)@@compile: $(3)@process $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@compile) -@@compile-deps:: -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@compile-deps) -@compile: @@compile @@compile-deps +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@compile) +$(3)@@compile-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@compile-deps) +$(3)@compile: $(3)@@compile $(3)@@compile-deps $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@compile,"Compiles all project sources.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@compile) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@compile,"Compiles all project sources.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@compile) -@@link: @compile +$(3)@@link: $(3)@compile $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@link) -@@link-deps:: -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@link-deps) -@link: @@link @@link-deps +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@link) +$(3)@@link-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@link-deps) +$(3)@link: $(3)@@link $(3)@@link-deps $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@link,"Link all project intermediate files.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@link) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@link,"Link all project intermediate files.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@link) -@@build: @link +$(3)@@build: $(3)@link $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@build) -@@build-deps:: -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@build-deps) -@build: @@build @@build-deps +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@build) +$(3)@@build-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@build-deps) +$(3)@build: $(3)@@build $(3)@@build-deps $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@build,"Build all project artifacts.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@build) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@build,"Build all project artifacts.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@build) -@@test: @build +$(3)@@test: $(3)@build $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@test) -@@test-deps:: -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@test-deps) -@test: @@test @@test-deps +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@test) +$(3)@@test-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@test-deps) +$(3)@test: $(3)@@test $(3)@@test-deps $(MB_@RECIPE)$$(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) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@test,"Run all assertion tests.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@test) -@@package: @test +$(3)@@package: $(3)@test $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@package) -@@package-deps:: -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@package-deps) -@package: @@package @@package-deps +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,v@@package) +$(3)@@package-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-deps) +$(3)@package: $(3)@@package $(3)@@package-deps $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@package,"Create all packages of project.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@package) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@package,"Create all packages of project.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@package) -@@package-qa: @package +$(3)@@package-qa: $(3)@package $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@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_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-qa) +$(3)@@package-qa-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-qa-deps) +$(3)@package-qa: $(3)@@package-qa $(3)@@package-qa-deps $(MB_@RECIPE)$$(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) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@package-qa,"Run all packages QA of project.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@package-qa) -@@package-deploy: @package-qa +$(3)@@package-deploy: $(3)@package-qa $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@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_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-deploy) +$(3)@@package-deploy-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-deploy-deps) +$(3)@package-deploy: $(3)@@package-deploy $(3)@@package-deploy-deps $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_help,@package-deploy,"Deploy all the packages.") -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@package-deploy) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@package-deploy,"Deploy all the packages.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@package-deploy) -@@all: @package-qa +$(3)@@all: $(3)@package-qa $(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before) -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@all) -@@all-deps:: -$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,@@all-deps) -@all: @@all @@all-deps +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@all) +$(3)@@all-deps:: +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@@all-deps) +$(3)@all: $(3)@@all $(3)@@all-deps $(MB_@RECIPE)$$(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) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target$(if $(3),,_help),$(3)@all,"Run full build and package QA tests.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(3)@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))) +$(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_GROUP_ID)) +$(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_ARTIFACT_ID)) +$(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_VERSION)) +$(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_NAME)) +$(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_DESCRIPTION)) +$(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_WEBSITE)) +$(MB_ᕽᕽᕽ   )$(if $(filter $(if $(3),$(3)/@init,@init),$(MB_PROJ_FIRE_MODULE_INIT)),,$(eval $(call mb_make_call,__$(0),$(1),$(2),$(if $(3),$(3)/)))) +$(MB_ᕽᕽᕽ   )$(if $(3),,$(if $(MB_I18N),$(if $(filter off,$(MB_I18N)),,$(call mb_make_call,_$(0)_i18n)))) +$(MB_ᕽᕽᕽ   )$(eval MB_PROJ_FIRE_MODULE_INIT $(MB_MAKE_APPEND) $(if $(3),$(3)/@init,@init)) endef -$(call mb_make_call,mb_doc_function_flow,mb_flow_proj_setup,"Inject flow of abstract project build cycle.","") +$(call mb_make_call,mb_doc_function_flow,mb_flow_proj_setup,"Inject flow of abstract project build cycle."," [parent-glue] [bin-mod-dir]") define __mb_flow_proj_setup_i18n @@ -286,3 +268,40 @@ $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_ $(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,_$(0))) endef + +define __mb_flow_proj_module_run +.RECIPEPREFIX := $(MB_@RECIPE) + +$(1)/@run: $(1)/@build +$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1),$(2)) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target,$(1)/@run,"Run manually with gui.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run manually with gui.") +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(1)/@run) + +.RECIPEPREFIX := $(MB_@RECIPEPREFIX) +endef +define mb_flow_proj_module_run +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg1,$(0),$(1)) +$(MB_ᕽᕽᕽ   )$(if $(filter $(1)/@run,$(MB_PROJ_FIRE_MODULE_RUN)),,$(eval $(call mb_make_call,__$(0),$(1),$(2)))) +$(MB_ᕽᕽᕽ   )$(eval MB_PROJ_FIRE_MODULE_RUN +$(MB_MAKE_EQUALS) $(1)/@run) +endef +$(call mb_make_call,mb_doc_function_flow,mb_flow_proj_module_run,"Inject flow module @run."," [machine]") + + +define __mb_flow_proj_prepare_packages +.RECIPEPREFIX := $(MB_@RECIPE) + +$(1)/@@prepare-deps:: $(1)/@msxhub/$(2) +$(1)/@msxhub/$(2): +$(MB_@RECIPE)$$(if $$(wildcard $(1)$$(if $(3),/$(3))),,$$(call mb_make_call,mb_os_dir_create,$(1)$$(if $(3),/$(3)))) +$(MB_@RECIPE)$$(call mb_make_call,mb_msxhub_get_$(2),$(1)$$(if $(3),/$(3))) +$(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_make_target_phony,$(1)/@msxhub/$(2)) + +.RECIPEPREFIX := $(MB_@RECIPEPREFIX) +endef +define mb_flow_proj_prepare_packages +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg2,$(0),$(1),$(2)) +$(MB_ᕽᕽᕽ   )$(foreach _pack,$(2),$(eval $(call mb_make_call,__$(0),$(1),$(_pack),$(3)))) +endef +$(call mb_make_call,mb_doc_function_flow,mb_flow_proj_prepare_packages,"Inject package fetch flow for module."," [dest-dir]") + diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk index b0ffa3c..8e76b96 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk @@ -2,39 +2,30 @@ define __mb_flow_sdcc_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) +$(1)/@@compile-deps:: $(1)/$(3).rel +$(1)/$(3).rel: $(2)/$(3).asm | $(1)/@prepare $(MB_@RECIPE)$$(call mb_make_call,mb_sdcc_compile_asm,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).rel) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_proj_grow_deps_phase,@compile,$(1)/$(3).rel) +$(1)/@@link-deps:: $(1)/$(3).hex $(1)/$(3).hex: $(1)/$(3).rel $(MB_@RECIPE)$$(call mb_make_call,mb_sdcc_link_asm_bdos,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).hex) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_proj_grow_deps_phase,@link,$(1)/$(3).hex) +$(1)/@@build-deps:: $(1)/$(3).com $(1)/$(3).com: $(1)/$(3).hex $(MB_@RECIPE)$$(call mb_make_call,mb_sdcc_objcopy,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).com) $(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_flow_sdcc_bdos_mono $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg3,$(0),$(1),$(2),$(3)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_setup,$(1),@init,$(1)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_module_run,$(1)) $(MB_ᕽᕽᕽ   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3))) endef $(call mb_make_call,mb_doc_function_flow,mb_flow_sdcc_bdos_mono,"Inject flow of sdcc toolchain bdos mono file module."," ") diff --git a/lib/msxbuild.mk b/lib/msxbuild.mk index d52d824..2f3882f 100644 --- a/lib/msxbuild.mk +++ b/lib/msxbuild.mk @@ -35,6 +35,7 @@ $(eval $(call __mb_include,make/सिस्टमₚᵣₐᵧToੴ/mb_xxx.mk)) $(eval $(call __mb_include,make/सिस्टमₚᵣₐᵧToੴ/mb_doc.mk)) $(eval $(call __mb_include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_call.mk)) $(eval $(call __mb_include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_check.mk)) +$(eval $(call __mb_include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_module.mk)) $(eval $(call __mb_include,make/सिस्टमₚᵣₐᵧToੴ/mb_make_xml.mk)) $(eval $(call __mb_include,make/सिस्टमₚᵣₐᵧToੴ/mb_make.mk)) @@include-libs:: $(MB_@INCLUDE_CHAIN) @@ -86,7 +87,7 @@ define mb_setup_default $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_check_arg2,$(0),$(1),$(2)) $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_doc_help) $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_0module_setup,$(2)) -$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_setup,$(1)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flow_proj_setup,$(1),@include) $(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_flight_proj_flow_video,$(1)) endef $(call mb_make_call,mb_doc_function,mb_setup_default,"Setup default extenstions to configure dynamic project flow."," ") diff --git a/src/ahello-m80/0module.mk b/src/ahello-m80/0module.mk index ab582b7..1698aa0 100644 --- a/src/ahello-m80/0module.mk +++ b/src/ahello-m80/0module.mk @@ -1,9 +1,9 @@ -AHELLO_M80_SRC := $(call mb_make_call,mb_proj_module_path_src,$(PATH_SRC)) -AHELLO_M80_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(PATH_BIN)) - +AHELLO_M80_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +AHELLO_M80_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) +AHELLO_M80_DEPS := $(AHELLO_M80_BIN)/ahello.com $(call mb_make_call,mb_flow_m80_bdos_mono,$(AHELLO_M80_BIN),$(AHELLO_M80_SRC),ahello) -$(call mb_make_call,mb_assert_flow_bdos_grep,$(AHELLO_M80_BIN),check-m80,ahello,M80) -$(call mb_make_call,mb_assert_flow_bdos_grep,$(AHELLO_M80_BIN),check-txt,ahello,"o world...") +$(call mb_make_call,mb_flow_assert_msxpipe_grep_test,$(AHELLO_M80_BIN),$(AHELLO_M80_DEPS),check-m80,ahello,M80) +$(call mb_make_call,mb_flow_assert_msxpipe_grep_test,$(AHELLO_M80_BIN),$(AHELLO_M80_DEPS),check-txt,ahello,"o world...") diff --git a/src/ahello-sdcc/0module.mk b/src/ahello-sdcc/0module.mk index 5fa8ed5..287a0ec 100644 --- a/src/ahello-sdcc/0module.mk +++ b/src/ahello-sdcc/0module.mk @@ -1,9 +1,9 @@ -AHELLO_SDCC_SRC := $(call mb_make_call,mb_proj_module_path_src,$(PATH_SRC)) -AHELLO_SDCC_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(PATH_BIN)) - +AHELLO_SDCC_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +AHELLO_SDCC_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) +AHELLO_SDCC_DEPS := $(AHELLO_SDCC_BIN)/ahello.com $(call mb_make_call,mb_flow_sdcc_bdos_mono,$(AHELLO_SDCC_BIN),$(AHELLO_SDCC_SRC),ahello) -$(call mb_make_call,mb_assert_flow_bdos_grep,$(AHELLO_SDCC_BIN),check-sdcc,ahello,SDCC) -$(call mb_make_call,mb_assert_flow_bdos_grep,$(AHELLO_SDCC_BIN),check-hell,ahello,Hell) +$(call mb_make_call,mb_flow_assert_msxpipe_grep_test,$(AHELLO_SDCC_BIN),$(AHELLO_SDCC_DEPS),check-sdcc,ahello,SDCC) +$(call mb_make_call,mb_flow_assert_msxpipe_grep_test,$(AHELLO_SDCC_BIN),$(AHELLO_SDCC_DEPS),check-hell,ahello,Hell) diff --git a/src/dist-qa-dos1/0module.mk b/src/dist-qa-dos1/0module.mk index 83486d4..b82dc1f 100644 --- a/src/dist-qa-dos1/0module.mk +++ b/src/dist-qa-dos1/0module.mk @@ -1,15 +1,15 @@ -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_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +DIST_QA_DOS1_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) -$(call mb_make_call,mb_flow_clone_deps,$(DIST_QA_DOS1_BIN),$(DIST_BIN),$(DIST_DEPS),,msxdos1) +$(call mb_make_call,mb_flow_clone_deps,$(DIST_QA_DOS1_BIN),$(DIST_BIN),$(DIST_DEPS),msxdos1_boot) $(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_safe_assert,$(DIST_QA_DOS1_BIN),ahello1) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(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) diff --git a/src/dist-qa-dos2/0module.mk b/src/dist-qa-dos2/0module.mk index 01320f9..c19acae 100644 --- a/src/dist-qa-dos2/0module.mk +++ b/src/dist-qa-dos2/0module.mk @@ -1,17 +1,17 @@ -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_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +DIST_QA_DOS2_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) -$(call mb_make_call,mb_flow_clone_deps,$(DIST_QA_DOS2_BIN),$(DIST_BIN),$(DIST_DEPS),,msxdos2) +$(call mb_make_call,mb_flow_clone_deps,$(DIST_QA_DOS2_BIN),$(DIST_BIN),$(DIST_DEPS),msxdos2_boot) $(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_safe_assert,$(DIST_QA_DOS2_BIN),ahello1 > ahello1.out) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(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 diff --git a/src/dist-qa-msx1/0module.mk b/src/dist-qa-msx1/0module.mk index f2efadd..09ebcde 100644 --- a/src/dist-qa-msx1/0module.mk +++ b/src/dist-qa-msx1/0module.mk @@ -1,20 +1,20 @@ -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_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +DIST_QA_MSX1_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) +#DIST_QA_MSX1_DEPS := $(call mb_make_call,mb_make_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.") -$(call mb_make_call,mb_flow_clone_deps,$(DIST_QA_MSX1_BIN),$(DIST_BIN),$(DIST_DEPS),$(DIST_QA_MSX1_MACHINE)) +$(call mb_make_call,mb_flow_clone_deps,$(DIST_QA_MSX1_BIN),$(DIST_BIN),$(DIST_DEPS),,$(DIST_QA_MSX1_MACHINE)) $(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_safe_assert,$(DIST_QA_MSX1_BIN),ahello1 > ahello1.out,33) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(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 diff --git a/src/dist-qa-msxhub/0module.mk b/src/dist-qa-msxhub/0module.mk index 5c6dcbe..f43959c 100644 --- a/src/dist-qa-msxhub/0module.mk +++ b/src/dist-qa-msxhub/0module.mk @@ -1,7 +1,7 @@ -DIST_QA_MSXHUB_SRC := $(call mb_make_call,mb_proj_module_path_src,$(PATH_SRC)) -DIST_QA_MSXHUB_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(PATH_BIN)) -DIST_QA_MSXHUB_DEPS := $(call mb_make_call,mb_proj_module_local_deps,$(DIST_QA_MSXHUB_BIN),$(DIST_DEPS)) +DIST_QA_MSXHUB_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +DIST_QA_MSXHUB_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) +DIST_QA_MSXHUB_DEPS := $(call mb_make_call,mb_make_module_local_deps,$(DIST_QA_MSXHUB_BIN),$(DIST_DEPS)) DIST_QA_MSXHUB_MACHINE ?= Boosted_MSX2+_JP $(call mb_make_call,mb_doc_variable,DIST_QA_MSXHUB_MACHINE,"The machine to run the msxhub module on.") @@ -48,9 +48,9 @@ _$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_os_file_delete,$(DIST_QA_MSXHUB_BIN _$(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_safe_assert,$(DIST_QA_MSXHUB_BIN),ahello1 > ahello1.out) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(DIST_QA_MSXHUB_BIN),ahello2 > ahello2.out) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(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 diff --git a/src/make-on-msx/0module.mk b/src/make-on-msx/0module.mk index ab604d0..586bf60 100644 --- a/src/make-on-msx/0module.mk +++ b/src/make-on-msx/0module.mk @@ -1,6 +1,6 @@ -MAKE_ON_MSX_SRC := $(call mb_make_call,mb_proj_module_path_src,$(PATH_SRC)) -MAKE_ON_MSX_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(PATH_BIN)) +MAKE_ON_MSX_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +MAKE_ON_MSX_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) $(MAKE_ON_MSX_BIN): | @init diff --git a/src/tools/gluedos1/0module.mk b/src/tools/gluedos1/0module.mk new file mode 100644 index 0000000..2789843 --- /dev/null +++ b/src/tools/gluedos1/0module.mk @@ -0,0 +1,39 @@ + +GLUEDOS1_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +GLUEDOS1_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) +GLUEDOS1_DIST := lib/emuctl/gluedos1 + +# Add msxdos1 to override default(nextor) for manual @run target +$(call mb_make_call,mb_flow_proj_prepare_packages,$(GLUEDOS1_BIN),msxdos1_boot) + +# Compile binaries +$(call mb_make_call,mb_flow_sdcc_bdos_mono,$(GLUEDOS1_BIN),$(GLUEDOS1_SRC),cls) +$(call mb_make_call,mb_flow_sdcc_bdos_mono,$(GLUEDOS1_BIN),$(GLUEDOS1_SRC),echo) +$(call mb_make_call,mb_flow_sdcc_bdos_mono,$(GLUEDOS1_BIN),$(GLUEDOS1_SRC),set) +$(call mb_make_call,mb_flow_sdcc_bdos_mono,$(GLUEDOS1_BIN),$(GLUEDOS1_SRC),ver) + +# (Manual) Test binaries +$(GLUEDOS1_BIN)/@@test-deps:: $(GLUEDOS1_BIN)/@assert/@test/check-simple +$(GLUEDOS1_BIN)/@assert/@test/check-simple: $(GLUEDOS1_BIN)/@build +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_write_default,$(GLUEDOS1_BIN)) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(GLUEDOS1_BIN),a:cls.com) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(GLUEDOS1_BIN),a:echo.com) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(GLUEDOS1_BIN),a:set.com) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_safe_assert,$(GLUEDOS1_BIN),a:ver.com) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_autoexec_append_exit,$(GLUEDOS1_BIN)) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_openmsx_dosctl,$(GLUEDOS1_BIN)) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_os_echo_assert,$(MB_I18N_ASSERT_SUCCESS) $(GLUEDOS1_BIN)/@assert/@test/check-simple) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_doc_target,$(GLUEDOS1_BIN)/@assert/@test/check-simple,"Assert binaries on msxdos1.") +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_proj_grow_deps_phase,@test,$(GLUEDOS1_BIN)/@assert/@test/check-simple) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_target_phony,$(GLUEDOS1_BIN)/@assert/@test/check-simple) + +# Release local +$(GLUEDOS1_BIN)/@release-local: | $(GLUEDOS1_BIN)/@build +_$(MB_ᕽᕽᕽ  )$(if $(wildcard $(GLUEDOS1_DIST)),,$(call mb_make_call,mb_os_folder_create,$(GLUEDOS1_DIST))) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_os_file_copy,$(GLUEDOS1_BIN)/cls.com,$(GLUEDOS1_DIST)) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_os_file_copy,$(GLUEDOS1_BIN)/echo.com,$(GLUEDOS1_DIST)) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_os_file_copy,$(GLUEDOS1_BIN)/set.com,$(GLUEDOS1_DIST)) +_$(MB_ᕽᕽᕽ  )$(call mb_make_call,mb_os_file_copy,$(GLUEDOS1_BIN)/ver.com,$(GLUEDOS1_DIST)) +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_doc_target,$(GLUEDOS1_BIN)/@release-local,"Updates binary copy in $(GLUEDOS1_DIST) folder.") +$(MB_ᕽᕽᕽ   )$(call mb_make_call,mb_make_target_phony,$(GLUEDOS1_BIN)/@release-local) + diff --git a/src/tools/gluedos1/cls.asm b/src/tools/gluedos1/cls.asm new file mode 100644 index 0000000..0c6210b --- /dev/null +++ b/src/tools/gluedos1/cls.asm @@ -0,0 +1,18 @@ + +.area _CODE + JP MAIN + .db 0x0D + .db 0x0D,0x0A + .str "TODO: MSX-DOS1 cls command." + .db 0x0D,0x0A + .db 0x1A + +; TODO: code +; +; SUPPORT: cls +; - clear the screen +; - exit +MAIN: + RET + +.area _DATA diff --git a/src/tools/gluedos1/echo.asm b/src/tools/gluedos1/echo.asm new file mode 100644 index 0000000..559b693 --- /dev/null +++ b/src/tools/gluedos1/echo.asm @@ -0,0 +1,39 @@ + +.area _CODE + JP MAIN + .db 0x0D + .db 0x0D,0x0A + .str "TODO: MSX-DOS1 echo command." + .db 0x0D,0x0A + .db 0x1A + +; TODO: code +; +; SUPPORT: echo foo +; SUPPORT: echo bar %FOO% bar +; SUPPORT: echo bar %FOO% bar>NUL +; SUPPORT: echo bar %FOO% bar> NUL +; SUPPORT: echo bar %FOO% bar >NUL +; SUPPORT: echo bar %FOO% bar > NUL +; SUPPORT: echo bar %FOO% bar>>NUL +; SUPPORT: echo bar %FOO% bar>> NUL +; SUPPORT: echo bar %FOO% bar >>NUL +; SUPPORT: echo bar %FOO% bar >> NUL +; SUPPORT: echo bar %FOO% bar>%FILE% +; SUPPORT: echo bar %FOO% bar> %FILE% +; SUPPORT: echo bar %FOO% bar >%FILE% +; SUPPORT: echo bar %FOO% bar > %FILE% +; SUPPORT: echo bar %FOO% bar>>%FILE% +; SUPPORT: echo bar %FOO% bar>> %FILE% +; SUPPORT: echo bar %FOO% bar >>%FILE% +; SUPPORT: echo bar %FOO% bar >> %FILE% +; - open command.env +; - read command.env +; - replace env variable of argument line +; - if redirect NUL than no output +; - if redirect is file than write (+OPTIONAL APPEND) to file +; - exit +MAIN: + RET + +.area _DATA diff --git a/src/tools/gluedos1/set.asm b/src/tools/gluedos1/set.asm new file mode 100644 index 0000000..01f1f2a --- /dev/null +++ b/src/tools/gluedos1/set.asm @@ -0,0 +1,22 @@ + +.area _CODE + JP MAIN + .db 0x0D + .db 0x0D,0x0A + .str "TODO: MSX-DOS1 set command." + .db 0x0D,0x0A + .db 0x1A + +; TODO: code +; +; SUPPORT: set FOO=BAR +; SUPPORT: set BAR=bar %FOO% bar +; - open command.env (auto create) +; - read command.env +; - replace env variable of argument +; - append or replace parsed argument line to env file +; - exit +MAIN: + RET + +.area _DATA diff --git a/src/tools/gluedos1/ver.asm b/src/tools/gluedos1/ver.asm new file mode 100644 index 0000000..aee53f2 --- /dev/null +++ b/src/tools/gluedos1/ver.asm @@ -0,0 +1,18 @@ + +.area _CODE + JP MAIN + .db 0x0D + .db 0x0D,0x0A + .str "TODO: MSX-DOS1 ver(sion) command." + .db 0x0D,0x0A + .db 0x1A + +; TODO: code +; +; SUPPORT: ver +; - Prints DBOS version +; - exit +MAIN: + RET + +.area _DATA diff --git a/src/tools/gluemsx1/0module.mk b/src/tools/gluemsx1/0module.mk index 16e8eb9..021d20a 100644 --- a/src/tools/gluemsx1/0module.mk +++ b/src/tools/gluemsx1/0module.mk @@ -1,10 +1,10 @@ -MBBOOT80_SRC := $(call mb_make_call,mb_proj_module_path_src,$(PATH_SRC)) -MBBOOT80_BIN := $(call mb_make_call,mb_proj_module_path_bin,$(PATH_SRC),$(PATH_BIN)) - +MBBOOT80_SRC := $(call mb_make_call,mb_make_module_path_src,$(PATH_SRC)) +MBBOOT80_BIN := $(call mb_make_call,mb_make_module_path_bin,$(PATH_SRC),$(PATH_BIN)) +MBBOOT80_DEPS := $(call mb_make_call,mb_make_module_local_deps,$(MBBOOT80_BIN),$(patsubst %.asm,%.com,$(shell ls -1 $(MBBOOT80_SRC)/*.asm))) $(call mb_make_call,mb_flow_sdcc_bdos_mono,$(MBBOOT80_BIN),$(MBBOOT80_SRC),mbboot80) -$(call mb_make_call,mb_assert_flow_bdos_grep,$(MBBOOT80_BIN),check-boot80,mbboot80,"mb::boot mode 80") +$(call mb_make_call,mb_flow_assert_msxpipe_grep_test,$(MBBOOT80_BIN),$(MBBOOT80_DEPS),check-boot80,mbboot80,"mb::boot mode 80") $(MBBOOT80_BIN)/@release-local: | $(MBBOOT80_BIN)/@build