2020-12-23 17:14:13 +00:00
2024-07-05 18:43:18 +00:00
MB_AUTOEXEC_SHOW_VERSION ?= off
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_VERSION,"Print OS version on boot." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_SHOW_PATH ?= on
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_PATH,"Print search path on boot." )
2024-07-02 02:11:13 +00:00
2024-07-02 20:56:17 +00:00
MB_AUTOEXEC_SHOW_INIT ?= on
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_INIT,"Print msxbuild init message on boot." )
2024-07-02 13:34:26 +00:00
2024-07-02 20:56:17 +00:00
MB_AUTOEXEC_SHOW_HOST ?= on
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_HOST,"Print host machine on boot." )
2024-07-02 20:56:17 +00:00
MB_AUTOEXEC_SHOW_USER ?= on
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_USER,"Print host user on boot." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_SHOW_FOLDER ?= on
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_FOLDER,"Print host folder on boot." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_SHOW_TARGET ?= on
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SHOW_TARGET,"Print host target on boot." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_STARTUP_TIMEOUT ?= 60
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_STARTUP_TIMEOUT,"Startup failure timeout of autoexec." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_STARTUP_EXITCODE ?= 124
2024-07-05 18:43:18 +00:00
MB_DOC_MAKE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_STARTUP_EXITCODE,"Startup failure exit code of autoexec." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_SAFE_TEST_TIMEOUT ?= 120
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_TEST_TIMEOUT,"Safe test execution failure timeout." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_SAFE_TEST_EXITCODE ?= 1
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_TEST_EXITCODE,"Safe test execution failure exit code." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_SAFE_CMD_TIMEOUT ?= 300
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_CMD_TIMEOUT,"Safe command execution failure timeout." )
2024-07-02 02:11:13 +00:00
MB_AUTOEXEC_SAFE_CMD_EXITCODE ?= 1
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_SAFE_CMD_EXITCODE,"Safe command execution failure exit code." )
2020-12-23 17:14:13 +00:00
2024-07-02 20:56:17 +00:00
MB_AUTOEXEC_STARTUP_NOTE ?=
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_STARTUP_NOTE,"When set this startup note message is shown." )
2024-07-02 20:56:17 +00:00
MB_AUTOEXEC_COLOR_FG ?= 151
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_COLOR_FG,"Default foreground color if none is given." )
2024-07-02 20:56:17 +00:00
MB_AUTOEXEC_COLOR_BG ?= 000
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_COLOR_BG,"Default background color if none if given." )
2024-07-02 20:56:17 +00:00
2024-07-03 11:30:35 +00:00
MB_AUTOEXEC_EMBED_VARS ?=
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_EMBED_VARS,"List of host env variables to copy to msx as 'MSX_x' variables." )
2024-07-03 11:30:35 +00:00
MB_AUTOEXEC_EMBED_USER ?= USER
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_EMBED_USER,"Embedds this host variable to the msx as 'MB_USER' variable." )
2024-07-03 09:52:43 +00:00
MB_AUTOEXEC_TIME_FORMAT ?= 24
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_TIME_FORMAT,"The time format the msx will get set to." )
2024-07-03 09:52:43 +00:00
MB_AUTOEXEC_DATE_FORMAT ?= DD/MM/YY
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_DATE_FORMAT,"The time format the msx will get set to." )
2024-07-03 09:52:43 +00:00
2024-07-05 18:43:18 +00:00
MB_AUTOEXEC_PROMPT_FORMAT ?= %MB_USER%@%_CWD%*
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_PROMPT_FORMAT,"The prompt format for command 2.40 and higher." )
2024-07-03 09:52:43 +00:00
MB_AUTOEXEC_PROMPT_SPACE ?= on
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_VARIABLE += $( call mb_make_call,mb_doc_variable,MB_AUTOEXEC_PROMPT_SPACE,"When on adds an white space after the prompt format." )
2024-07-03 09:52:43 +00:00
2024-07-02 13:34:26 +00:00
2020-12-23 17:14:13 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ c m d
echo " $( 2) \r " >> $( 1) /autoexec.bat
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_cmd,"Appends an command." ,"<dir> <command>" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2020-12-23 17:14:13 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ e c h o
2024-06-29 01:08:21 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,echo $( subst >,& gt; ,$( 2) ) )
2020-12-23 17:14:13 +00:00
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_echo,"Appends an echo message." ,"<dir> <message>" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2020-12-23 17:14:13 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ r e m
$( call mb_autoexec_append_cmd,$( 1) ,rem $( 2) )
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_rem,"Appends an script remark." ,"<dir> <remark>" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2024-06-29 13:47:52 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ s h o w _ g u i
2024-06-30 11:52:33 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,omsxctl headless_show_gui)
2020-12-23 17:14:13 +00:00
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_show_gui,"Appends headless show gui command." ,"<dir>" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2020-12-23 17:14:13 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ s t o p _ f a i l
$( call mb_autoexec_append_cmd,$( 1) ,omsxctl fail_after 0)
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_stop_fail,"Appends stop automatic failure command." ,"<dir>" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2020-12-23 17:14:13 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ e x i t
2024-06-29 13:47:52 +00:00
$( if $( filter on,$( MB_FLIGHT_SCREEN) ) ,$( call mb_autoexec_append_save_screenshot,$( 1) ) )
2024-06-30 11:56:18 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,omsxctl headless_exit)
2020-12-23 17:14:13 +00:00
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_exit,"Appends exit emulation command." ,"<dir>" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2024-07-02 22:38:25 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ p l u g _ p o r t a
$( call mb_autoexec_append_cmd,$( 1) ,omsxctl boot_exec_plug_porta $( 2) )
2024-06-29 02:46:30 +00:00
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_plug_porta,"Appends an plug device into joyporta action." ,"<dir> <plug-dev>" )
2024-07-02 22:38:25 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ p l u g _ p o r t b
$( call mb_autoexec_append_cmd,$( 1) ,omsxctl boot_exec_plug_portb $( 2) )
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_plug_portb,"Appends an plug device into joyportb action." ,"<dir> <plug-dev>" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2024-06-29 13:47:52 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ s a v e _ s c r e e n s h o t
2024-06-30 11:52:33 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,omsxctl night_flight_save_screenshot $( 2) )
2024-06-29 13:47:52 +00:00
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_save_screenshot,"Appends save screenshot command." ,"<dir> [prefix]" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2024-06-29 13:47:52 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ s a v e _ v i d e o
2024-06-30 11:52:33 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,omsxctl night_flight_save_video $( 2) )
2024-06-29 13:47:52 +00:00
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_save_video,"Appends save video command." ,"<dir> [prefix]" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2024-06-27 14:58:21 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ s a f e _ t e s t
2024-07-02 19:04:16 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,omsxctl fail_after $( if $( 3) ,$( 3) ,$( MB_AUTOEXEC_SAFE_TEST_TIMEOUT) ) seconds err_test $( if $( 4) ,$( 4) ,$( MB_AUTOEXEC_SAFE_TEST_EXITCODE) ) )
2024-07-02 13:34:26 +00:00
$( call mb_autoexec_append_echo,$( 1) ,mb::safe test $( 2) )
2024-06-26 00:26:48 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,$( 2) )
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_safe_test,"Appends running a safe test." ,"<dir> <cmd> [timeout] [exit-code]" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2024-06-27 14:58:21 +00:00
d e f i n e m b _ a u t o e x e c _ a p p e n d _ s a f e _ c m d
2024-07-02 19:04:16 +00:00
$( 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) ) )
2024-07-02 13:34:26 +00:00
$( call mb_autoexec_append_echo,$( 1) ,mb::safe command $( 2) )
2024-06-27 14:58:21 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,$( 2) )
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_append_safe_cmd,"Appends running a safe command." ,"<dir> <cmd> [timeout] [exit-code]" )
2024-07-02 01:27:14 +00:00
2024-07-02 21:18:20 +00:00
2024-07-02 13:34:26 +00:00
d e f i n e _ m b _ a u t o e x e c _ w r i t e _ p r e b o o t
$( call mb_autoexec_append_cmd,$( 1) ,$( 2) mbboot80)
2024-07-02 20:56:17 +00:00
$( 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) ) )
2024-07-02 19:04:16 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,$( 2) omsxctl fail_after $( MB_AUTOEXEC_STARTUP_TIMEOUT) seconds err_exec $( MB_AUTOEXEC_STARTUP_EXITCODE) )
2024-07-02 20:56:17 +00:00
$( if $( filter on,$( MB_AUTOEXEC_SHOW_INIT) ) ,$( call mb_autoexec_append_cmd,$( 1) ,$( 2) omsxctl boot_exec_show_init) )
$( if $( filter on,$( MB_AUTOEXEC_SHOW_VERSION) ) ,$( call mb_autoexec_append_cmd,$( 1) ,ver) )
2024-07-03 09:52:43 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,PATH + A:\; )
2024-07-02 20:56:17 +00:00
$( if $( wildcard $( 1) /utils) ,$( call mb_autoexec_append_cmd,$( 1) ,PATH + A:\U TILS) )
2024-07-02 13:34:26 +00:00
e n d e f
2024-07-02 21:18:20 +00:00
2020-12-23 17:14:13 +00:00
d e f i n e m b _ a u t o e x e c _ w r i t e _ d e f a u l t
2024-07-05 18:43:18 +00:00
$( call mb_make_call,mb_make_echo_good,Write autoexec for $@ )
2024-06-27 17:09:38 +00:00
@echo -n "" > $( 1) /autoexec.bat
2024-07-02 20:56:17 +00:00
$( if $( wildcard $( 1) /utils) ,$( call _mb_autoexec_write_preboot,$( 1) ,utils\, $( 2) ,$( 3) ) ,$( call _mb_autoexec_write_preboot,$( 1) ,,$( 2) ,$( 3) ) )
$( if $( MB_AUTOEXEC_STARTUP_NOTE) ,$( call mb_autoexec_append_echo,$( 1) ,mb::note $( MB_AUTOEXEC_STARTUP_NOTE) ) )
$( if $( filter on,$( MB_FLIGHT_VIDEO) ) ,$( call mb_autoexec_append_save_video,$( 1) ) )
$( if $( filter on,$( MB_AUTOEXEC_SHOW_HOST) ) ,$( call mb_autoexec_append_cmd,$( 1) ,omsxctl boot_exec_show_host) )
2024-07-05 19:05:55 +00:00
echo -n " $( subst $( MB_MAKE_SPACE) set,set,$( foreach var,$( MB_AUTOEXEC_EMBED_VARS) ,set MSX_$( var) = $( $( var) ) \r \n ) ) " >> $( 1) /autoexec.bat
2024-07-03 09:52:43 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,set TIME = $( MB_AUTOEXEC_TIME_FORMAT) )
$( call mb_autoexec_append_cmd,$( 1) ,set DATE = $( MB_AUTOEXEC_DATE_FORMAT) )
2024-07-02 20:56:17 +00:00
$( if $( filter on,$( MB_AUTOEXEC_SHOW_PATH) ) ,$( call mb_autoexec_append_cmd,$( 1) ,echo mb::path %PATH%) )
2024-07-05 18:43:18 +00:00
$( call mb_autoexec_append_cmd,$( 1) ,set MB_SNAIL = $( notdir $@ ) )
$( call mb_autoexec_append_cmd,$( 1) ,set MB_USER = $( $( MB_AUTOEXEC_EMBED_USER) ) )
$( if $( filter on,$( MB_AUTOEXEC_SHOW_USER) ) ,$( call mb_autoexec_append_echo,$( 1) ,mb::user %MB_USER%) )
$( call mb_autoexec_append_cmd,$( 1) ,set MB_SLIME = $( 1) )
$( call mb_autoexec_append_cmd,$( 1) ,set MB_TARGET = $@ )
$( if $( filter on,$( MB_AUTOEXEC_SHOW_FOLDER) ) ,$( call mb_autoexec_append_echo,$( 1) ,mb::bath %MB_SLIME%) )
$( if $( filter on,$( MB_AUTOEXEC_SHOW_TARGET) ) ,$( call mb_autoexec_append_echo,$( 1) ,mb::pipe %MB_TARGET%) )
2024-07-05 19:05:55 +00:00
$( if $( filter on,$( MB_AUTOEXEC_PROMPT_SPACE) ) ,$( call mb_autoexec_append_cmd,$( 1) ,set PROMPT \" $( value MB_AUTOEXEC_PROMPT_FORMAT) $( MB_MAKE_SPACE) \" ) )
2024-07-05 18:43:18 +00:00
$( if $( filter on,$( MB_AUTOEXEC_PROMPT_SPACE) ) ,,$( call mb_autoexec_append_cmd,$( 1) ,,set PROMPT \" $( value MB_AUTOEXEC_PROMPT_FORMAT) \" ) )
2020-12-23 17:14:13 +00:00
e n d e f
2024-07-05 18:43:18 +00:00
MB_DOC_FIRE_FUNCTION += $( call mb_make_call,mb_doc_function,mb_autoexec_write_default,"Write a default autoexec.bat file." ,"<dir> [fg-color] [bg-color]" )
2020-12-23 17:14:13 +00:00