2,43 → 2,71 |
|
set languages=en ru ge |
set drivers=unisound sis infinity ati2d |
set targets=all kernel drivers skins clean |
|
set opt_ok=0 |
for %%a in (%languages%) do if %%a==%1 set opt_ok=1 |
if %opt_ok%==0 goto :Check_Targets |
call :Check_Target %1 |
for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2 |
call :Target_%target% |
|
echo building kernel with language %1 ... |
if ERRORLEVEL 0 goto Exit_OK |
|
echo Probably at runing has been created error |
echo For help send a report... |
pause |
goto :eof |
|
|
|
|
:Check_Lang |
set res=%1 |
:Check_Lang_loop |
for %%a in (%languages%) do if %%a==%res% set lang=%res% |
if defined lang goto :eof |
|
echo Language "%res%" is not founded |
echo Enter valide languege |
echo [%languages%] |
|
set /P res="> |
goto Check_Lang_loop |
goto :eof |
|
:Check_Target |
set res=%1 |
:Check_Target_loop |
for %%a in (%targets%) do if %%a==%res% set target=%res% |
if defined target goto :eof |
|
echo Target "%res%" is not valide |
echo Enter valide target |
echo [%targets%] |
|
set /P res="> |
goto Check_Target_loop |
goto :eof |
|
|
:Target_kernel |
echo building kernel with language %lang% ... |
|
if not exist bin mkdir bin |
echo lang fix %1 > lang.inc |
echo lang fix %lang% > lang.inc |
fasm kernel.asm bin\kernel.mnt |
if not %errorlevel%==0 goto :Error_FasmFailed |
erase lang.inc |
goto :Exit_OK |
goto :eof |
|
:Check_Targets |
|
for %%a in (all drivers skins clean) do if %%a==%1 set opt_ok=1 |
if %opt_ok%==0 goto :Error_WrongOption |
goto :Target_%1 |
|
:Target_all |
|
echo building all ... |
|
if not exist bin mkdir bin |
for %%a in (%languages%) do ( |
echo lang fix %%a > lang.inc |
fasm kernel.asm bin\kernel_%%a.mnt |
if not %errorlevel%==0 goto :Error_FasmFailed |
) |
erase lang.inc |
call :Target_kernel |
call :Target_drivers |
call :Target_skins |
exit :Exit_OK |
goto :eof |
|
|
:Target_drivers |
|
echo building drivers ... |
|
if not exist bin\drivers mkdir bin\drivers |
48,10 → 76,10 |
if not %errorlevel%==0 goto :Error_FasmFailed |
) |
cd .. |
goto :Exit_OK |
goto :eof |
|
|
:Target_skins |
|
echo building skins ... |
|
if not exist bin\skins mkdir bin\skins |
59,10 → 87,10 |
fasm default.asm ..\bin\skins\default.skn |
if not %errorlevel%==0 goto :Error_FasmFailed |
cd .. |
goto :Exit_OK |
goto :eof |
|
|
:Target_clean |
|
echo cleaning ... |
|
del /Q bin\drivers\*.* |
73,15 → 101,14 |
rmdir bin |
goto :Exit_OK |
|
:Error_WrongOption |
|
echo error: specified option is incorrect - '%1' |
exit 1 |
|
:Error_FasmFailed |
|
echo error: fasm execution failed |
erase lang.inc |
pause |
exit 1 |
|
:Exit_OK |
echo all operations has been done |
pause |
exit 0 |