@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 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