msxbuild/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk
Willem Cazander be64071e88
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 18s
Added nestor80 example.
2024-07-15 00:12:42 +02:00

75 lines
2.8 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.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

MB_NESTOR80_PATH ?=
$(call mb_make_call,mb_doc_variable,MB_NESTOR80_PATH,"Optional path where Nestor80 binaries are located.")
MB_NESTOR80_FLAG_VERBOSE ?=--no-show-banner --no-color-output --verbosity 0
$(call mb_make_call,mb_doc_variable_deep,MB_NESTOR80_FLAG_VERBOSE,"The Nestor80 shared verbose flags.")
MB_NESTOR80_N80_FLAGS ?=
$(call mb_make_call,mb_doc_variable_deep,MB_NESTOR80_N80_FLAGS,"The N80 compile flags.")
MB_NESTOR80_LK80_FLAGS ?=
$(call mb_make_call,mb_doc_variable_deep,MB_NESTOR80_LK80_FLAGS,"The LK80 linker flags.")
define _mb_nestor80_path
$(MB_   )$(if $(MB_NESTOR80_PATH),$(MB_NESTOR80_PATH)/$(1),$(1))
endef
define mb_nestor80_compile
$(MB_   )$(call mb_make_call,mb_os_echo_command,$(MB_I18N_NESTOR80_COMPILE) $(2))
$(MB_   )$(call mb_make_call,_mb_nestor80_path,N80) $(1) $(2) $(MB_NESTOR80_N80_FLAGS) $(MB_NESTOR80_FLAG_VERBOSE)
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_compile,"Compiles source code.","<in> <out>")
define mb_nestor80_link
$(MB_   )$(call mb_make_call,mb_os_echo_command,$(MB_I18N_NESTOR80_LINK) $(2) @ $(3))
$(MB_   )$(call mb_make_call,_mb_nestor80_path,LK80) $(MB_NESTOR80_LK80_FLAGS) $(MB_NESTOR80_FLAG_VERBOSE) --code $(3) --output-format bin -o $(2) $(1)
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_link,"Links to custom code location.","<in> <out> <code-loc>")
define mb_nestor80_link_0000
$(MB_   )$(call mb_make_call,mb_nestor80_link,$(1),$(2),0000h)
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_link_0000,"Links to 0x0000.","<in> <out>")
define mb_nestor80_link_0100
$(MB_   )$(call mb_make_call,mb_nestor80_link,$(1),$(2),0100h)
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_link_0100,"Links to 0x0100.","<in> <out>")
define mb_nestor80_link_1000
$(MB_   )$(call mb_make_call,mb_nestor80_link,$(1),$(2),1000h)
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_link_1000,"Links to 0x1000.","<in> <out>")
define mb_nestor80_link_4000
$(MB_   )$(call mb_make_call,mb_nestor80_link,$(1),$(2),4000h)
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_link_4000,"Links to 0x4000.","<in> <out>")
define mb_nestor80_link_8000
$(MB_   )$(call mb_make_call,mb_nestor80_link,$(1),$(2),8000h)
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_link_8000,"Links to 0x8000.","<in> <out>")
define mb_nestor80_link_C000
$(MB_   )$(call mb_make_call,mb_nestor80_link,$(1),$(2),C000h)
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_link_C000,"Links to 0xC000.","<in> <out>")
define mb_nestor80_link_bdos
$(MB_   )$(call mb_make_call,mb_nestor80_link_0100,$(1),$(2))
endef
$(call mb_make_call,mb_doc_function,mb_nestor80_link_bdos,"Links to BDOS.","<in> <out>")