Added project phases and flow generators.
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -1s

This commit is contained in:
Willem Cazander 2024-07-07 04:33:03 +02:00
parent 51a3276e39
commit f7324721c2
29 changed files with 606 additions and 287 deletions

View file

@ -1,3 +0,0 @@
$(PATH_BIN):
$(call mb_mkdir,$(PATH_BIN))

View file

@ -1,17 +0,0 @@
ASSERT_ALL_DEPS := \
bin/ahello-m80-test/@assert \
bin/ahello-sdcc-test/@assert \
bin/dist-qa-dos1/@assert \
bin/dist-qa-dos2/@assert \
bin/dist-qa-msx1/@assert \
bin/dist-qa-msxhub/@assert \
bin/make-on-msx/@assert \
bin/mbboot80-test/@assert
$(PATH_BIN)/@assert-all: | $(ASSERT_ALL_DEPS)
@echo === All assertions completed
@echo === All $(MB_DEP_ALL_ASSERT)
$(if $(filter on,$(MB_FLIGHT_VIDEO)),$(call mb_make_call,mb_flight_video_merge,$(PATH_BIN)))
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(PATH_BIN)/@assert-all,"Asserts all assertions tests.")
.PHONY: $(PATH_BIN)/@assert-all

View file

@ -1,5 +0,0 @@
$(PATH_BIN)/@clean:
$(call mb_make_call,mb_clean,$(PATH_BIN))
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(PATH_BIN)/@clean,"Clean's the build folder.")
.PHONY: $(PATH_BIN)/@clean

View file

@ -1,5 +0,0 @@
$(PATH_BIN)/@prepare: | $(PATH_BIN)
@echo === .PHONY: $(PATH_BIN)/@prepare
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(PATH_BIN)/@prepare,"Virtual prepare phase of binary folder.")
.PHONY: $(PATH_BIN)/@prepare

View file

@ -1,23 +0,0 @@
AHELLO_M80_TEST_MOD := ahello-m80-test
AHELLO_M80_TEST_SRC := $(PATH_SRC)/$(AHELLO_M80_TEST_MOD)
AHELLO_M80_TEST_BIN := $(PATH_BIN)/$(AHELLO_M80_TEST_MOD)
$(AHELLO_M80_TEST_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(AHELLO_M80_TEST_BIN))
$(AHELLO_M80_TEST_BIN)/ahello.com: $(AHELLO_M80_BIN)/ahello.com | $(AHELLO_M80_TEST_BIN)
$(call mb_copy,$<,$@)
$(AHELLO_M80_TEST_BIN)/@run: | $(AHELLO_M80_TEST_BIN)/ahello.com
$(call mb_msxpipe_run_gui,$(AHELLO_M80_TEST_BIN))
MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_M80_TEST_BIN)/@run,"Run binaries from ahello-m80.")
.PHONY: $(AHELLO_M80_TEST_BIN)/@run
$(AHELLO_M80_TEST_BIN)/@assert: | $(AHELLO_M80_TEST_BIN)/ahello.com
$(call mb_delete,$(AHELLO_M80_TEST_BIN)/ahello.out)
$(call mb_msxpipe_safe_test,$(AHELLO_M80_TEST_BIN),ahello > ahello.out)
grep "M80: Hello world..." $(AHELLO_M80_TEST_BIN)/ahello.out
MB_DOC_HELP_TARGET += $(call mb_doc_target,$(AHELLO_M80_TEST_BIN)/@assert,"Assert binaries from ahello-m80.")
MB_DEP_ALL_ASSERT += $(AHELLO_M80_TEST_BIN)/@assert
.PHONY: $(AHELLO_M80_TEST_BIN)/@assert

View file

