Rev 2314 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1159 | hidnplayr | 1 | @echo off |
1198 | clevermous | 2 | cls |
2314 | hidnplayr | 3 | set languages=en |
4 | set drivers=3c59x dec21x4x i8255x mtd80x pcnet32 r6040 rtl8029 rtl8139 rtl8169 sis900 |
||
5 | set apps=arpcfg icmp netcfg netstat nslookup synergyc tcpserv telnet tftpc zeroconf |
||
6 | set libs=network |
||
7 | set targets=all kernel apps libs drivers clean |
||
1159 | hidnplayr | 8 | |
9 | call :Check_Target %1 |
||
10 | for %%a in (all kernel) do if %%a==%target% call :Check_Lang %2 |
||
11 | call :Target_%target% |
||
12 | |||
13 | if ERRORLEVEL 0 goto Exit_OK |
||
14 | |||
15 | echo There was an error executing script. |
||
16 | echo For any help, please send a report. |
||
17 | pause |
||
18 | goto :eof |
||
19 | |||
20 | |||
21 | |||
22 | |||
23 | :Check_Lang |
||
24 | set res=%1 |
||
25 | :Check_Lang_loop |
||
26 | for %%a in (%languages%) do if %%a==%res% set lang=%res% |
||
27 | if defined lang goto :eof |
||
28 | |||
29 | echo Language '%res%' is incorrect |
||
30 | echo Enter valid language [ %languages% ]: |
||
31 | |||
32 | set /P res="> |
||
33 | goto Check_Lang_loop |
||
34 | goto :eof |
||
35 | |||
36 | :Check_Target |
||
37 | set res=%1 |
||
38 | :Check_Target_loop |
||
39 | for %%a in (%targets%) do if %%a==%res% set target=%res% |
||
40 | if defined target goto :eof |
||
41 | |||
42 | echo Target '%res%' is incorrect |
||
43 | echo Enter valid target [ %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 -m 65536 kernel.asm bin\kernel.mnt |
||
56 | if not %errorlevel%==0 goto :Error_FasmFailed |
||
57 | erase lang.inc |
||
58 | goto :eof |
||
59 | |||
60 | |||
61 | :Target_all |
||
62 | call :Target_kernel |
||
2314 | hidnplayr | 63 | call :Target_apps |
64 | call :Target_libs |
||
1159 | hidnplayr | 65 | call :Target_drivers |
66 | goto :eof |
||
67 | |||
68 | |||
2314 | hidnplayr | 69 | :Target_apps |
70 | echo *** building applications ... |
||
71 | |||
72 | if not exist bin\apps mkdir bin\apps |
||
73 | cd applications |
||
74 | for %%a in (%apps%) do ( |
||
75 | fasm -m 65536 %%a\%%a.asm ..\bin\apps\%%a |
||
76 | if not %errorlevel%==0 goto :Error_FasmFailed |
||
77 | ) |
||
78 | cd .. |
||
79 | |||
80 | goto :eof |
||
81 | |||
82 | |||
83 | :Target_libs |
||
84 | echo *** building libraries ... |
||
85 | |||
86 | if not exist bin\lib mkdir bin\lib |
||
87 | cd applications\libraries |
||
88 | for %%a in (%libs%) do ( |
||
2315 | hidnplayr | 89 | fasm -m 65536 %%a\%%a.asm ..\..\bin\lib\%%a.obj |
2314 | hidnplayr | 90 | if not %errorlevel%==0 goto :Error_FasmFailed |
91 | ) |
||
92 | cd ..\.. |
||
93 | |||
94 | goto :eof |
||
95 | |||
96 | |||
1159 | hidnplayr | 97 | :Target_drivers |
98 | echo *** building drivers ... |
||
99 | |||
100 | if not exist bin\drivers mkdir bin\drivers |
||
101 | cd drivers |
||
102 | for %%a in (%drivers%) do ( |
||
103 | fasm -m 65536 %%a.asm ..\bin\drivers\%%a.obj |
||
104 | if not %errorlevel%==0 goto :Error_FasmFailed |
||
105 | ) |
||
106 | cd .. |
||
1198 | clevermous | 107 | |
108 | |||
109 | kpack >nul 2>&1 |
||
110 | |||
111 | if %errorlevel%==9009 goto :Error_KpackFailed |
||
112 | |||
113 | echo * |
||
114 | echo ############################################## |
||
115 | echo * |
||
116 | echo Kpack KolibriOS drivers? |
||
117 | echo * |
||
118 | |||
119 | set /P res=[y/n]? |
||
120 | |||
121 | if "%res%"=="y" ( |
||
122 | |||
123 | echo * |
||
124 | echo Compressing system |
||
125 | |||
126 | echo * |
||
127 | for %%a in (bin\drivers\*.obj) do ( |
||
128 | echo ================== kpack %%a |
||
129 | kpack %%a |
||
130 | if not %errorlevel%==0 goto :Error_KpackFailed |
||
131 | ) |
||
132 | |||
133 | ) |
||
1159 | hidnplayr | 134 | goto :eof |
135 | |||
136 | :Target_clean |
||
137 | echo *** cleaning ... |
||
138 | rmdir /S /Q bin |
||
139 | goto :Exit_OK |
||
140 | |||
141 | |||
142 | :Error_FasmFailed |
||
143 | echo error: fasm execution failed |
||
1198 | clevermous | 144 | erase lang.inc >nul 2>&1 |
145 | echo. |
||
1159 | hidnplayr | 146 | pause |
147 | exit 1 |
||
148 | |||
1198 | clevermous | 149 | :Error_KpackFailed |
150 | echo *** NOTICE *** |
||
151 | echo If you want to pack all applications you may |
||
152 | echo place "kpack" in accessible directory or system %PATH%. |
||
153 | echo You can get this tool from KolibriOS distribution kit. |
||
154 | pause |
||
155 | exit 1 |
||
156 | |||
1159 | hidnplayr | 157 | :Exit_OK |
1198 | clevermous | 158 | echo. |
159 | echo all operations have been done |
||
1159 | hidnplayr | 160 | pause |
161 | exit 0 |