mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-12-01 13:06:58 +03:00
114 lines
2.1 KiB
Batchfile
114 lines
2.1 KiB
Batchfile
|
@echo off
|
||
|
|
||
|
set languages=en ru ge et
|
||
|
set drivers=sound sis infinity ati2d
|
||
|
set targets=all kernel drivers skins clean
|
||
|
|
||
|
call :Check_Target %1
|
||
|
for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2
|
||
|
call :Target_%target%
|
||
|
|
||
|
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 %lang% > lang.inc
|
||
|
fasm -m 65536 kernel.asm bin\kernel.mnt
|
||
|
if not %errorlevel%==0 goto :Error_FasmFailed
|
||
|
erase lang.inc
|
||
|
goto :eof
|
||
|
|
||
|
|
||
|
:Target_all
|
||
|
echo building all ...
|
||
|
call :Target_kernel
|
||
|
call :Target_drivers
|
||
|
call :Target_skins
|
||
|
goto :eof
|
||
|
|
||
|
|
||
|
:Target_drivers
|
||
|
echo building drivers ...
|
||
|
|
||
|
if not exist bin\drivers mkdir bin\drivers
|
||
|
cd drivers
|
||
|
for %%a in (%drivers%) do (
|
||
|
fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj
|
||
|
if not %errorlevel%==0 goto :Error_FasmFailed
|
||
|
)
|
||
|
cd ..
|
||
|
goto :eof
|
||
|
|
||
|
|
||
|
:Target_skins
|
||
|
echo building skins ...
|
||
|
|
||
|
if not exist bin\skins mkdir bin\skins
|
||
|
cd skin
|
||
|
fasm -m 65536 default.asm ..\bin\skins\default.skn
|
||
|
if not %errorlevel%==0 goto :Error_FasmFailed
|
||
|
cd ..
|
||
|
goto :eof
|
||
|
|
||
|
|
||
|
:Target_clean
|
||
|
echo cleaning ...
|
||
|
|
||
|
del /Q bin\drivers\*.*
|
||
|
del /Q bin\skins\*.*
|
||
|
del /Q bin\*.*
|
||
|
rmdir bin\drivers
|
||
|
rmdir bin\skins
|
||
|
rmdir bin
|
||
|
goto :Exit_OK
|
||
|
|
||
|
|
||
|
:Error_FasmFailed
|
||
|
echo error: fasm execution failed
|
||
|
erase lang.inc
|
||
|
pause
|
||
|
exit 1
|
||
|
|
||
|
:Exit_OK
|
||
|
echo all operations has been done
|
||
|
pause
|
||
|
exit 0
|