@ -1,85 +1,10 @@
AHELLO_M80_MOD := ahello-m80
AHELLO_M80_SRC := $(PATH_SRC)/$(AHELLO_M80_MOD)
AHELLO_M80_BIN := $(PATH_BIN)/$(AHELLO_M80_MOD)
#PROJECT_ROOT = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
#PROJECT_ROOT = $(dir $(lastword $(MAKEFILE_LIST)))
# src/ahello-m80/0module.mk
define mb_flow_m80_mono_com
$(2): | $(1)
$$(call mb_make_call,mb_mkdir,$(2))
$$(call mb_make_call,mb_mkdir,$(2)/utils)
$$(call mb_make_call,mb_msxhub_get_macro80,$(2)/utils)
$$(call mb_make_call,mb_msxhub_get_z80asmuk,$(2)/utils)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(2))
$(2)/$(4).mac: $(3)/$(4).mac | $(2)
$$(call mb_make_call,mb_conv_unix2dos,$(3)/$(4).mac,$(2)/$(4).mac)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(2)/$(4).mac)
$(2)/$(4).rel: $(2)/$(4).mac
$$(call mb_make_call,mb_msxpipe_safe_cmd,$(2),m80 $$(MB_MAKE_EQUALS)$(4)/Z)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(2)/$(4).rel)
$(2)/$(4).hex: $(2)/$(4).rel
$$(call mb_make_call,mb_msxpipe_safe_cmd,$(2),l80 $(4)$$(MB_MAKE_COMMA)$(4)/N/X/Y/E)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(2)/$(4).hex)
$(2)/$(4).com: $(2)/$(4).hex
$$(call mb_make_call,mb_msxpipe_safe_cmd,$(2),hextocom $(4))
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(2)/$(4).com)
$(2)/@build: $(2)/$(4).com
MB_DOC_FIRE_TARGET += $$(call mb_make_call,mb_doc_target,$(2)/@build,"Builds the $(2) module.")
MB_DEP_ALL_COMPILE += $(2)/@build
.PHONY: $(2)/@build
$(2)/@run: $(2)/@build
$$(call mb_make_call,mb_msxpipe_run_gui,$(2))
MB_DOC_FIRE_TARGET += $$(call mb_make_call,mb_doc_target,$(2)/@run,"Run $(4).com manually with gui.")
.PHONY: $(2)/@run
endef
#$(eval $(call mb_make_call,mb_m80_flow_bdos_mono,$(PATH_BIN)/@prepare,bin/foobar,$(AHELLO_M80_SRC),ahello))
$(eval $(call mb_make_call,mb_flow_m80_mono_com,$(PATH_BIN)/@prepare,bin/foobar2,$(AHELLO_M80_SRC),ahello))
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))
bin/foobar2/@assert: bin/foobar2/@build
$(call mb_delete,bin/foobar2/ahello.out)
$(call mb_msxpipe_safe_test,bin/foobar2,ahello > ahello.out)
grep "M80: Hello world..." bin/foobar2/ahello.out
MB_DOC_FIRE_TARGET += $(call mb_doc_target,bin/foobar2/@assert,"Assert binaries from ahello-m80.")
MB_DEP_ALL_ASSERT += bin/foobar2/@assert
.PHONY: bin/foobar2/@assert
$(call mb_make_call_eval,mb_tool_m80_flow_bdos_mono,$(AHELLO_M80_BIN),$(AHELLO_M80_SRC),ahello)
$(call mb_make_call_eval,mb_assert_flow_bdos_grep,$(AHELLO_M80_BIN),check-m80,ahello,M80)
$(call mb_make_call_eval,mb_assert_flow_bdos_grep,$(AHELLO_M80_BIN),check-txt,ahello,"o world...")
$(AHELLO_M80_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(AHELLO_M80_BIN))
$(call mb_mkdir,$(AHELLO_M80_BIN)/utils)
$(call mb_msxhub_get_macro80,$(AHELLO_M80_BIN)/utils)
$(call mb_msxhub_get_z80asmuk,$(AHELLO_M80_BIN)/utils)
$(AHELLO_M80_BIN)/%.mac: $(AHELLO_M80_SRC)/%.mac | $(AHELLO_M80_BIN)
$(call mb_conv_unix2dos,$<,$@)
$(AHELLO_M80_BIN)/ahello.rel: $(AHELLO_M80_BIN)/ahello.mac
$(call mb_msxpipe_safe_cmd,$(AHELLO_M80_BIN),m80 =ahello/Z)
$(AHELLO_M80_BIN)/ahello.hex: $(AHELLO_M80_BIN)/ahello.rel
$(call mb_msxpipe_safe_cmd,$(AHELLO_M80_BIN),l80 ahello$(MB_MAKE_COMMA)ahello/N/X/Y/E)
$(AHELLO_M80_BIN)/ahello.com: $(AHELLO_M80_BIN)/ahello.hex
$(call mb_msxpipe_safe_cmd,$(AHELLO_M80_BIN),hextocom ahello)
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(AHELLO_M80_BIN)/ahello.com,"Compiles hello world with macro80.")
MB_DEP_ALL_COMPILE += $(AHELLO_M80_BIN)/ahello.com
$(AHELLO_M80_BIN)/@build: $(AHELLO_M80_BIN)/ahello.com
.PHONY: $(AHELLO_M80_BIN)/@build
$(AHELLO_M80_BIN)/@run: $(AHELLO_M80_BIN)/ahello.com
$(call mb_make_call,mb_msxpipe_run_gui,$(AHELLO_M80_BIN))
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(AHELLO_M80_BIN)/@run,"Run the compiled hello world from macro80.")
.PHONY: $(AHELLO_M80_BIN)/@run

View file

