msxbuild/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk
Willem Cazander 628da07e75
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 4s
Added TODO for LK80 which prints white space noise.
2024-07-17 23:55:41 +02:00

76 lines
2.9 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>)
# TODO: Create BUG for LK80 it prints one new line, which is illigal white space on normal execution style
define mb-nestor80-link
$(MB_   )$(call mb-make-call,mb-os-echo-command,$(MB_I18N_NESTOR80_LINK) $(2) @ $(3))
$(MB_   )@echo -n "$(MB_I18N_OS_CRAYON_TAG) ";$(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>)