Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 346 → Rev 347

/kernel/tags/kolibri0.6.5.0/build.bat
0,0 → 1,114
@echo off
 
set languages=en ru ge et
set drivers=unisound 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 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 %%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 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