@ -1,22 +0,0 @@
AHELLO_SDCC_TEST_MOD := ahello-sdcc-test
AHELLO_SDCC_TEST_SRC := $(PATH_SRC)/$(AHELLO_SDCC_TEST_MOD)
AHELLO_SDCC_TEST_BIN := $(PATH_BIN)/$(AHELLO_SDCC_TEST_MOD)
$(AHELLO_SDCC_TEST_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(AHELLO_SDCC_TEST_BIN))
$(AHELLO_SDCC_TEST_BIN)/ahello.com: $(AHELLO_SDCC_BIN)/ahello.com | $(AHELLO_SDCC_TEST_BIN)
$(call mb_copy,$<,$@)
$(AHELLO_SDCC_TEST_BIN)/@run: | $(AHELLO_SDCC_TEST_BIN)/ahello.com
$(call mb_msxpipe_run_gui,$(AHELLO_SDCC_TEST_BIN))
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(AHELLO_SDCC_TEST_BIN)/@run,"Run binaries from ahello-sdcc.")
.PHONY: $(AHELLO_SDCC_TEST_BIN)/@run
$(AHELLO_SDCC_TEST_BIN)/@assert: | $(AHELLO_SDCC_TEST_BIN)/ahello.com
$(call mb_delete,$(AHELLO_SDCC_TEST_BIN)/ahello.out)
$(call mb_msxpipe_safe_test,$(AHELLO_SDCC_TEST_BIN),ahello > ahello.out)
grep "SDCC: Hello world..." $(AHELLO_SDCC_TEST_BIN)/ahello.out
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(AHELLO_SDCC_TEST_BIN)/@assert,"Assert binaries from ahello-sdcc.")
.PHONY: $(AHELLO_SDCC_TEST_BIN)/@assert

View file

@ -1,22 +1,10 @@
AHELLO_SDCC_MOD := ahello-sdcc
AHELLO_SDCC_SRC := $(PATH_SRC)/$(AHELLO_SDCC_MOD)
AHELLO_SDCC_BIN := $(PATH_BIN)/$(AHELLO_SDCC_MOD)
$(AHELLO_SDCC_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(AHELLO_SDCC_BIN))
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_BIN)/%.rel: $(AHELLO_SDCC_SRC)/%.asm | $(AHELLO_SDCC_BIN)
$(call mb_sdcc_compile_asm,$<,$@)
$(AHELLO_SDCC_BIN)/ahello.hex: $(AHELLO_SDCC_BIN)/ahello.rel
$(call mb_sdcc_link_asm_bdos,$<,$@)
$(call mb_make_call_eval,mb_tool_sdcc_flow_bdos_mono,$(AHELLO_SDCC_BIN),$(AHELLO_SDCC_SRC),ahello)
$(call mb_make_call_eval,mb_assert_flow_bdos_grep,$(AHELLO_SDCC_BIN),check-sdcc,ahello,SDCC)
$(call mb_make_call_eval,mb_assert_flow_bdos_grep,$(AHELLO_SDCC_BIN),check-hell,ahello,Hell)
$(AHELLO_SDCC_BIN)/ahello.com: $(AHELLO_SDCC_BIN)/ahello.hex
$(call mb_sdcc_hex2bin,$<,$@)
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(AHELLO_SDCC_BIN)/ahello.com,"Compiles hello world with sdcc.")
$(AHELLO_SDCC_BIN)/@run: | $(AHELLO_SDCC_BIN)/ahello.com
$(call mb_msxpipe_run_gui,$(AHELLO_SDCC_BIN))
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(AHELLO_SDCC_BIN)/@run,"Run the compiled hello world from sdcc.")
.PHONY: $(AHELLO_SDCC_BIN)/@run

View file

