Rev 2255 | Rev 2518 | 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 |
1093 | Lrz | 2 | cls |
271 | kaitz | 3 | set languages=en ru ge et |
2267 | Serge | 4 | set drivers=com_mouse emu10k1x fm801 infinity sis sound viasound vt823x |
529 | spraid | 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 | |
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 |
||
63 | goto :eof |
||
231 | mikedld | 64 | |
65 | |||
66 | :Target_drivers |
||
467 | mikedld | 67 | echo *** building drivers ... |
231 | mikedld | 68 | |
232 | victor | 69 | if not exist bin\drivers mkdir bin\drivers |
70 | cd drivers |
||
71 | for %%a in (%drivers%) do ( |
||
373 | mikedld | 72 | fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj |
232 | victor | 73 | if not %errorlevel%==0 goto :Error_FasmFailed |
74 | ) |
||
75 | cd .. |
||
1091 | Lrz | 76 | |
1094 | Lrz | 77 | kpack >nul 2>&1 |
78 | |||
79 | if %errorlevel%==9009 goto :Error_KpackFailed |
||
80 | |||
1091 | Lrz | 81 | echo * |
82 | echo ############################################## |
||
83 | echo * |
||
84 | echo Kpack KolibriOS drivers? |
||
85 | echo * |
||
86 | |||
87 | set /P res=[y/n]? |
||
88 | |||
89 | if "%res%"=="y" ( |
||
90 | |||
1093 | Lrz | 91 | echo * |
92 | echo Compressing system |
||
1091 | Lrz | 93 | |
1093 | Lrz | 94 | echo * |
95 | for %%a in (bin\drivers\*.obj) do ( |
||
96 | echo ================== kpack %%a |
||
97 | kpack %%a |
||
1094 | Lrz | 98 | if not %errorlevel%==0 goto :Error_KpackFailed |
1093 | Lrz | 99 | ) |
1091 | Lrz | 100 | |
101 | ) |
||
232 | victor | 102 | goto :eof |
231 | mikedld | 103 | |
104 | |||
105 | :Target_skins |
||
467 | mikedld | 106 | echo *** building skins ... |
231 | mikedld | 107 | |
232 | victor | 108 | if not exist bin\skins mkdir bin\skins |
109 | cd skin |
||
373 | mikedld | 110 | fasm -m 65536 default.asm ..\bin\skins\default.skn |
232 | victor | 111 | if not %errorlevel%==0 goto :Error_FasmFailed |
112 | cd .. |
||
113 | goto :eof |
||
231 | mikedld | 114 | |
115 | :Target_clean |
||
467 | mikedld | 116 | echo *** cleaning ... |
489 | victor | 117 | rmdir /S /Q bin |
231 | mikedld | 118 | goto :Exit_OK |
119 | |||
120 | |||
121 | :Error_FasmFailed |
||
122 | echo error: fasm execution failed |
||
1093 | Lrz | 123 | erase lang.inc >nul 2>&1 |
124 | echo. |
||
232 | victor | 125 | pause |
231 | mikedld | 126 | exit 1 |
127 | |||
1093 | Lrz | 128 | :Error_KpackFailed |
129 | echo *** NOTICE *** |
||
1095 | diamond | 130 | echo If you want to pack all applications you may |
1094 | Lrz | 131 | echo place "kpack" in accessible directory or system %PATH%. |
1095 | diamond | 132 | echo You can get this tool from KolibriOS distribution kit. |
1093 | Lrz | 133 | pause |
134 | exit 1 |
||
135 | |||
231 | mikedld | 136 | :Exit_OK |
1093 | Lrz | 137 | echo. |
1095 | diamond | 138 | echo all operations have been done |
232 | victor | 139 | pause |
467 | mikedld | 140 | exit 0 |