Rev 2259 | Rev 3232 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2259 | Rev 2268 | ||
---|---|---|---|
1 | @echo off |
1 | @echo off |
2 | cls |
2 | cls |
3 | set languages=en ru ge et |
3 | set languages=en ru ge et |
4 | set drivers=com_mouse emu10k1x ensoniq fm801 infinity sis sound viasound vt823x |
4 | set drivers=com_mouse emu10k1x fm801 infinity sis sound viasound vt823x |
5 | set targets=all kernel drivers skins clean |
5 | set targets=all kernel drivers skins clean |
6 | 6 | ||
7 | call :Check_Target %1 |
7 | call :Check_Target %1 |
8 | for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2 |
8 | for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2 |
9 | call :Target_%target% |
9 | call :Target_%target% |
10 | 10 | ||
11 | if ERRORLEVEL 0 goto Exit_OK |
11 | if ERRORLEVEL 0 goto Exit_OK |
12 | 12 | ||
13 | echo There was an error executing script. |
13 | echo There was an error executing script. |
14 | echo For any help, please send a report. |
14 | echo For any help, please send a report. |
15 | pause |
15 | pause |
16 | goto :eof |
16 | goto :eof |
17 | 17 | ||
18 | 18 | ||
19 | 19 | ||
20 | 20 | ||
21 | :Check_Lang |
21 | :Check_Lang |
22 | set res=%1 |
22 | set res=%1 |
23 | :Check_Lang_loop |
23 | :Check_Lang_loop |
24 | for %%a in (%languages%) do if %%a==%res% set lang=%res% |
24 | for %%a in (%languages%) do if %%a==%res% set lang=%res% |
25 | if defined lang goto :eof |
25 | if defined lang goto :eof |
26 | 26 | ||
27 | echo Language '%res%' is incorrect |
27 | echo Language '%res%' is incorrect |
28 | echo Enter valid language [ %languages% ]: |
28 | echo Enter valid language [ %languages% ]: |
29 | 29 | ||
30 | set /P res="> |
30 | set /P res="> |
31 | goto Check_Lang_loop |
31 | goto Check_Lang_loop |
32 | goto :eof |
32 | goto :eof |
33 | 33 | ||
34 | :Check_Target |
34 | :Check_Target |
35 | set res=%1 |
35 | set res=%1 |
36 | :Check_Target_loop |
36 | :Check_Target_loop |
37 | for %%a in (%targets%) do if %%a==%res% set target=%res% |
37 | for %%a in (%targets%) do if %%a==%res% set target=%res% |
38 | if defined target goto :eof |
38 | if defined target goto :eof |
39 | 39 | ||
40 | echo Target '%res%' is incorrect |
40 | echo Target '%res%' is incorrect |
41 | echo Enter valid target [ %targets% ]: |
41 | echo Enter valid target [ %targets% ]: |
42 | 42 | ||
43 | set /P res="> |
43 | set /P res="> |
44 | goto Check_Target_loop |
44 | goto Check_Target_loop |
45 | goto :eof |
45 | goto :eof |
46 | 46 | ||
47 | 47 | ||
48 | :Target_kernel |
48 | :Target_kernel |
49 | echo *** building kernel with language '%lang%' ... |
49 | echo *** building kernel with language '%lang%' ... |
50 | 50 | ||
51 | if not exist bin mkdir bin |
51 | if not exist bin mkdir bin |
52 | echo lang fix %lang% > lang.inc |
52 | echo lang fix %lang% > lang.inc |
53 | fasm -m 65536 kernel.asm bin\kernel.mnt |
53 | fasm -m 65536 kernel.asm bin\kernel.mnt |
54 | if not %errorlevel%==0 goto :Error_FasmFailed |
54 | if not %errorlevel%==0 goto :Error_FasmFailed |
55 | erase lang.inc |
55 | erase lang.inc |
56 | goto :eof |
56 | goto :eof |
57 | 57 | ||
58 | 58 | ||
59 | :Target_all |
59 | :Target_all |
60 | call :Target_kernel |
60 | call :Target_kernel |
61 | call :Target_drivers |
61 | call :Target_drivers |
62 | call :Target_skins |
62 | call :Target_skins |
63 | goto :eof |
63 | goto :eof |
64 | 64 | ||
65 | 65 | ||
66 | :Target_drivers |
66 | :Target_drivers |
67 | echo *** building drivers ... |
67 | echo *** building drivers ... |
68 | 68 | ||
69 | if not exist bin\drivers mkdir bin\drivers |
69 | if not exist bin\drivers mkdir bin\drivers |
70 | cd drivers |
70 | cd drivers |
71 | for %%a in (%drivers%) do ( |
71 | for %%a in (%drivers%) do ( |
72 | fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj |
72 | fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj |
73 | if not %errorlevel%==0 goto :Error_FasmFailed |
73 | if not %errorlevel%==0 goto :Error_FasmFailed |
74 | ) |
74 | ) |
75 | cd .. |
75 | cd .. |
76 | move bin\drivers\vmode.obj bin\drivers\vmode.mdr |
- | |
77 | - | ||
78 | 76 | ||
79 | kpack >nul 2>&1 |
77 | kpack >nul 2>&1 |
80 | 78 | ||
81 | if %errorlevel%==9009 goto :Error_KpackFailed |
79 | if %errorlevel%==9009 goto :Error_KpackFailed |
82 | 80 | ||
83 | echo * |
81 | echo * |
84 | echo ############################################## |
82 | echo ############################################## |
85 | echo * |
83 | echo * |
86 | echo Kpack KolibriOS drivers? |
84 | echo Kpack KolibriOS drivers? |
87 | echo * |
85 | echo * |
88 | 86 | ||
89 | set /P res=[y/n]? |
87 | set /P res=[y/n]? |
90 | 88 | ||
91 | if "%res%"=="y" ( |
89 | if "%res%"=="y" ( |
92 | 90 | ||
93 | echo * |
91 | echo * |
94 | echo Compressing system |
92 | echo Compressing system |
95 | 93 | ||
96 | echo * |
94 | echo * |
97 | for %%a in (bin\drivers\*.obj) do ( |
95 | for %%a in (bin\drivers\*.obj) do ( |
98 | echo ================== kpack %%a |
96 | echo ================== kpack %%a |
99 | kpack %%a |
97 | kpack %%a |
100 | if not %errorlevel%==0 goto :Error_KpackFailed |
98 | if not %errorlevel%==0 goto :Error_KpackFailed |
101 | ) |
99 | ) |
102 | 100 | ||
103 | ) |
101 | ) |
104 | goto :eof |
102 | goto :eof |
105 | 103 | ||
106 | 104 | ||
107 | :Target_skins |
105 | :Target_skins |
108 | echo *** building skins ... |
106 | echo *** building skins ... |
109 | 107 | ||
110 | if not exist bin\skins mkdir bin\skins |
108 | if not exist bin\skins mkdir bin\skins |
111 | cd skin |
109 | cd skin |
112 | fasm -m 65536 default.asm ..\bin\skins\default.skn |
110 | fasm -m 65536 default.asm ..\bin\skins\default.skn |
113 | if not %errorlevel%==0 goto :Error_FasmFailed |
111 | if not %errorlevel%==0 goto :Error_FasmFailed |
114 | cd .. |
112 | cd .. |
115 | goto :eof |
113 | goto :eof |
116 | 114 | ||
117 | :Target_clean |
115 | :Target_clean |
118 | echo *** cleaning ... |
116 | echo *** cleaning ... |
119 | rmdir /S /Q bin |
117 | rmdir /S /Q bin |
120 | goto :Exit_OK |
118 | goto :Exit_OK |
121 | 119 | ||
122 | 120 | ||
123 | :Error_FasmFailed |
121 | :Error_FasmFailed |
124 | echo error: fasm execution failed |
122 | echo error: fasm execution failed |
125 | erase lang.inc >nul 2>&1 |
123 | erase lang.inc >nul 2>&1 |
126 | echo. |
124 | echo. |
127 | pause |
125 | pause |
128 | exit 1 |
126 | exit 1 |
129 | 127 | ||
130 | :Error_KpackFailed |
128 | :Error_KpackFailed |
131 | echo *** NOTICE *** |
129 | echo *** NOTICE *** |
132 | echo If you want to pack all applications you may |
130 | echo If you want to pack all applications you may |
133 | echo place "kpack" in accessible directory or system %PATH%. |
131 | echo place "kpack" in accessible directory or system %PATH%. |
134 | echo You can get this tool from KolibriOS distribution kit. |
132 | echo You can get this tool from KolibriOS distribution kit. |
135 | pause |
133 | pause |
136 | exit 1 |
134 | exit 1 |
137 | 135 | ||
138 | :Exit_OK |
136 | :Exit_OK |
139 | echo. |
137 | echo. |
140 | echo all operations have been done |
138 | echo all operations have been done |
141 | pause |
139 | pause |
142 | exit 0 |
140 | exit 0 |