@ -1,26 +1,34 @@
DIST_QA_DOS1_MOD := dist-qa-dos1
DIST_QA_DOS1_SRC := $(PATH_SRC)/$(DIST_QA_DOS1_MOD)
DIST_QA_DOS1_BIN := $(PATH_BIN)/$(DIST_QA_DOS1_MOD)
DIST_QA_DOS1_DEPS := $(subst dist,$(DIST_QA_DOS1_MOD),$(DIST_DEPS))
$(DIST_QA_DOS1_BIN): | $(PATH_BIN)/@prepare
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
$(call mb_mkdir,$(DIST_QA_DOS1_BIN))
$(call mb_msxhub_get_msxdos1_boot,$(DIST_QA_DOS1_BIN))
$(DIST_QA_DOS1_BIN)/%: $(DIST_BIN)/% | $(DIST_QA_DOS1_BIN) $(DIST_DEPS)
$(call mb_copy,$<,$@)
$(DIST_QA_DOS1_BIN)/@run: | $(DIST_QA_DOS1_DEPS)
$(call mb_msxpipe_run_gui,$(DIST_QA_DOS1_BIN))
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(DIST_QA_DOS1_BIN)/@run,"Run binaries on msxdos1 machine.")
MB_PROJ_PHASE_RUN_DEPS += $(DIST_QA_DOS1_BIN)/@run
.PHONY: $(DIST_QA_DOS1_BIN)/@run
$(DIST_QA_DOS1_BIN)/@assert: | $(DIST_QA_DOS1_DEPS)
$(call mb_autoexec_write_default,$(DIST_QA_DOS1_BIN))
$(call mb_autoexec_append_safe_test,$(DIST_QA_DOS1_BIN),ahello1)
$(call mb_autoexec_append_safe_test,$(DIST_QA_DOS1_BIN),ahello2)
$(call mb_autoexec_append_exit,$(DIST_QA_DOS1_BIN))
$(call mb_openmsx_dosctl,$(DIST_QA_DOS1_BIN))
$(call mb_make_call,mb_make_echo_assert,Assert succes $(DIST_QA_DOS1_BIN)/@assert)
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(DIST_QA_DOS1_BIN)/@assert,"Assert binaries on msxdos1.")
MB_PROJ_PHASE_PACKAGE_QA_DEPS += $(DIST_QA_DOS1_BIN)/@assert
.PHONY: $(DIST_QA_DOS1_BIN)/@assert

View file

@ -1,21 +1,26 @@
DIST_QA_DOS2_MOD := dist-qa-dos2
DIST_QA_DOS2_SRC := $(PATH_SRC)/$(DIST_QA_DOS2_MOD)
DIST_QA_DOS2_BIN := $(PATH_BIN)/$(DIST_QA_DOS2_MOD)
DIST_QA_DOS2_DEPS := $(subst dist,$(DIST_QA_DOS2_MOD),$(DIST_DEPS))
$(DIST_QA_DOS2_BIN): | $(PATH_BIN)/@prepare
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
$(call mb_mkdir,$(DIST_QA_DOS2_BIN))
$(call mb_msxhub_get_msxdos2_boot,$(DIST_QA_DOS2_BIN))
$(DIST_QA_DOS2_BIN)/%: $(DIST_BIN)/% | $(DIST_QA_DOS2_BIN) $(DIST_DEPS)
$(call mb_copy,$<,$@)
$(DIST_QA_DOS2_BIN)/@run: | $(DIST_QA_DOS2_DEPS)
$(call mb_msxpipe_run_gui,$(DIST_QA_DOS2_BIN))
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(DIST_QA_DOS2_BIN)/@run,"Run binaries on msxdos2 machine.")
MB_PROJ_PHASE_RUN_DEPS += $(DIST_QA_DOS2_BIN)/@run
.PHONY: $(DIST_QA_DOS2_BIN)/@run
$(DIST_QA_DOS2_BIN)/@assert: | $(DIST_QA_DOS2_DEPS)
$(call mb_delete,$(DIST_QA_DOS2_BIN)/ahello1.out)
$(call mb_delete,$(DIST_QA_DOS2_BIN)/ahello2.out)
@ -24,7 +29,10 @@ $(DIST_QA_DOS2_BIN)/@assert: | $(DIST_QA_DOS2_DEPS)
$(call mb_autoexec_append_safe_test,$(DIST_QA_DOS2_BIN),ahello2 > ahello2.out)
$(call mb_autoexec_append_exit,$(DIST_QA_DOS2_BIN))
$(call mb_openmsx_dosctl,$(DIST_QA_DOS2_BIN))
grep "M80: Hello world..." $(DIST_QA_DOS2_BIN)/ahello1.out
grep "SDCC: Hello world..." $(DIST_QA_DOS2_BIN)/ahello2.out
grep -q "M80: Hello world..." $(DIST_QA_DOS2_BIN)/ahello1.out
grep -q "SDCC: Hello world..." $(DIST_QA_DOS2_BIN)/ahello2.out
$(call mb_make_call,mb_make_echo_assert,Assert succes $(DIST_QA_DOS2_BIN)/@assert)
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(DIST_QA_DOS2_BIN)/@assert,"Assert binaries on msxdos2.")
MB_PROJ_PHASE_PACKAGE_QA_DEPS += $(DIST_QA_DOS2_BIN)/@assert
.PHONY: $(DIST_QA_DOS2_BIN)/@assert

View file

