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,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