Rev 5201 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
231 | mikedld | 1 | @echo off |
1093 | Lrz | 2 | cls |
3555 | Serge | 3 | set languages=en ru ge et sp |
5201 | serge | 4 | set targets=kernel clean |
231 | mikedld | 5 | |
232 | victor | 6 | call :Check_Target %1 |
5201 | serge | 7 | for %%a in (kernel) do if %%a==%target% call :Check_Lang %2 |
232 | victor | 8 | call :Target_%target% |
231 | mikedld | 9 | |
232 | victor | 10 | if ERRORLEVEL 0 goto Exit_OK |
231 | mikedld | 11 | |
467 | mikedld | 12 | echo There was an error executing script. |
13 | echo For any help, please send a report. |
||
232 | victor | 14 | pause |
15 | goto :eof |
||
231 | mikedld | 16 | |
17 | |||
18 | |||
232 | victor | 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 | |||
467 | mikedld | 26 | echo Language '%res%' is incorrect |
27 | echo Enter valid language [ %languages% ]: |
||
232 | victor | 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 | |||
467 | mikedld | 39 | echo Target '%res%' is incorrect |
40 | echo Enter valid target [ %targets% ]: |
||
232 | victor | 41 | |
42 | set /P res="> |
||
43 | goto Check_Target_loop |
||
44 | goto :eof |
||
45 | |||
46 | |||
47 | :Target_kernel |
||
467 | mikedld | 48 | echo *** building kernel with language '%lang%' ... |
232 | victor | 49 | |
50 | if not exist bin mkdir bin |
||
51 | echo lang fix %lang% > lang.inc |
||
373 | mikedld | 52 | fasm -m 65536 kernel.asm bin\kernel.mnt |
232 | victor | 53 | if not %errorlevel%==0 goto :Error_FasmFailed |
54 | goto :eof |
||
55 | |||
56 | |||
231 | mikedld | 57 | :Target_clean |
467 | mikedld | 58 | echo *** cleaning ... |
489 | victor | 59 | rmdir /S /Q bin |
231 | mikedld | 60 | goto :Exit_OK |
61 | |||
62 | |||
63 | :Error_FasmFailed |
||
64 | echo error: fasm execution failed |
||
1093 | Lrz | 65 | echo. |
232 | victor | 66 | pause |
231 | mikedld | 67 | exit 1 |
68 | |||
69 | :Exit_OK |
||
1093 | Lrz | 70 | echo. |
1095 | diamond | 71 | echo all operations have been done |
232 | victor | 72 | pause |
467 | mikedld | 73 | exit 0 |