@ -1,23 +1,28 @@
DIST_QA_MSX1_MACHINE ?= Canon_V-20
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,DIST_QA_MSX1_MACHINE,"The machine to run the $(DIST_QA_MSX1_MOD) module.")
DIST_QA_MSX1_MOD := dist-qa-msx1
DIST_QA_MSX1_SRC := $(PATH_SRC)/$(DIST_QA_MSX1_MOD)
DIST_QA_MSX1_BIN := $(PATH_BIN)/$(DIST_QA_MSX1_MOD)
DIST_QA_MSX1_DEPS := $(subst dist,$(DIST_QA_MSX1_MOD),$(DIST_DEPS))
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_BIN): | $(PATH_BIN)/@prepare
$(DIST_QA_MSX1_BIN): | @init
$(call mb_make_call,mb_mkdir,$(DIST_QA_MSX1_BIN))
$(DIST_QA_MSX1_BIN)/%: $(DIST_BIN)/% | $(DIST_QA_MSX1_BIN) $(DIST_DEPS)
$(call mb_make_call,mb_copy,$<,$@)
$(DIST_QA_MSX1_BIN)/@run: | $(DIST_QA_MSX1_DEPS)
$(call mb_make_call,mb_msxpipe_run_gui,$(DIST_QA_MSX1_BIN),,$(DIST_QA_MSX1_MACHINE))
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(DIST_QA_MSX1_BIN)/@run,"Run binaries on MSX1 machine.")
MB_PROJ_PHASE_RUN_DEPS += $(DIST_QA_MSX1_BIN)/@run
.PHONY: $(DIST_QA_MSX1_BIN)/@run
$(DIST_QA_MSX1_BIN)/@assert: | $(DIST_QA_MSX1_DEPS)
$(call mb_make_call,mb_delete,$(DIST_QA_MSX1_BIN)/ahello1.out)
$(call mb_make_call,mb_delete,$(DIST_QA_MSX1_BIN)/ahello2.out)
@ -26,7 +31,10 @@ $(DIST_QA_MSX1_BIN)/@assert: | $(DIST_QA_MSX1_DEPS)
$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSX1_BIN),ahello2 > ahello2.out,66,99)
$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_MSX1_BIN))
$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_MSX1_BIN),$(DIST_QA_MSX1_MACHINE))
grep "M80: Hello world..." $(DIST_QA_MSX1_BIN)/ahello1.out
grep "SDCC: Hello world..." $(DIST_QA_MSX1_BIN)/ahello2.out
grep -q "M80: Hello world..." $(DIST_QA_MSX1_BIN)/ahello1.out
grep -q "SDCC: Hello world..." $(DIST_QA_MSX1_BIN)/ahello2.out
$(call mb_make_call,mb_make_echo_assert,Assert succes $(DIST_QA_MSX1_BIN)/@assert)
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(DIST_QA_MSX1_BIN)/@assert,"Assert binaries on MSX1 machine.")
MB_PROJ_PHASE_PACKAGE_QA_DEPS += $(DIST_QA_MSX1_BIN)/@assert
.PHONY: $(DIST_QA_MSX1_BIN)/@assert

View file

