Rev 232 | Rev 352 | 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 |
231 | mikedld | 4 | set drivers=unisound sis infinity ati2d |
232 | victor | 5 | set targets=all kernel drivers skins 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 | |
232 | victor | 13 | echo Probably at runing has been created error |
14 | echo For help send a report... |
||
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 | |||
27 | echo Language "%res%" is not founded |
||
28 | echo Enter valide languege |
||
29 | echo [%languages%] |
||
30 | |||
31 | set /P res="> |
||
32 | goto Check_Lang_loop |
||
33 | goto :eof |
||
34 | |||
35 | :Check_Target |
||
36 | set res=%1 |
||
37 | :Check_Target_loop |
||
38 | for %%a in (%targets%) do if %%a==%res% set target=%res% |
||
39 | if defined target goto :eof |
||
40 | |||
41 | echo Target "%res%" is not valide |
||
42 | echo Enter valide target |
||
43 | echo [%targets%] |
||
44 | |||
45 | set /P res="> |
||
46 | goto Check_Target_loop |
||
47 | goto :eof |
||
48 | |||
49 | |||
50 | :Target_kernel |
||
51 | echo building kernel with language %lang% ... |
||
52 | |||
53 | if not exist bin mkdir bin |
||
54 | echo lang fix %lang% > lang.inc |
||
55 | fasm kernel.asm bin\kernel.mnt |
||
56 | if not %errorlevel%==0 goto :Error_FasmFailed |
||
57 | erase lang.inc |
||
58 | goto :eof |
||
59 | |||
60 | |||
231 | mikedld | 61 | :Target_all |
232 | victor | 62 | echo building all ... |
63 | call :Target_kernel |
||
64 | call :Target_drivers |
||
65 | call :Target_skins |
||
66 | goto :eof |
||
231 | mikedld | 67 | |
68 | |||
69 | :Target_drivers |
||
232 | victor | 70 | echo building drivers ... |
231 | mikedld | 71 | |
232 | victor | 72 | if not exist bin\drivers mkdir bin\drivers |
73 | cd drivers |
||
74 | for %%a in (%drivers%) do ( |
||
75 | fasm %%a.asm ..\bin\drivers\%%a.obj |
||
76 | if not %errorlevel%==0 goto :Error_FasmFailed |
||
77 | ) |
||
78 | cd .. |
||
79 | goto :eof |
||
231 | mikedld | 80 | |
81 | |||
82 | :Target_skins |
||
232 | victor | 83 | echo building skins ... |
231 | mikedld | 84 | |
232 | victor | 85 | if not exist bin\skins mkdir bin\skins |
86 | cd skin |
||
87 | fasm default.asm ..\bin\skins\default.skn |
||
88 | if not %errorlevel%==0 goto :Error_FasmFailed |
||
89 | cd .. |
||
90 | goto :eof |
||
231 | mikedld | 91 | |
92 | |||
93 | :Target_clean |
||
232 | victor | 94 | echo cleaning ... |
231 | mikedld | 95 | |
232 | victor | 96 | del /Q bin\drivers\*.* |
97 | del /Q bin\skins\*.* |
||
98 | del /Q bin\*.* |
||
99 | rmdir bin\drivers |
||
100 | rmdir bin\skins |
||
101 | rmdir bin |
||
231 | mikedld | 102 | goto :Exit_OK |
103 | |||
104 | |||
105 | :Error_FasmFailed |
||
106 | echo error: fasm execution failed |
||
107 | erase lang.inc |
||
232 | victor | 108 | pause |
231 | mikedld | 109 | exit 1 |
110 | |||
111 | :Exit_OK |
||
232 | victor | 112 | echo all operations has been done |
113 | pause |
||
114 | exit 0 |