msxbuild/lib/make/天房系統擴展/mb_msxpipe.mk

66 lines
3.7 KiB
Makefile
Raw Normal View History

MB_MSXPIPE_COLOR_FG_SAFE_CMD ?= 026
$(call mb-make-call,mb-doc-variable,MB_MSXPIPE_COLOR_FG_SAFE_CMD,"Foreground color of safe command session pipe.")
MB_MSXPIPE_COLOR_BG_SAFE_CMD ?= 000
$(call mb-make-call,mb-doc-variable,MB_MSXPIPE_COLOR_BG_SAFE_CMD,"Background color of safe command session pipe.")
MB_MSXPIPE_COLOR_FG_SAFE_ASSERT ?= 421
$(call mb-make-call,mb-doc-variable,MB_MSXPIPE_COLOR_FG_SAFE_ASSERT,"Foreground color of safe assert session pipe.")
MB_MSXPIPE_COLOR_BG_SAFE_ASSERT ?= 000
$(call mb-make-call,mb-doc-variable,MB_MSXPIPE_COLOR_BG_SAFE_ASSERT,"Background color of safe assert session pipe.")
MB_MSXPIPE_COLOR_FG_RUN_GUI ?= 141
$(call mb-make-call,mb-doc-variable,MB_MSXPIPE_COLOR_FG_RUN_GUI,"Foreground color of run gui session pipe.")
MB_MSXPIPE_COLOR_BG_RUN_GUI ?= 000
$(call mb-make-call,mb-doc-variable,MB_MSXPIPE_COLOR_BG_RUN_GUI,"Background color of run gui session pipe.")
define mb-msxpipe-safe-cmd
$(MB_   )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
$(MB_   )$(call mb-make-call,mb-autoexec-write-default,$(1),$(if $(4),$(4),$(MB_MSXPIPE_COLOR_FG_SAFE_CMD)),$(if $(5),$(5),$(MB_MSXPIPE_COLOR_BG_SAFE_CMD)))
$(MB_   )$(call mb-make-call,mb-autoexec-append-safe-cmd,$(1),$(2))
$(MB_   )$(call mb-make-call,mb-autoexec-append-exit,$(1))
$(MB_   )$(call mb-make-call,mb-openmsx-dosctl,$(1),$(3))
endef
$(call mb-make-call,mb-doc-function,mb-msxpipe-safe-cmd,"Runs openMSX and safely executes one command.","<dir> <cmd> [machine] [fg-color] [bg-color]")
define mb-msxpipe-safe-assert
$(MB_   )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
$(MB_   )$(call mb-make-call,mb-autoexec-write-default,$(1),$(if $(4),$(4),$(MB_MSXPIPE_COLOR_FG_SAFE_ASSERT)),$(if $(5),$(5),$(MB_MSXPIPE_COLOR_BG_SAFE_ASSERT)))
$(MB_   )$(call mb-make-call,mb-autoexec-append-safe-assert,$(1),$(2))
$(MB_   )$(call mb-make-call,mb-autoexec-append-exit,$(1))
$(MB_   )$(call mb-make-call,mb-openmsx-dosctl,$(1),$(3))
endef
$(call mb-make-call,mb-doc-function,mb-msxpipe-safe-assert,"Runs openMSX and safely executes one assert.","<dir> <cmd> [machine] [fg-color] [bg-color]")
define _mb-msxpipe-run-gui
$(MB_   )$(call mb-make-call,mb-autoexec-write-default,$(1),$(MB_MSXPIPE_COLOR_FG_RUN_GUI),$(MB_MSXPIPE_COLOR_BG_RUN_GUI))
$(MB_   )$(if $(filter mouse,$(4)),$(call mb-make-call,mb-autoexec-append-plug-porta,$(1),$(4)))
$(MB_   )$(call mb-make-call,mb-autoexec-append-stop-fail,$(1))
$(MB_   )$(call mb-make-call,mb-autoexec-append-show-gui,$(1))
$(MB_   )$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::help Run shutdown to exit)
$(MB_   )$(if $(2),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::auto command $(2)))
$(MB_   )$(if $(2),$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)))
$(MB_   )$(call mb-make-call,mb-openmsx-dosctl,$(1),$(3))
endef
define mb-msxpipe-run-gui
$(MB_   )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
$(MB_   )$(call mb-make-call,_mb-msxpipe-run-gui,$(1),$(2),$(3))
endef
$(call mb-make-call,mb-doc-function,mb-msxpipe-run-gui,"Runs openMSX forever with renderer and optionals.","<dir> [cmd] [machine]")
define mb-msxpipe-run-gui-mouse
$(MB_   )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
$(MB_   )$(call mb-make-call,_mb-msxpipe-run-gui,$(1),$(2),$(3),mouse)
endef
$(call mb-make-call,mb-doc-function,mb-msxpipe-run-gui-mouse,"Runs openMSX forever with renderer and mouse and optionals.","<dir> [cmd] [machine]")