Rev 7475 | Rev 7607 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7477 | leency | 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 |
||
51 | echo lang fix %lang% > lang.inc |
||
52 | fasm -m 65536 bootbios.asm bootbios.bin |
||
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 |