@ -1,13 +1,14 @@
DIST_QA_MSXHUB_MACHINE ?= Boosted_MSX2+_JP
MB_DOC_FIRE_VARIABLE += $(call mb_make_call,mb_doc_variable,DIST_QA_MSXHUB_MACHINE,"The machine to run the $(DIST_QA_MSXHUB_MOD) module.")
DIST_QA_MSXHUB_MOD := dist-qa-msxhub
DIST_QA_MSXHUB_SRC := $(PATH_SRC)/$(DIST_QA_MSXHUB_MOD)
DIST_QA_MSXHUB_BIN := $(PATH_BIN)/$(DIST_QA_MSXHUB_MOD)
DIST_QA_MSXHUB_DEPS := $(subst dist,$(DIST_QA_MSXHUB_MOD),$(DIST_DEPS))
DIST_QA_MSXHUB_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_BIN): | $(PATH_BIN)/@prepare
$(DIST_QA_MSXHUB_BIN): | @init
$(call mb_make_call,mb_mkdir,$(DIST_QA_MSXHUB_BIN))
$(call mb_make_call,mb_mkdir,$(DIST_QA_MSXHUB_BIN)/utils)
$(call mb_make_call,mb_msxhub_get_msxdos2_utils,$(DIST_QA_MSXHUB_BIN)/utils)
@ -32,14 +33,18 @@ $(DIST_QA_MSXHUB_BIN): | $(PATH_BIN)/@prepare
$(call mb_make_call,mb_msxhub_get_msxdos2t,$(DIST_QA_MSXHUB_BIN)/utils)
$(call mb_make_call,mb_msxhub_get_gfxage,$(DIST_QA_MSXHUB_BIN)/utils)
$(DIST_QA_MSXHUB_BIN)/%: $(DIST_BIN)/% | $(DIST_QA_MSXHUB_BIN) $(DIST_DEPS)
$(call mb_make_call,mb_copy,$<,$@)
$(DIST_QA_MSXHUB_BIN)/@run: | $(DIST_QA_MSXHUB_DEPS)
$(call mb_make_call,mb_msxpipe_run_gui,$(DIST_QA_MSXHUB_BIN),,$(DIST_QA_MSXHUB_MACHINE))
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(DIST_QA_MSXHUB_BIN)/@run,"Run the dist with all msxhub packages.")
MB_PROJ_PHASE_RUN_DEPS += $(DIST_QA_MSXHUB_BIN)/@run
.PHONY: $(DIST_QA_MSXHUB_BIN)/@run
$(DIST_QA_MSXHUB_BIN)/@assert: | $(DIST_QA_MSXHUB_DEPS)
$(call mb_make_call,mb_delete,$(DIST_QA_MSXHUB_BIN)/ahello1.out)
$(call mb_make_call,mb_delete,$(DIST_QA_MSXHUB_BIN)/ahello2.out)
@ -50,9 +55,12 @@ $(DIST_QA_MSXHUB_BIN)/@assert: | $(DIST_QA_MSXHUB_DEPS)
$(call mb_make_call,mb_autoexec_append_safe_test,$(DIST_QA_MSXHUB_BIN),dir utils > utils.out)
$(call mb_make_call,mb_autoexec_append_exit,$(DIST_QA_MSXHUB_BIN))
$(call mb_make_call,mb_openmsx_dosctl,$(DIST_QA_MSXHUB_BIN),$(DIST_QA_MSXHUB_MACHINE))
grep "M80: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello1.out
grep "SDCC: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello2.out
grep "KONPASS COM" $(DIST_QA_MSXHUB_BIN)/utils.out
grep "MAKE COM" $(DIST_QA_MSXHUB_BIN)/utils.out
grep -q "M80: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello1.out
grep -q "SDCC: Hello world..." $(DIST_QA_MSXHUB_BIN)/ahello2.out
grep -q "KONPASS COM" $(DIST_QA_MSXHUB_BIN)/utils.out
grep -q "MAKE COM" $(DIST_QA_MSXHUB_BIN)/utils.out
$(call mb_make_call,mb_make_echo_assert,Assert succes $(DIST_QA_MSXHUB_BIN)/@assert)
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(DIST_QA_MSXHUB_BIN)/@assert,"Asserts that all dist artifacts execute results.")
MB_PROJ_PHASE_TEST_DEPS += $(DIST_QA_MSXHUB_BIN)/@assert
.PHONY: $(DIST_QA_MSXHUB_BIN)/@assert

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

@ -5,7 +5,7 @@ DIST_BIN := $(PATH_BIN)/$(DIST_MOD)
DIST_OUT := $(PATH_BIN)/$(DIST_MOD).tar.gz
DIST_DEPS := $(DIST_BIN)/readme.txt $(DIST_BIN)/ahello1.com $(DIST_BIN)/ahello2.com
$(DIST_BIN): | $(PATH_BIN)/@prepare
$(DIST_BIN): | @init
$(call mb_mkdir,$(DIST_BIN))
$(DIST_BIN)/readme.txt: $(DIST_SRC)/readme.txt | $(DIST_BIN)
@ -18,9 +18,10 @@ $(DIST_BIN)/ahello2.com: bin/ahello-sdcc/ahello.com | $(DIST_BIN)
$(call mb_copy,$<,$@)
$(DIST_BIN)/@prepare: | $(DIST_DEPS)
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(DIST_BIN)/@prepare,"Prepare folder with binaries for distribution.")
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(DIST_BIN)/@prepare,"Prepare folder with binaries for distribution.")
.PHONY: $(DIST_BIN)/@prepare
$(DIST_OUT): | $(DIST_BIN)/@prepare
$(call mb_create_dist,$(DIST_BIN),$@)
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(DIST_OUT),"Build archive distribution artifact.")
MB_PROJ_PHASE_PACKAGE_DEPS += $(DIST_OUT)

View file

