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