Rev 7475 | Rev 7607 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7475 | Rev 7477 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | @echo off |
|
- | 2 | cls |
|
- | 3 | set languages=en ru ge et sp |
|
- | 4 | set targets=kernel clean |
|
- | 5 | ||
- | 6 | call :Check_Target %1 |
|
- | 7 | for %%a in (kernel) do if %%a==%target% call :Check_Lang %2 |
|
- | 8 | call :Target_%target% |
|
- | 9 | ||
- | 10 | if ERRORLEVEL 0 goto Exit_OK |
|
- | 11 | ||
- | 12 | echo There was an error executing script. |
|
- | 13 | echo For any help, please send a report. |
|
- | 14 | pause |
|
- | 15 | goto :eof |
|
- | 16 | ||
- | 17 | ||
- | 18 | ||
- | 19 | ||
- | 20 | :Check_Lang |
|
- | 21 | set res=%1 |
|
- | 22 | :Check_Lang_loop |
|
- | 23 | for %%a in (%languages%) do if %%a==%res% set lang=%res% |
|
- | 24 | if defined lang goto :eof |
|
- | 25 | ||
- | 26 | echo Language '%res%' is incorrect |
|
- | 27 | echo Enter valid language [ %languages% ]: |
|
- | 28 | ||
- | 29 | set /P res="> |
|
- | 30 | goto Check_Lang_loop |
|
- | 31 | goto :eof |
|
- | 32 | ||
- | 33 | :Check_Target |
|
- | 34 | set res=%1 |
|
- | 35 | :Check_Target_loop |
|
- | 36 | for %%a in (%targets%) do if %%a==%res% set target=%res% |
|
- | 37 | if defined target goto :eof |
|
- | 38 | ||
- | 39 | echo Target '%res%' is incorrect |
|
- | 40 | echo Enter valid target [ %targets% ]: |
|
- | 41 | ||
- | 42 | set /P res="> |
|
- | 43 | goto Check_Target_loop |
|
- | 44 | goto :eof |
|
- | 45 | ||
- | 46 | ||
- | 47 | :Target_kernel |
|
- | 48 | echo *** building kernel with language '%lang%' ... |
|
- | 49 | ||
- | 50 | if not exist bin mkdir bin |
|
1 | echo lang fix %lang% > lang.inc |
51 | echo lang fix %lang% > lang.inc |
- | 52 | fasm -m 65536 bootbios.asm bootbios.bin |
|
2 | fasm -m 65536 kernel.asm kernel.mnt |
53 | fasm -m 65536 kernel.asm bin\kernel.mnt |
- | 54 | fasm -m 65536 kernel.asm bin\kernel.bin -dUEFI=1 |
|
- | 55 | if not %errorlevel%==0 goto :Error_FasmFailed |
|
- | 56 | erase lang.inc |
|
- | 57 | goto :eof |
|
- | 58 | ||
- | 59 | ||
- | 60 | :Target_clean |
|
- | 61 | echo *** cleaning ... |
|
- | 62 | rmdir /S /Q bin |
|
- | 63 | goto :Exit_OK |
|
- | 64 | ||
- | 65 | ||
- | 66 | :Error_FasmFailed |
|
- | 67 | echo error: fasm execution failed |
|
- | 68 | erase lang.inc >nul 2>&1 |
|
- | 69 | echo. |
|
- | 70 | pause |
|
- | 71 | exit 1 |
|
- | 72 | ||
- | 73 | :Exit_OK |
|
- | 74 | echo. |
|
- | 75 | echo all operations have been done |
|
- | 76 | pause |
|
- | 77 | exit 0 |