MB_AUTOEXEC_SHOW_VERSION ?= off $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_VERSION,Print OS version on boot.) MB_AUTOEXEC_SHOW_PATH ?= on $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_PATH,Print search path on boot.) MB_AUTOEXEC_SHOW_INIT ?= on $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_INIT,Print msxbuild init message on boot.) MB_AUTOEXEC_SHOW_HOST ?= on $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_HOST,Print host machine on boot.) MB_AUTOEXEC_SHOW_USER ?= on $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_USER,Print host user on boot.) MB_AUTOEXEC_SHOW_FOLDER ?= on $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_FOLDER,Print host folder on boot.) MB_AUTOEXEC_SHOW_TARGET ?= on $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SHOW_TARGET,Print host target on boot.) MB_AUTOEXEC_STARTUP_TIMEOUT ?= 60 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_STARTUP_TIMEOUT,Startup failure timeout of autoexec.) MB_AUTOEXEC_STARTUP_EXITCODE ?= 124 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_STARTUP_EXITCODE,Startup failure exit code of autoexec.) MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT ?= 120 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT,Safe assert execution failure timeout.) MB_AUTOEXEC_SAFE_ASSERT_EXITCODE ?= 1 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SAFE_ASSERT_EXITCODE,Safe assert execution failure exit code.) MB_AUTOEXEC_SAFE_CMD_TIMEOUT ?= 300 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SAFE_CMD_TIMEOUT,Safe command execution failure timeout.) MB_AUTOEXEC_SAFE_CMD_EXITCODE ?= 1 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_SAFE_CMD_EXITCODE,Safe command execution failure exit code.) MB_AUTOEXEC_STARTUP_NOTE ?= $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_STARTUP_NOTE,When set this startup note message is shown.) MB_AUTOEXEC_COLOR_FG ?= 141 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_COLOR_FG,Default foreground color if none is given.) MB_AUTOEXEC_COLOR_BG ?= 000 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_COLOR_BG,Default background color if none if given.) MB_AUTOEXEC_EMBED_VARS ?= $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_EMBED_VARS,List of host env variables to copy to msx as 'MSX_x' variables.) MB_AUTOEXEC_EMBED_USER ?= USER $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_EMBED_USER,Embedds this host variable to the msx as 'MB_USER' variable.) MB_AUTOEXEC_TIME_FORMAT ?= 24 $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_TIME_FORMAT,The time format the msx will get set to.) MB_AUTOEXEC_DATE_FORMAT ?= DD/MM/YY $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_DATE_FORMAT,The time format the msx will get set to.) MB_AUTOEXEC_PROMPT_FORMAT ?= %MB_USER%@%_CWD%* $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_PROMPT_FORMAT,The prompt format for command 2.40 and higher.) MB_AUTOEXEC_PROMPT_SPACE ?= on $(call mb-make-call,mb-doc-variable,MB_AUTOEXEC_PROMPT_SPACE,When on adds an white space after the prompt format.) define mb-autoexec-append-cmd $(MB_ᕽᕽᕽ   )echo -e "$(2)\r" >> $(1)/autoexec.bat endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-cmd,Appends an command., ) define mb-autoexec-append-echo $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),echo $(subst >,>,$(2))) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-echo,Appends an echo message., ) define mb-autoexec-append-rem $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),rem $(2)) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-rem,Appends an script remark., ) define mb-autoexec-append-show-gui $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl headless_show_gui) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-show-gui,Appends headless show gui command.,) define mb-autoexec-append-stop-fail $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl fail_after 0) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-stop-fail,Appends stop automatic failure command.,) define mb-autoexec-append-exit $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_FLIGHT_SCREEN)),$(call mb-make-call,mb-autoexec-append-save-screenshot,$(1))) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl headless_exit) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-exit,Appends exit emulation command.,) define mb-autoexec-append-plug-porta $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl boot_exec_plug_porta $(2)) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-plug-porta,Appends an plug device into joyporta action., ) define mb-autoexec-append-plug-portb $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl boot_exec_plug_portb $(2)) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-plug-portb,Appends an plug device into joyportb action., ) define mb-autoexec-append-save-screenshot $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl night_flight_save_screenshot $(2)) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-save-screenshot,Appends save screenshot command., [prefix]) define mb-autoexec-append-save-video $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl night_flight_save_video $(2)) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-save-video,Appends save video command., [prefix]) define mb-autoexec-append-safe-assert $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_SAFE_ASSERT_TIMEOUT)) seconds err_test $(if $(4),$(4),$(MB_AUTOEXEC_SAFE_ASSERT_EXITCODE))) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::safe assert $(2)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-safe-assert,Appends running a safe assert., [timeout] [exit-code]) define mb-autoexec-append-safe-cmd $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl fail_after $(if $(3),$(3),$(MB_AUTOEXEC_SAFE_CMD_TIMEOUT)) seconds err_cmd $(if $(4),$(4),$(MB_AUTOEXEC_SAFE_CMD_EXITCODE))) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::safe command $(2)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)) endef $(call mb-make-call,mb-doc-function,mb-autoexec-append-safe-cmd,Appends running a safe command., [timeout] [exit-code]) define _mb-autoexec-write-preboot $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)mbboot80) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)omsxctl boot_exec_setcolor $(if $(3),$(3),$(MB_AUTOEXEC_COLOR_FG)) $(if $(4),$(4),$(MB_AUTOEXEC_COLOR_BG))) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)omsxctl fail_after $(MB_AUTOEXEC_STARTUP_TIMEOUT) seconds err_exec $(MB_AUTOEXEC_STARTUP_EXITCODE)) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_SHOW_INIT)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),$(2)omsxctl boot_exec_show_init)) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_SHOW_VERSION)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),ver)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),PATH + %@DRIVE%\;) $(MB_ᕽᕽᕽ   )$(if $(wildcard $(1)/utils),$(call mb-make-call,mb-autoexec-append-cmd,$(1),PATH + %@DRIVE%\UTILS)) endef define mb-autoexec-write-default $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-os-echo-remark,$(MB_I18N_AUTOEXEC_WRITE) $(1)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-os-file-empty,$(1)/autoexec.bat) $(MB_ᕽᕽᕽ   )$(if $(wildcard $(1)/utils),$(call mb-make-call,_mb-autoexec-write-preboot,$(1),utils\,$(2),$(3)),$(call mb-make-call,_mb-autoexec-write-preboot,$(1),,$(2),$(3))) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_SHOW_HOST)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),omsxctl boot_exec_show_host)) $(MB_ᕽᕽᕽ   )$(if $(MB_AUTOEXEC_STARTUP_NOTE),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::note $(MB_AUTOEXEC_STARTUP_NOTE))) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_FLIGHT_VIDEO)),$(call mb-make-call,mb-autoexec-append-save-video,$(1))) $(MB_ᕽᕽᕽ   )echo -n -e "$(subst $(call mb-make-call,mb-make-space-white)set,set,$(foreach var,$(MB_AUTOEXEC_EMBED_VARS),set MSX_$(var)$(MB_MAKE_EQUALS)$($(var))\r\n))" >> $(1)/autoexec.bat $(MB_ᕽᕽᕽ   )echo -n -e "$(subst $(call mb-make-call,mb-make-space-white)set,set,$(foreach var,$(MB_AUTOEXEC_EMBED_VARS),echo MSX_$(var)$(MB_MAKE_EQUALS)%MSX_$(var)%\r\n))" >> $(1)/autoexec.bat $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set TIME$(MB_MAKE_EQUALS)$(MB_AUTOEXEC_TIME_FORMAT)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set DATE$(MB_MAKE_EQUALS)$(MB_AUTOEXEC_DATE_FORMAT)) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_SHOW_PATH)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),echo mb::path %PATH%)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set MB_SNAIL$(MB_MAKE_EQUALS)$(notdir $@)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set MB_USER$(MB_MAKE_EQUALS)$($(MB_AUTOEXEC_EMBED_USER))) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_SHOW_USER)),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::user %MB_USER%)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set MB_SLIME$(MB_MAKE_EQUALS)$(1)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-autoexec-append-cmd,$(1),set MB_TARGET$(MB_MAKE_EQUALS)$@) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_SHOW_FOLDER)),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::bath %MB_SLIME%)) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_SHOW_TARGET)),$(call mb-make-call,mb-autoexec-append-echo,$(1),mb::pipe %MB_TARGET%)) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_PROMPT_SPACE)),$(call mb-make-call,mb-autoexec-append-cmd,$(1),set PROMPT \"$(value MB_AUTOEXEC_PROMPT_FORMAT)$(call mb-make-call,mb-make-space-white)\")) $(MB_ᕽᕽᕽ   )$(if $(filter on,$(MB_AUTOEXEC_PROMPT_SPACE)),,$(call mb-make-call,mb-autoexec-append-cmd,$(1),,set PROMPT \"$(value MB_AUTOEXEC_PROMPT_FORMAT)\")) endef $(call mb-make-call,mb-doc-function,mb-autoexec-write-default,Write a default autoexec.bat file., [fg-color] [bg-color])