@ -1,31 +1,34 @@
MAKE_ON_MSX_MOD := make-on-msx
MAKE_ON_MSX_SRC := $(PATH_SRC)/$(MAKE_ON_MSX_MOD)
MAKE_ON_MSX_BIN := $(PATH_BIN)/$(MAKE_ON_MSX_MOD)
MAKE_ON_MSX_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_BIN): | $(PATH_BIN)/@prepare
$(MAKE_ON_MSX_BIN): | @init
$(call mb_make_call,mb_mkdir,$(MAKE_ON_MSX_BIN))
$(call mb_make_call,mb_mkdir,$(MAKE_ON_MSX_BIN)/utils)
$(call mb_make_call,mb_msxhub_get_make,$(MAKE_ON_MSX_BIN)/utils)
$(call mb_make_call,mb_msxhub_get_macro80,$(MAKE_ON_MSX_BIN)/utils)
$(call mb_make_call,mb_msxhub_get_z80asmuk,$(MAKE_ON_MSX_BIN)/utils)
MB_DOC_FIRE_TARGET_DEEP += $(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN))
.PHONY: $(MAKE_ON_MSX_BIN)
$(MAKE_ON_MSX_BIN)/nfbsshot.mac: $(MAKE_ON_MSX_SRC)/nfbsshot.mac | $(MAKE_ON_MSX_BIN)
$(call mb_make_call,mb_conv_unix2dos,$<,$@)
MB_DOC_FIRE_TARGET_DEEP += $(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/nfbsshot.mac)
MB_PROJ_PHASE_PROCESS_DEPS += $(MAKE_ON_MSX_BIN)/nfbsshot.mac
$(MAKE_ON_MSX_BIN)/nfbsshot.mf: $(MAKE_ON_MSX_SRC)/nfbsshot.mf | $(MAKE_ON_MSX_BIN)/nfbsshot.mac
$(MAKE_ON_MSX_BIN)/nfbsshot.mf: $(MAKE_ON_MSX_SRC)/nfbsshot.mf $(MAKE_ON_MSX_BIN)/nfbsshot.mac
$(call mb_make_call,mb_conv_unix2dos,$<,$@)
MB_DOC_FIRE_TARGET_DEEP += $(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/nfbsshot.mf)
MB_PROJ_PHASE_PROCESS_DEPS += $(MAKE_ON_MSX_BIN)/nfbsshot.mf
$(MAKE_ON_MSX_BIN)/build.bat: $(MAKE_ON_MSX_SRC)/build.bat | $(MAKE_ON_MSX_BIN)/nfbsshot.mf
$(MAKE_ON_MSX_BIN)/build.bat: $(MAKE_ON_MSX_SRC)/build.bat $(MAKE_ON_MSX_BIN)/nfbsshot.mf
$(call mb_make_call,mb_conv_unix2dos,$<,$@)
MB_DOC_FIRE_TARGET_DEEP += $(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_BIN)/build.bat)
MB_PROJ_PHASE_PROCESS_DEPS += $(MAKE_ON_MSX_BIN)/build.bat
$(MAKE_ON_MSX_BIN)/nfbsshot.bin: $(MAKE_ON_MSX_BIN)/build.bat
@ -35,17 +38,21 @@ MB_DOC_FIRE_TARGET_DEEP += $(call mb_make_call,mb_doc_target_deep,$(MAKE_ON_MSX_
$(MAKE_ON_MSX_BIN)/@build: $(MAKE_ON_MSX_BIN)/nfbsshot.bin
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(MAKE_ON_MSX_BIN)/@build,"Compiles binary with make on msx.")
MB_PROJ_PHASE_BUILD_DEPS +=$(MAKE_ON_MSX_BIN)/@build
.PHONY: $(MAKE_ON_MSX_BIN)/@build
$(MAKE_ON_MSX_BIN)/@run: $(MAKE_ON_MSX_BIN)/@build
$(call mb_make_call,mb_msxpipe_run_gui,$(MAKE_ON_MSX_BIN))
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(MAKE_ON_MSX_BIN)/@run,"Run the make build manually.")
MB_PROJ_PHASE_RUN_DEPS += $(MAKE_ON_MSX_BIN)/@run
.PHONY: $(MAKE_ON_MSX_BIN)/@run
$(MAKE_ON_MSX_BIN)/@assert: $(MAKE_ON_MSX_BIN)/@build
grep -U "screenshot" $(MAKE_ON_MSX_BIN)/nfbsshot.bin
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(MAKE_ON_MSX_BIN)/@assert,"Asserts that binary contains screenshot string.")
MB_DEP_ALL_ASSERT += $(MAKE_ON_MSX_BIN)/@assert
.PHONY: $(MAKE_ON_MSX_BIN)/@assert
$(call mb_make_call_eval,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
# grep -U "screenshot" $(MAKE_ON_MSX_BIN)/nfbsshot.bin
#MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(MAKE_ON_MSX_BIN)/@assert-check-bin,"Asserts that binary contains screenshot string.")
#MB_PROJ_PHASE_TEST_DEPS += $(MAKE_ON_MSX_BIN)/@assert-check-bin
#.PHONY: $(MAKE_ON_MSX_BIN)/@assert-check-bin

View file

@ -1,22 +0,0 @@
MBBOOT80_TEST_MOD := mbboot80-test
MBBOOT80_TEST_SRC := $(PATH_SRC)/$(MBBOOT80_TEST_MOD)
MBBOOT80_TEST_BIN := $(PATH_BIN)/$(MBBOOT80_TEST_MOD)
$(MBBOOT80_TEST_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(MBBOOT80_TEST_BIN))
$(MBBOOT80_TEST_BIN)/mbboot80.com: $(MBBOOT80_BIN)/mbboot80.com | $(MBBOOT80_TEST_BIN)
$(call mb_copy,$<,$@)
$(MBBOOT80_TEST_BIN)/@run: | $(MBBOOT80_TEST_BIN)/mbboot80.com
$(call mb_msxpipe_run_gui,$(MBBOOT80_TEST_BIN))
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(MBBOOT80_TEST_BIN)/@run,"Run binaries from mbboot80.")
.PHONY: $(MBBOOT80_TEST_BIN)/@run
$(MBBOOT80_TEST_BIN)/@assert: | $(MBBOOT80_TEST_BIN)/mbboot80.com
$(call mb_delete,$(MBBOOT80_TEST_BIN)/ahello.out)
$(call mb_msxpipe_safe_test,$(MBBOOT80_TEST_BIN),mbboot80 > mbboot80.out)
grep "mb::boot mode 80" $(MBBOOT80_TEST_BIN)/mbboot80.out
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(MBBOOT80_TEST_BIN)/@assert,"Assert binaries from mbboot80.")
.PHONY: $(MBBOOT80_TEST_BIN)/@assert

