Rev 488 | Rev 529 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
231 | mikedld | 1 | @echo off |
2 | |||
271 | kaitz | 3 | set languages=en ru ge et |
479 | kastigar | 4 | set drivers=sound sis infinity ati2d vmode ps2mouse |
488 | spraid | 5 | set targets=all kernel drivers skins lib clean |
231 | mikedld | 6 | |
232 | victor | 7 | call :Check_Target %1 |
8 | for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2 |
||
9 | call :Target_%target% |
||
231 | mikedld | 10 | |
232 | victor | 11 | if ERRORLEVEL 0 goto Exit_OK |
231 | mikedld | 12 | |
467 | mikedld | 13 | echo There was an error executing script. |
14 | echo For any help, please send a report. |
||
232 | victor | 15 | pause |
16 | goto :eof |
||
231 | mikedld | 17 | |
18 | |||
19 | |||
232 | victor | 20 | |
21 | :Check_Lang |
||
22 | set res=%1 |
||
23 | :Check_Lang_loop |
||
24 | for %%a in (%languages%) do if %%a==%res% set lang=%res% |
||
25 | if defined lang goto :eof |
||
26 | |||
467 | mikedld | 27 | echo Language '%res%' is incorrect |
28 | echo Enter valid language [ %languages% ]: |
||
232 | victor | 29 | |
30 | set /P res="> |
||
31 | goto Check_Lang_loop |
||
32 | goto :eof |
||
33 | |||
34 | :Check_Target |
||
35 | set res=%1 |
||
36 | :Check_Target_loop |
||
37 | for %%a in (%targets%) do if %%a==%res% set target=%res% |
||
38 | if defined target goto :eof |
||
39 | |||
467 | mikedld | 40 | echo Target '%res%' is incorrect |
41 | echo Enter valid target [ %targets% ]: |
||
232 | victor | 42 | |
43 | set /P res="> |
||
44 | goto Check_Target_loop |
||
45 | goto :eof |
||
46 | |||
47 | |||
48 | :Target_kernel |
||
467 | mikedld | 49 | echo *** building kernel with language '%lang%' ... |
232 | victor | 50 | |
51 | if not exist bin mkdir bin |
||
52 | echo lang fix %lang% > lang.inc |
||
373 | mikedld | 53 | fasm -m 65536 kernel.asm bin\kernel.mnt |
232 | victor | 54 | if not %errorlevel%==0 goto :Error_FasmFailed |
55 | erase lang.inc |
||
56 | goto :eof |
||
57 | |||
58 | |||
231 | mikedld | 59 | :Target_all |
232 | victor | 60 | call :Target_kernel |
61 | call :Target_drivers |
||
62 | call :Target_skins |
||
488 | spraid | 63 | call :Target_lib |
232 | victor | 64 | goto :eof |
231 | mikedld | 65 | |
66 | |||
67 | :Target_drivers |
||
467 | mikedld | 68 | echo *** building drivers ... |
231 | mikedld | 69 | |
232 | victor | 70 | if not exist bin\drivers mkdir bin\drivers |
71 | cd drivers |
||
72 | for %%a in (%drivers%) do ( |
||
373 | mikedld | 73 | fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj |
232 | victor | 74 | if not %errorlevel%==0 goto :Error_FasmFailed |
75 | ) |
||
76 | cd .. |
||
467 | mikedld | 77 | move bin\drivers\vmode.obj bin\drivers\vmode.mdr |
232 | victor | 78 | goto :eof |
231 | mikedld | 79 | |
80 | |||
81 | :Target_skins |
||
467 | mikedld | 82 | echo *** building skins ... |
231 | mikedld | 83 | |
232 | victor | 84 | if not exist bin\skins mkdir bin\skins |
85 | cd skin |
||
373 | mikedld | 86 | fasm -m 65536 default.asm ..\bin\skins\default.skn |
232 | victor | 87 | if not %errorlevel%==0 goto :Error_FasmFailed |
88 | cd .. |
||
89 | goto :eof |
||
231 | mikedld | 90 | |
488 | spraid | 91 | :Target_lib |
92 | echo *** building libs ... |
||
231 | mikedld | 93 | |
488 | spraid | 94 | if not exist bin\lib mkdir bin\lib |
95 | cd lib |
||
96 | fasm -m 65536 inifiles.asm ..\bin\lib\inifiles.obj |
||
97 | if not %errorlevel%==0 goto :Error_FasmFailed |
||
98 | cd .. |
||
99 | goto :eof |
||
100 | |||
231 | mikedld | 101 | :Target_clean |
467 | mikedld | 102 | echo *** cleaning ... |
489 | victor | 103 | rmdir /S /Q bin |
231 | mikedld | 104 | goto :Exit_OK |
105 | |||
106 | |||
107 | :Error_FasmFailed |
||
108 | echo error: fasm execution failed |
||
109 | erase lang.inc |
||
232 | victor | 110 | pause |
231 | mikedld | 111 | exit 1 |
112 | |||
113 | :Exit_OK |
||
232 | victor | 114 | echo all operations has been done |
115 | pause |
||
467 | mikedld | 116 | exit 0 |