msxbuild/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk
Willem e9f91f1e96
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 5s
Wrapped Nestor80 output in echo of parallel build synced lines.
2024-07-18 00:03:05 +02:00

75 lines
2.9 KiB
Makefile

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