View file

@ -1,37 +1,15 @@
MBBOOT80_MOD := mbboot80
MBBOOT80_SRC := $(PATH_SRC)/$(MBBOOT80_MOD)
MBBOOT80_BIN := $(PATH_BIN)/$(MBBOOT80_MOD)
$(MBBOOT80_BIN): | $(PATH_BIN)/@prepare
$(call mb_mkdir,$(MBBOOT80_BIN))
$(MBBOOT80_BIN)/%.rel: $(MBBOOT80_SRC)/%.asm | $(MBBOOT80_BIN)
$(call mb_sdcc_compile_asm,$<,$@)
$(MBBOOT80_BIN)/mbboot80.hex: $(MBBOOT80_BIN)/mbboot80.rel
$(call mb_sdcc_link_asm_bdos,$<,$@)
$(MBBOOT80_BIN)/mbboot80.com: $(MBBOOT80_BIN)/mbboot80.hex
$(call mb_sdcc_hex2bin,$<,$@)
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(MBBOOT80_BIN)/mbboot80.com,"Compiles mbboot80.")
$(MBBOOT80_BIN)/@run: | $(MBBOOT80_BIN)/mbboot80.com
$(call mb_msxpipe_run_gui,$(MBBOOT80_BIN))
MB_DOC_FIRE_TARGET += $(call mb_doc_target,$(MBBOOT80_BIN)/@run,"Run the compiled mbboot80.")
.PHONY: $(MBBOOT80_BIN)/@run
#$(eval $(call mb_make_call,mb_flow_sdcc_asm_bdos_mono,$(PATH_BIN)/@prepare,$(MBBOOT80_BIN),$(MBBOOT80_SRC),$(MBBOOT80_MOD)))
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_BIN)/@assert: | $(MBBOOT80_BIN)/$(MBBOOT80_MOD).com
$(call mb_delete,$(MBBOOT80_BIN)/$(MBBOOT80_MOD).out)
$(call mb_msxpipe_safe_test,$(MBBOOT80_BIN),$(MBBOOT80_MOD) > $(MBBOOT80_MOD).out)
grep "mb::boot mode 80" $(MBBOOT80_BIN)/$(MBBOOT80_MOD).out
MB_DOC_FIRE_TARGET += $(call mb_make_call,mb_doc_target,$(MBBOOT80_BIN)/@assert,"Assert binaries from mbboot80.")
.PHONY: $(MBBOOT80_BIN)/@assert
$(MBBOOT80_BIN)/@release-local: | $(MBBOOT80_BIN)/@assert
$(call mb_make_call_eval,mb_tool_sdcc_flow_bdos_mono,$(MBBOOT80_BIN),$(MBBOOT80_SRC),mbboot80)
$(call mb_make_call_eval,mb_assert_flow_bdos_grep,$(MBBOOT80_BIN),check-boot80,mbboot80,"mb::boot mode 80")
$(MBBOOT80_BIN)/@release-local: | $(MBBOOT80_BIN)/@build
$(call mb_copy,$(MBBOOT80_BIN)/mbboot80.com,lib/emuctl/mbboot80.com)
MB_DOC_HELP_TARGET += $(call mb_make_call,mb_doc_target,$(MBBOOT80_BIN)/@release-local,"Updates binary copy in lib/emuctl folder.")
.PHONY: $(MBBOOT80_BIN)/@release-local