msxbuild/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk
Willem Cazander 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

76 lines
2.9 KiB
Makefile
Raw Permalink 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 "$(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>)