msxbuild/lib/make/mb_tool.mk
Willem Cazander 349120b8f5
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -2s
Moved os function to os and finished wrapping all calls.
2024-07-07 16:33:49 +02:00

86 lines
3.1 KiB
Makefile

define mb_tool_m80_flow_bdos_mono
$(1): | @init
$$(call mb_make_call,mb_os_dir_create,$(1))
$$(call mb_make_call,mb_os_dir_create,$(1)/utils)
$$(call mb_make_call,mb_msxhub_get_macro80,$(1)/utils)
$$(call mb_make_call,mb_msxhub_get_z80asmuk,$(1)/utils)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1))
.PHONY: $(1)
$(1)/$(3).mac: $(2)/$(3).mac | $(1)
$$(call mb_make_call,mb_conv_unix2dos,$(2)/$(3).mac,$(1)/$(3).mac)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).mac)
MB_PROJ_PHASE_PROCESS_DEPS += $(1)/$(3).mac
$(1)/$(3).rel: $(1)/$(3).mac
$$(call mb_make_call,mb_msxpipe_safe_cmd,$(1),m80 $$(MB_MAKE_EQUALS)$(3)/Z)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).rel)
MB_PROJ_PHASE_COMPILE_DEPS += $(1)/$(3).rel
$(1)/$(3).hex: $(1)/$(3).rel
$$(call mb_make_call,mb_msxpipe_safe_cmd,$(1),l80 $(3)$$(MB_MAKE_COMMA)$(3)/N/X/Y/E)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).hex)
MB_PROJ_PHASE_LINK_DEPS += $(1)/$(3).hex
$(1)/$(3).com: $(1)/$(3).hex
$$(call mb_make_call,mb_msxpipe_safe_cmd,$(1),hextocom $(3))
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).com)
MB_PROJ_PHASE_BUILD_DEPS += $(1)/$(3).com
$(1)/@build: $(1)/$(3).com
MB_DOC_FIRE_TARGET += $$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
.PHONY: $(1)/@build
$(1)/@run: $(1)/@build
$$(call mb_make_call,mb_msxpipe_run_gui,$(1))
MB_DOC_FIRE_TARGET_RUN += $$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
.PHONY: $(1)/@run
endef
MB_DOC_FIRE_FUNCTION_FLOW += $(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
$(1): | @init
$$(call mb_make_call,mb_os_dir_create,$(1))
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1))
.PHONY: $(1)
$(1)/$(3).rel: $(2)/$(3).asm | $(1)
$$(call mb_make_call,mb_sdcc_compile_asm,$$<,$$@)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).rel)
MB_PROJ_PHASE_COMPILE_DEPS += $(1)/$(3).rel
$(1)/$(3).hex: $(1)/$(3).rel
$$(call mb_make_call,mb_sdcc_link_asm_bdos,$$<,$$@)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).hex)
MB_PROJ_PHASE_LINK_DEPS += $(1)/$(3).hex
$(1)/$(3).com: $(1)/$(3).hex
$$(call mb_make_call,mb_sdcc_hex2bin,$$<,$$@)
MB_DOC_FIRE_TARGET_DEEP += $$(call mb_make_call,mb_doc_target_deep,$(1)/$(3).com)
MB_PROJ_PHASE_BUILD_DEPS += $(1)/$(3).com
$(1)/@build: $(1)/$(3).com
MB_DOC_FIRE_TARGET += $$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
.PHONY: $(1)/@build
$(1)/@run: $(1)/@build
$$(call mb_make_call,mb_msxpipe_run_gui,$(1))
MB_DOC_FIRE_TARGET_RUN += $$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
.PHONY: $(1)/@run
endef
MB_DOC_FIRE_FUNCTION_FLOW += $(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>")