msxbuild/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_nestor80.mk

76 lines
2.9 KiB
Makefile
Raw Normal View History

2024-07-14 22:12:42 +00:00
MB_NESTOR80_PATH ?=
$(call mb-make-call,mb-doc-variable,MB_NESTOR80_PATH,Optional path where Nestor80 binaries are located.)
2024-07-14 22:12:42 +00:00
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.)
2024-07-14 22:12:42 +00:00
MB_NESTOR80_N80_FLAGS ?=
$(call mb-make-call,mb-doc-variable-deep,MB_NESTOR80_N80_FLAGS,The N80 compile flags.)
2024-07-14 22:12:42 +00:00
MB_NESTOR80_LK80_FLAGS ?=
$(call mb-make-call,mb-doc-variable-deep,MB_NESTOR80_LK80_FLAGS,The LK80 linker flags.)
2024-07-14 22:12:42 +00:00
define _mb-nestor80-path
2024-07-14 22:12:42 +00:00
$(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)
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-compile,Compiles source code.,<in> <out>)
2024-07-14 22:12:42 +00:00
# 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)
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-link,Links to custom code location.,<in> <out> <code-loc>)
2024-07-14 22:12:42 +00:00
define mb-nestor80-link-0000
$(MB_   )$(call mb-make-call,mb-nestor80-link,$(1),$(2),0000h)
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-link-0000,Links to 0x0000.,<in> <out>)
2024-07-14 22:12:42 +00:00
define mb-nestor80-link-0100
$(MB_   )$(call mb-make-call,mb-nestor80-link,$(1),$(2),0100h)
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-link-0100,Links to 0x0100.,<in> <out>)
2024-07-14 22:12:42 +00:00
define mb-nestor80-link-1000
$(MB_   )$(call mb-make-call,mb-nestor80-link,$(1),$(2),1000h)
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-link-1000,Links to 0x1000.,<in> <out>)
2024-07-14 22:12:42 +00:00
define mb-nestor80-link-4000
$(MB_   )$(call mb-make-call,mb-nestor80-link,$(1),$(2),4000h)
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-link-4000,Links to 0x4000.,<in> <out>)
2024-07-14 22:12:42 +00:00
define mb-nestor80-link-8000
$(MB_   )$(call mb-make-call,mb-nestor80-link,$(1),$(2),8000h)
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-link-8000,Links to 0x8000.,<in> <out>)
2024-07-14 22:12:42 +00:00
define mb-nestor80-link-C000
$(MB_   )$(call mb-make-call,mb-nestor80-link,$(1),$(2),C000h)
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-link-C000,Links to 0xC000.,<in> <out>)
2024-07-14 22:12:42 +00:00
define mb-nestor80-link-bdos
$(MB_   )$(call mb-make-call,mb-nestor80-link-0100,$(1),$(2))
2024-07-14 22:12:42 +00:00
endef
$(call mb-make-call,mb-doc-function,mb-nestor80-link-bdos,Links to BDOS.,<in> <out>)
2024-07-14 22:12:42 +00:00