msxbuild/lib/make/mb_tool.mk
Willem Cazander a16516d934
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -6s
WIP Tab removal, new debug mode, clean proj deps + add i18n commands.
2024-07-10 14:05:38 +02:00

91 lines
4.4 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>")