1 -- Do nothing unless explicitly requested in tup.config.
2 build_type
= tup
.getconfig('BUILD_TYPE')
3 if build_type
== "" then
7 --[================================[ DATA ]================================]--
11 -- Static data that doesn't need to be compiled
12 -- Files to be included in kolibri.img.
13 -- The first subitem of every item is name inside kolibri.img, the second is name of local file.
15 {"MACROS.INC", PROGS
.. "/macros.inc"},
16 -- {"CONFIG.INC", PROGS .. "/config.inc"},
17 {"STRUCT.INC", PROGS
.. "/struct.inc"},
18 {"FB2READ", "common/fb2read"},
19 {"ALLGAMES", "common/allgames"},
20 {"HOME.PNG", "common/wallpapers/T_Home.png"},
21 {"ICONS32.PNG", "common/icons32.png"},
22 {"ICONS16.PNG", "common/icons16.png"},
23 {"INDEX.HTM", "common/index_htm"},
24 {"KUZKINA.MID", "common/kuzkina.mid"},
25 {"SINE.MP3", "common/sine.mp3"},
26 {"LANG.INC", build_type
.. "/lang.inc"},
27 {"NOTIFY3.PNG", "common/notify3.png"},
28 {"UNIMG", PROGS
.. "/fs/unimg/unimg"},
29 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
30 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
31 {"GAMES/FLPYBIRD", PROGS
.. "/games/flappybird/Release/flappybird"},
32 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
33 -- {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
34 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
35 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
36 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
37 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
38 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
39 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
40 {"MEDIA/PIXIESKN.PNG", PROGS
.. "/cmm/pixie2/pixieskn.png"},
41 {"NETWORK/FTPC.INI", PROGS
.. "/network/ftpc/ftpc.ini"},
42 {"NETWORK/FTPC_SYS.PNG", PROGS
.. "/network/ftpc/ftpc_sys.png"},
43 {"NETWORK/FTPC_NOD.PNG", PROGS
.. "/network/ftpc/ftpc_nod.png"},
44 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
45 {"NETWORK/KNMAP", "common/network/knmap"},
46 {"NETWORK/USERS.INI", "common/network/users.ini"},
47 {"SETTINGS/APP.INI", "common/settings/app.ini"},
48 {"SETTINGS/APP_PLUS.INI", "common/settings/app_plus.ini"},
49 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
50 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
51 {"SETTINGS/CEDIT.INI", PROGS
.. "/develop/cedit/CEDIT.INI"},
52 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
53 {"SETTINGS/FB2READ.INI", "common/settings/fb2read.ini"},
54 {"SETTINGS/HA.CFG", PROGS
.. "/other/ha/SETTINGS/HA.CFG"},
55 {"SETTINGS/ICON.INI", build_type
.. "/settings/icon.ini"},
56 {"SETTINGS/KEYMAP.KEY", PROGS
.. "/system/taskbar/trunk/KEYMAP.KEY"},
57 {"SETTINGS/KOLIBRI.LBL", build_type
.. "/settings/kolibri.lbl"},
58 {"SETTINGS/LANG.INI", build_type
.. "/settings/lang.ini"},
59 {"SETTINGS/MENU.DAT", build_type
.. "/settings/menu.dat"},
60 {"SETTINGS/NETWORK.INI", "common/settings/network.ini"},
61 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
62 {"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
63 {"SETTINGS/SYSTEM.ENV", "common/settings/system.env"},
66 -- For russian build, add russian-only files.
67 if build_type
== "rus" then tup
.append_table(img_files
, {
68 {"EXAMPLE.ASM", PROGS
.. "/develop/examples/example/trunk/rus/example.asm"},
69 {"DEVELOP/BACKY", PROGS
.. "/develop/backy/Backy_ru"},
70 {"GAMES/BASEKURS.KLA", build_type
.. "/games/basekurs.kla"},
71 {"File Managers/KFAR.INI", build_type
.. "/File Managers/kfar.ini"},
72 {"GAMES/DESCENT", build_type
.. "/games/descent"},
73 {"SETTINGS/.shell", PROGS
.. "/system/shell/bin/rus/.shell"},
74 {"SETTINGS/GAMES.INI", "rus/settings/games.ini"},
75 {"SETTINGS/MYKEY.INI", PROGS
.. "/system/MyKey/trunk/mykey.ini"},
76 {"SETTINGS/SYSPANEL.INI", "rus/settings/syspanel.ini"},
77 }) elseif build_type
== "eng" then tup
.append_table(img_files
, {
78 {"EXAMPLE.ASM", PROGS
.. "/develop/examples/example/trunk/example.asm"},
79 {"DEVELOP/BACKY", PROGS
.. "/develop/backy/Backy"},
80 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
81 {"GAMES/DESCENT", "common/games/descent"},
82 {"SETTINGS/.shell", PROGS
.. "/system/shell/bin/eng/.shell"},
83 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
84 {"SETTINGS/MYKEY.INI", PROGS
.. "/system/MyKey/trunk/mykey.ini"},
85 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
86 }) elseif build_type
== "sp" then tup
.append_table(img_files
, {
87 {"EXAMPLE.ASM", PROGS
.. "/develop/examples/example/trunk/example.asm"},
88 {"DEVELOP/BACKY", PROGS
.. "/develop/backy/Backy"},
89 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
90 {"GAMES/DESCENT", "common/games/descent"},
91 {"SETTINGS/.shell", PROGS
.. "/system/shell/bin/eng/.shell"},
92 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
93 {"SETTINGS/MYKEY.INI", PROGS
.. "/system/MyKey/trunk/mykey.ini"},
94 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
95 }) elseif build_type
== "it" then tup
.append_table(img_files
, {
96 {"EXAMPLE.ASM", PROGS
.. "/develop/examples/example/trunk/example.asm"},
97 {"DEVELOP/BACKY", PROGS
.. "/develop/backy/Backy"},
98 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
99 {"GAMES/DESCENT", "common/games/descent"},
100 {"SETTINGS/.shell", PROGS
.. "/system/shell/bin/eng/.shell"},
101 {"SETTINGS/MYKEY.INI", PROGS
.. "/system/MyKey/trunk/mykey_it.ini"},
102 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
103 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
104 }) else tup
.append_table(img_files
, {
105 {"EXAMPLE.ASM", PROGS
.. "/develop/examples/example/trunk/example.asm"},
106 {"DEVELOP/BACKY", PROGS
.. "/develop/backy/Backy"},
107 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
108 {"GAMES/DESCENT", "common/games/descent"},
109 {"SETTINGS/.shell", PROGS
.. "/system/shell/bin/eng/.shell"},
110 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
111 {"SETTINGS/MYKEY.INI", PROGS
.. "/system/MyKey/trunk/mykey.ini"},
112 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
116 Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
118 The first subitem of every item is name relative to the root of ISO or distribution kit,
119 the second is name of local file.
121 If the first subitem ends in /, the last component of local file name is appended.
122 The last component of the second subitem may contain '*'; if so, it will be expanded
123 according to usual rules, but without matching directories.
125 Tup does not allow a direct dependency on a file that is generated in a directory
126 other than where Tupfile.lua is and its children. Most files are generated
127 in the directory with Tupfile.lua; for other files, the item should contain
128 a named subitem "group=path/<groupname>" and the file should be put in <groupname>.
131 {"/", "common/distr_data/autorun.inf"},
132 {"/", "common/distr_data/KolibriOS_icon.ico"},
133 {"Docs/stack.txt", "../kernel/trunk/docs/stack.txt"},
134 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
135 {"HD_Load/MeOSLoad/", PROGS
.. "/hd_load/meosload/AUTOEXEC.BAT"},
136 {"HD_Load/MeOSLoad/", PROGS
.. "/hd_load/meosload/CONFIG.SYS"},
137 {"HD_Load/MeOSLoad/", PROGS
.. "/hd_load/meosload/L_readme.txt"},
138 {"HD_Load/MeOSLoad/", PROGS
.. "/hd_load/meosload/L_readme_Win.txt"},
139 {"HD_Load/mtldr/", PROGS
.. "/hd_load/mtldr/vista_install.bat"},
140 {"HD_Load/mtldr/", PROGS
.. "/hd_load/mtldr/vista_remove.bat"},
141 {"HD_Load/", "common/HD_load/memdisk"},
142 {"HD_Load/USB_boot_old/", PROGS
.. "/hd_load/usb_boot_old/usb_boot.rtf"},
143 {"HD_Load/USB_boot_old/", PROGS
.. "/hd_load/usb_boot_old/usb_boot_866.txt"},
144 {"HD_Load/USB_boot_old/", PROGS
.. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
145 {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS
.. "/develop/info3ds/info3ds.ini"},
146 {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS
.. "/develop/info3ds/objects.png"},
147 {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS
.. "/develop/info3ds/toolbar.png"},
148 {"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS
.. "/fs/kfar/trunk/font8x9.bmp"},
149 {"kolibrios/3D/blocks/", PROGS
.. "/bcc32/games/blocks/bin/*"},
150 {"kolibrios/3D/blocks/models/", PROGS
.. "/bcc32/games/blocks/models/*"},
151 {"kolibrios/3D/md2view/", "common/3d/md2view/*"},
152 {"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
153 {"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", PROGS
.. "/media/voxel_editor/trunk/vox_editor.ini"},
154 {"kolibrios/3D/voxel_editor/HOUSE1.VOX", PROGS
.. "/media/voxel_editor/trunk/house1.vox"},
155 {"kolibrios/3D/voxel_editor/HOUSE2.VOX", PROGS
.. "/media/voxel_editor/trunk/house2.vox"},
156 {"kolibrios/3D/voxel_editor/SQUIRREL.VOX", PROGS
.. "/media/voxel_editor/trunk/squirrel.vox"},
157 {"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , PROGS
.. "/media/voxel_editor/utilites/vox_mover.ini"},
158 {"kolibrios/3D/FONT8X9.BMP", PROGS
.. "/fs/kfar/trunk/font8x9.bmp"},
159 {"kolibrios/3D/TOOLB_1.PNG", PROGS
.. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
160 {"kolibrios/3D/TEST_GLU1", PROGS
.. "/develop/libraries/TinyGL/asm_fork/examples/test_glu1"},
161 {"kolibrios/3D/TEST_GLU2", PROGS
.. "/develop/libraries/TinyGL/asm_fork/examples/test_glu2"},
162 {"kolibrios/3D/TEXT_2.PNG", PROGS
.. "/develop/libraries/TinyGL/asm_fork/examples/text_2.png"},
163 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
164 {"kolibrios/demos/life2", "common/demos/life2"},
165 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
166 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
167 {"kolibrios/develop/c--/c--.elf", PROGS
.. "/cmm/c--/c--.elf"},
168 {"kolibrios/develop/c--/c--.exe", PROGS
.. "/cmm/c--/c--.exe"},
169 {"kolibrios/develop/c--/c--.ini", PROGS
.. "/cmm/c--/c--.ini"},
170 {"kolibrios/develop/c--/manual_c--.htm", PROGS
.. "/cmm/c--/manual_c--.htm"},
171 {"kolibrios/develop/fpc/", "common/develop/fpc/*"},
172 {"kolibrios/develop/fpc/examples/", PROGS
.. "/develop/fp/examples/src/*"},
173 {"kolibrios/develop/fpc/examples/build.sh", "common/develop/fpc/build.sh"},
174 {"kolibrios/develop/oberon07/", PROGS
.. "/develop/oberon07/*"},
175 {"kolibrios/develop/oberon07/doc/", PROGS
.. "/develop/oberon07/doc/*"},
176 {"kolibrios/develop/oberon07/lib/KolibriOS/", PROGS
.. "/develop/oberon07/lib/KolibriOS/*"},
177 {"kolibrios/develop/oberon07/samples/", PROGS
.. "/develop/oberon07/samples/*"},
178 {"kolibrios/develop/tcc/lib/", PROGS
.. "/develop/ktcc/trunk/bin/lib/*"},
179 {"kolibrios/develop/tcc/include/", PROGS
.. "/develop/ktcc/trunk/libc.obj/include/*"},
180 {"kolibrios/develop/tcc/include/clayer/", PROGS
.. "/develop/ktcc/trunk/libc.obj/include/clayer/*"},
181 {"kolibrios/develop/tcc/include/cryptal/", PROGS
.. "/develop/ktcc/trunk/libc.obj/include/cryptal/*"},
182 {"kolibrios/develop/tcc/include/sys/", PROGS
.. "/develop/ktcc/trunk/libc.obj/include/sys/*"},
183 {"kolibrios/develop/tcc/include/SDL/", "../contrib/sdk/sources/SDL-1.2.2_newlib/include/*"},
184 {"kolibrios/develop/tcc/samples/", PROGS
.. "/develop/ktcc/trunk/libc.obj/samples/*.c"},
185 {"kolibrios/develop/tcc/samples/", PROGS
.. "/develop/ktcc/trunk/libc.obj/samples/*.sh"},
186 {"kolibrios/develop/tcc/samples/clayer/", PROGS
.. "/develop/ktcc/trunk/libc.obj/samples/clayer/*"},
187 {"kolibrios/develop/utils/SPEDump", PROGS
.. "/develop/SPEDump/SPEDump.kex"},
188 {"kolibrios/emul/", "common/emul/*"},
189 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
190 {"kolibrios/emul/e80/readme.txt", PROGS
.. "/emulator/e80/trunk/readme.txt"},
191 {"kolibrios/emul/e80/keyboard.png", PROGS
.. "/emulator/e80/trunk/keyboard.png"},
192 {"kolibrios/emul/fceu/fceu", PROGS
.. "/emulator/fceu/fceu"},
193 {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS
.. "/emulator/fceu/FCEU ReadMe.txt"},
194 {"kolibrios/emul/chip8/chip8", PROGS
.. "/emulator/chip8/chip8"},
195 {"kolibrios/emul/chip8/readme.txt", PROGS
.. "/emulator/chip8/readme.txt"},
196 {"kolibrios/emul/chip8/roms/", PROGS
.. "/emulator/chip8/roms/*"},
197 {"kolibrios/emul/kwine/kwine", PROGS
.. "/emulator/kwine/bin/kwine"},
198 {"kolibrios/emul/kwine/lib/", PROGS
.. "/emulator/kwine/bin/lib/*"},
199 {"kolibrios/emul/uarm/", "common/emul/uarm/*"},
200 {"kolibrios/emul/zsnes/", "common/emul/zsnes/*"},
201 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
202 {"kolibrios/games/bomber/ackack.bmp", PROGS
.. "/games/bomber/ackack.bmp"},
203 {"kolibrios/games/bomber/bomb.bmp", PROGS
.. "/games/bomber/bomb.bmp"},
204 {"kolibrios/games/bomber/plane.bmp", PROGS
.. "/games/bomber/plane.bmp"},
205 {"kolibrios/games/bomber/tile.bmp", PROGS
.. "/games/bomber/tile.bmp"},
206 {"kolibrios/games/doom1/", "common/games/doom/*"},
207 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
208 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
209 {"kolibrios/games/knight", "common/games/knight"},
210 {"kolibrios/games/KosChess/", "common/games/KosChess/*"},
211 {"kolibrios/games/KosChess/images/", "common/games/KosChess/images/*"},
212 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
213 {"kolibrios/games/lrl/", "common/games/lrl/*"},
214 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
215 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
216 {"kolibrios/games/mun/mun", "common/games/mun/mun"},
217 {"kolibrios/games/pig/", "common/games/pig/*"},
218 {"kolibrios/games/soko/", "common/games/soko/*"},
219 {"kolibrios/games/fridge/", "common/games/fridge/*"},
220 {"kolibrios/games/the_bus/menu.png", PROGS
.. "/cmm/the_bus/menu.png"},
221 {"kolibrios/games/the_bus/objects.png", PROGS
.. "/cmm/the_bus/objects.png"},
222 {"kolibrios/games/the_bus/road.png", PROGS
.. "/cmm/the_bus/road.png"},
223 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
224 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
225 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
226 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
227 {"kolibrios/grafx2/", "common/media/grafx2/*"},
228 {"kolibrios/speech/", "common/media/speech/*"},
229 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
230 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
231 {"kolibrios/drivers/acpi/readme.txt", "common/drivers/acpi/readme.txt"},
232 -- {"kolibrios/drivers/acpi/", "common/drivers/acpi/*"},
233 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
234 -- {"kolibrios/drivers/geode/", "common/drivers/geode/*"},
235 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
236 {"kolibrios/drivers/test/", "common/drivers/test/*"},
237 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
238 {"kolibrios/drivers/virtualbox/", "common/drivers/virtualbox/*"},
239 {"kolibrios/KolibriNext/", "common/KolibriNext/*"},
240 {"kolibrios/KolibriNext/settings/", "common/KolibriNext/settings/*"},
241 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
242 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
243 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
244 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
245 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
246 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
247 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
248 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
249 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
250 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
251 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
252 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
253 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
254 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
255 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
256 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
257 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
258 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
259 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
260 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
261 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
262 {"kolibrios/media/fplay", "common/media/fplay"},
263 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
264 {"kolibrios/media/minimp3", "common/media/minimp3"},
265 {"kolibrios/media/updf", "common/media/updf"},
266 {"kolibrios/media/vttf", "common/media/vttf"},
267 {"kolibrios/media/beat/Beat", PROGS
.. "/media/Beat/Beat"},
268 {"kolibrios/media/beat/Beep1.raw", PROGS
.. "/media/Beat/Beep1.raw"},
269 {"kolibrios/media/beat/Beep2.raw", PROGS
.. "/media/Beat/Beep2.raw"},
270 {"kolibrios/media/beat/PlayNote", PROGS
.. "/media/Beat/PlayNote/PlayNote"},
271 {"kolibrios/media/beat/Readme-en.txt", PROGS
.. "/media/Beat/Readme-en.txt"},
272 {"kolibrios/media/beat/Readme-ru.txt", PROGS
.. "/media/Beat/Readme-ru.txt"},
273 {"kolibrios/media/zsea/zsea.ini", PROGS
.. "/media/zsea/zSea.ini"},
274 {"kolibrios/media/zsea/buttons/buttons.png", PROGS
.. "/media/zsea/buttons.png"},
275 {"kolibrios/netsurf/netsurf", "common/network/netsurf/netsurf"},
276 {"kolibrios/netsurf/res/", "common/network/netsurf/res/*"},
277 {"kolibrios/res/skins/", "../skins/authors.txt"},
278 {"kolibrios/res/templates/", "common/templates/*"},
279 {"kolibrios/res/templates/", PROGS
.. "/emulator/e80/trunk/games/*"},
280 {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
281 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
282 {"kolibrios/res/system/", build_type
.. "/settings/kolibri.lbl"},
283 {"kolibrios/utils/vmode", "common/vmode"},
284 {"kolibrios/utils/texture", "common/utils/texture"},
285 {"kolibrios/utils/cnc_editor/cnc_editor", PROGS
.. "/other/cnc_editor/cnc_editor"},
286 {"kolibrios/utils/cnc_editor/kolibri.NC", PROGS
.. "/other/cnc_editor/kolibri.NC"},
287 {"kolibrios/utils/kfm/kfm.ini", "common/File Managers/kfm.ini"},
288 {"kolibrios/utils/kfm/kfm_keys_eng.txt", PROGS
.. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
289 {"kolibrios/utils/kfm/kfm_keys_rus.txt", PROGS
.. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
290 {"kolibrios/utils/fNav/", "common/File Managers/fNav/*"},
291 {"kolibrios/utils/NDN/", "common/File Managers/ndn/*"},
292 {"kolibrios/utils/NDN/COLORS/", "common/File Managers/ndn/COLORS/*"},
293 {"kolibrios/utils/NDN/XLT/", "common/File Managers/ndn/XLT/*"},
294 {"kolibrios/utils/tedit/t_edit.ini", PROGS
.. "/other/t_edit/t_edit.ini"},
295 {"kolibrios/utils/tedit/info/ASM.SYN", PROGS
.. "/other/t_edit/info/asm.syn"},
296 {"kolibrios/utils/tedit/info/CPP_CLA.SYN", PROGS
.. "/other/t_edit/info/cpp_kol_cla.syn"},
297 {"kolibrios/utils/tedit/info/CPP_DAR.SYN", PROGS
.. "/other/t_edit/info/cpp_kol_dar.syn"},
298 {"kolibrios/utils/tedit/info/CPP_DEF.SYN", PROGS
.. "/other/t_edit/info/cpp_kol_def.syn"},
299 {"kolibrios/utils/tedit/info/DEFAULT.SYN", PROGS
.. "/other/t_edit/info/default.syn"},
300 {"kolibrios/utils/tedit/info/HTML.SYN", PROGS
.. "/other/t_edit/info/html.syn"},
301 {"kolibrios/utils/tedit/info/INI.SYN", PROGS
.. "/other/t_edit/info/ini_files.syn"},
303 if build_type
== "rus" then tup
.append_table(extra_files
, {
304 {"Docs/cp866/config.txt", build_type
.. "/docs/CONFIG.TXT"},
305 {"Docs/cp866/gnu.txt", build_type
.. "/docs/GNU.TXT"},
306 {"Docs/cp866/history.txt", build_type
.. "/docs/HISTORY.TXT"},
307 {"Docs/cp866/hot_keys.txt", build_type
.. "/docs/HOT_KEYS.TXT"},
308 {"Docs/cp866/install.txt", build_type
.. "/docs/INSTALL.TXT"},
309 {"Docs/cp866/credits.txt", build_type
.. "/docs/CREDITS.TXT"},
310 {"Docs/cp866/sysfuncr.txt", PROGS
.. "/system/docpack/trunk/SYSFUNCR.TXT"},
311 {"Docs/cp1251/config.txt", build_type
.. "/docs/CONFIG.WIN.TXT", cp1251_from
= build_type
.. "/docs/CONFIG.TXT"},
312 {"Docs/cp1251/gnu.txt", build_type
.. "/docs/GNU.WIN.TXT", cp1251_from
= build_type
.. "/docs/GNU.TXT"},
313 {"Docs/cp1251/history.txt", build_type
.. "/docs/HISTORY.WIN.TXT", cp1251_from
= build_type
.. "/docs/HISTORY.TXT"},
314 {"Docs/cp1251/hot_keys.txt", build_type
.. "/docs/HOT_KEYS.WIN.TXT", cp1251_from
= build_type
.. "/docs/HOT_KEYS.TXT"},
315 {"Docs/cp1251/install.txt", build_type
.. "/docs/INSTALL.WIN.TXT", cp1251_from
= build_type
.. "/docs/INSTALL.TXT"},
316 {"Docs/cp1251/credits.txt", build_type
.. "/docs/CREDITS.WIN.TXT", cp1251_from
= build_type
.. "/docs/CREDITS.TXT"},
317 {"Docs/cp1251/sysfuncr.txt", build_type
.. "/docs/SYSFUNCR.WIN.TXT", cp1251_from
= PROGS
.. "/system/docpack/trunk/SYSFUNCR.TXT"},
318 {"HD_Load/9x2klbr/", PROGS
.. "/hd_load/9x2klbr/readme_dos.txt"},
319 {"HD_Load/9x2klbr/", PROGS
.. "/hd_load/9x2klbr/readme_win.txt"},
320 {"HD_Load/mtldr/", PROGS
.. "/hd_load/mtldr/install.txt"},
321 {"HD_Load/USB_Boot/", PROGS
.. "/hd_load/usb_boot/readme.txt"},
322 {"kolibrios/games/ataka", "common/games/ataka/ataka_ru"},
323 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS
.. "/games/Dungeons/Resources/Textures/Environment/*"},
324 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS
.. "/games/Dungeons/Resources/Textures/Objects/*"},
325 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS
.. "/games/Dungeons/Resources/Textures/HUD/*"},
326 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS
.. "/games/Dungeons/Resources/Textures/Licenses.txt"},
327 {"kolibrios/games/Dungeons/", PROGS
.. "/games/Dungeons/readme_ru.txt"},
328 {"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_ru"},
329 {"kolibrios/games/WHOWTBAM/", build_type
.. "/games/whowtbam"},
330 {"kolibrios/games/WHOWTBAM/", build_type
.. "/games/appdata.dat"},
331 {"kolibrios/media/zsea/zsea_keys.txt", PROGS
.. "/media/zsea/Docs/zSea_keys_rus.txt"},
332 {"kolibrios/res/guide/", build_type
.. "/docs/guide/*"},
333 {"kolibrios/develop/tcc/doc/", PROGS
.. "/develop/ktcc/trunk/bin/doc/ru/*"},
334 }) else tup
.append_table(extra_files
, {
335 {"Docs/config.txt", build_type
.. "/docs/CONFIG.TXT"},
336 {"Docs/copying.txt", build_type
.. "/docs/COPYING.TXT"},
337 {"Docs/hot_keys.txt", build_type
.. "/docs/HOT_KEYS.TXT"},
338 {"Docs/install.txt", build_type
.. "/docs/INSTALL.TXT"},
339 {"Docs/credits.txt", build_type
.. "/docs/CREDITS.TXT"},
340 {"Docs/sysfuncs.txt", PROGS
.. "/system/docpack/trunk/SYSFUNCS.TXT"},
341 {"HD_Load/9x2klbr/", PROGS
.. "/hd_load/9x2klbr/readme.txt"},
342 {"HD_Load/mtldr/install.txt", PROGS
.. "/hd_load/mtldr/install_eng.txt"},
343 {"HD_Load/USB_Boot/readme.txt", PROGS
.. "/hd_load/usb_boot/readme_eng.txt"},
344 {"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
345 {"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_en"},
346 {"kolibrios/media/zsea/zsea_keys.txt", PROGS
.. "/media/zsea/Docs/zSea_keys_eng.txt"},
347 {"kolibrios/develop/tcc/doc/", PROGS
.. "/develop/ktcc/trunk/bin/doc/en/*"},
350 Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
351 Same syntax as extra_files.
353 if build_type
== "rus" then
354 distr_extra_files
= {
355 {"/readme_dos.txt", build_type
.. "/distr_data/readme_dos_distr.txt"},
356 {"/readme.txt", build_type
.. "/distr_data/readme_distr.txt", cp1251_from
= build_type
.. "/distr_data/readme_dos_distr.txt"},
359 distr_extra_files
= {
360 {"/readme.txt", build_type
.. "/distr_data/readme_distr.txt"},
364 Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
365 Same syntax as extra_files.
367 if build_type
== "rus" then
369 {"/readme_dos.txt", build_type
.. "/distr_data/readme_dos.txt"},
370 {"/readme.txt", build_type
.. "/distr_data/readme.txt", cp1251_from
= build_type
.. "/distr_data/readme_dos.txt"},
374 {"/readme.txt", build_type
.. "/distr_data/readme.txt"},
378 -- Programs that require FASM to compile.
379 if tup
.getconfig('NO_FASM') ~= 'full' then
380 tup
.append_table(img_files
, {
381 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
382 {"@DOCKY", PROGS
.. "/system/docky/trunk/docky"},
383 {"@HA", PROGS
.. "/other/ha/HA"},
384 {"@ICON", PROGS
.. "/system/icon_new/icon"},
385 {"@MENU", PROGS
.. "/system/menu/trunk/menu"},
386 {"@NOTIFY", PROGS
.. "/system/notify3/notify"},
387 {"@OPEN", PROGS
.. "/system/open/open"},
388 {"@TASKBAR", PROGS
.. "/system/taskbar/trunk/TASKBAR"},
389 {"@SS", PROGS
.. "/system/scrsaver/scrsaver"},
390 {"@VOLUME", PROGS
.. "/media/volume/volume"},
391 {"HACONFIG", PROGS
.. "/other/ha/HACONFIG"},
392 {"APM", PROGS
.. "/system/apm/apm"},
393 {"CALC", PROGS
.. "/other/calc/trunk/calc"},
394 {"CALENDAR", PROGS
.. "/system/calendar/trunk/calendar"},
395 {"COLRDIAL", PROGS
.. "/system/colrdial/color_dialog"},
396 {"CROPFLAT", PROGS
.. "/system/cropflat/cropflat"},
397 {"CPU", PROGS
.. "/system/cpu/trunk/cpu"},
398 {"CPUID", PROGS
.. "/testing/cpuid/trunk/CPUID"},
399 {"DOCPACK", PROGS
.. "/system/docpack/trunk/docpack"},
400 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
401 {"DISPTEST", PROGS
.. "/testing/disptest/trunk/disptest"},
402 {"END", PROGS
.. "/system/end/light/end"},
403 {"ESKIN", PROGS
.. "/system/eskin/trunk/eskin"},
404 {"FSPEED", PROGS
.. "/testing/fspeed/fspeed"},
405 {"GMON", PROGS
.. "/system/gmon/gmon"},
406 {"HDD_INFO", PROGS
.. "/system/hdd_info/trunk/hdd_info"},
407 {"KBD", PROGS
.. "/testing/kbd/trunk/kbd"},
408 {"KPACK", PROGS
.. "/other/kpack/trunk/kpack"},
409 {"LAUNCHER", PROGS
.. "/system/launcher/trunk/launcher"},
410 {"LOADDRV", PROGS
.. "/system/loaddrv/loaddrv"},
411 {"MAGNIFY", PROGS
.. "/demos/magnify/trunk/magnify"},
412 {"MGB", PROGS
.. "/testing/mgb/trunk/mgb"},
413 {"MOUSEMUL", PROGS
.. "/system/mousemul/trunk/mousemul"},
414 {"MADMOUSE", PROGS
.. "/other/madmouse/madmouse"},
415 {"MYKEY", PROGS
.. "/system/MyKey/trunk/MyKey"},
416 {"PCIDEV", PROGS
.. "/testing/pcidev/trunk/PCIDEV"},
417 {"RDSAVE", PROGS
.. "/system/rdsave/trunk/rdsave"},
418 {"RTFREAD", PROGS
.. "/other/rtfread/trunk/rtfread"},
419 {"SEARCHAP", PROGS
.. "/system/searchap/searchap"},
420 {"SCRSHOOT", PROGS
.. "/media/scrshoot/scrshoot"},
421 {"SETUP", PROGS
.. "/system/setup/trunk/setup"},
422 {"SKINCFG", PROGS
.. "/system/skincfg/trunk/skincfg"},
423 {"TERMINAL", PROGS
.. "/system/terminal/terminal"},
424 {"TEST", PROGS
.. "/testing/protection/trunk/test"},
425 {"TINYPAD", PROGS
.. "/develop/tinypad/trunk/tinypad"},
426 {"UNZ", PROGS
.. "/fs/unz/unz"},
427 {"ZKEY", PROGS
.. "/system/zkey/trunk/ZKEY"},
428 {"3D/3DWAV", PROGS
.. "/demos/3dwav/trunk/3dwav"},
429 {"3D/CROWNSCR", PROGS
.. "/demos/crownscr/trunk/crownscr"},
430 {"3D/3DCUBE2", PROGS
.. "/demos/3dcube2/trunk/3DCUBE2"},
431 {"3D/FREE3D04", PROGS
.. "/demos/free3d04/trunk/free3d04"},
432 {"3D/GEARS", PROGS
.. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
433 {"3D/RAY", PROGS
.. "/demos/ray/ray"},
434 {"3D/VIEW3DS", PROGS
.. "/demos/view3ds/view3ds"},
435 {"DEMOS/BCDCLK", PROGS
.. "/demos/bcdclk/trunk/bcdclk"},
436 {"DEMOS/BUDHBROT", PROGS
.. "/demos/buddhabrot/trunk/buddhabrot"},
437 {"DEMOS/EYES", PROGS
.. "/demos/eyes/trunk/eyes"},
438 {"DEMOS/FIREWORK", PROGS
.. "/demos/firework/trunk/firework"},
439 {"DEMOS/MOVBACK", PROGS
.. "/demos/movback/trunk/movback"},
440 {"DEMOS/PLASMA", PROGS
.. "/demos/plasma/trunk/plasma"},
441 {"DEMOS/SPIRAL", PROGS
.. "/demos/spiral/spiral"},
442 {"DEMOS/TINYFRAC", PROGS
.. "/demos/tinyfrac/trunk/tinyfrac"},
443 {"DEMOS/TRANTEST", PROGS
.. "/demos/trantest/trunk/trantest"},
444 {"DEMOS/TUBE", PROGS
.. "/demos/tube/trunk/tube"},
445 {"DEMOS/UNVWATER", PROGS
.. "/demos/unvwater/trunk/unvwater"},
446 {"DEMOS/WEB", PROGS
.. "/demos/web/trunk/web"},
447 {"DEMOS/ZEROLINE", PROGS
.. "/demos/zeroline/trunk/zeroline"},
448 {"DEVELOP/ASCIIVJU", PROGS
.. "/develop/asciivju/trunk/asciivju"},
449 {"DEVELOP/BOARD", PROGS
.. "/system/board/trunk/board"},
450 {"DEVELOP/CEDIT", PROGS
.. "/develop/cedit/CEDIT"},
451 {"DEVELOP/COBJ", PROGS
.. "/develop/cObj/trunk/cObj"},
452 {"DEVELOP/ENTROPYV", PROGS
.. "/develop/entropyview/entropyview"},
453 {"DEVELOP/FASM", PROGS
.. "/develop/fasm/1.73/fasm"},
454 {"DEVELOP/H2D2B", PROGS
.. "/develop/h2d2b/trunk/h2d2b"},
455 {"DEVELOP/HEED", PROGS
.. "/develop/heed/trunk/heed"},
456 {"DEVELOP/KEYASCII", PROGS
.. "/develop/keyascii/trunk/keyascii"},
457 {"DEVELOP/MTDBG", PROGS
.. "/develop/mtdbg/mtdbg"},
458 {"DEVELOP/SCANCODE", PROGS
.. "/develop/scancode/trunk/scancode"},
459 {"DEVELOP/EXAMPLES/CIRCLE", PROGS
.. "/develop/examples/circle/trunk/circle"},
460 {"DEVELOP/EXAMPLES/COLORREF", PROGS
.. "/demos/colorref/trunk/colorref"},
461 {"DEVELOP/EXAMPLES/CONGET", PROGS
.. "/develop/libraries/console_coff/examples/test_gets"},
462 {"DEVELOP/EXAMPLES/CSLIDE", PROGS
.. "/demos/cslide/trunk/cslide"},
463 {"DEVELOP/EXAMPLES/THREAD", PROGS
.. "/develop/examples/thread/trunk/thread"},
464 {"DEVELOP/EXAMPLES/USE_MB", PROGS
.. "/demos/use_mb/use_mb"},
465 {"File Managers/KFAR", PROGS
.. "/fs/kfar/trunk/kfar"},
466 {"File Managers/OPENDIAL", PROGS
.. "/fs/opendial/opendial"},
467 {"GAMES/15", PROGS
.. "/games/15/trunk/15"},
468 {"GAMES/FREECELL", PROGS
.. "/games/freecell/freecell"},
469 {"GAMES/GOMOKU", PROGS
.. "/games/gomoku/trunk/gomoku"},
470 {"GAMES/LIGHTS", PROGS
.. "/games/sq_game/trunk/SQ_GAME"},
471 {"GAMES/LINES", PROGS
.. "/games/lines/lines"},
472 {"GAMES/MSQUARE", PROGS
.. "/games/MSquare/trunk/MSquare"},
473 {"GAMES/PIPES", PROGS
.. "/games/pipes/pipes"},
474 {"GAMES/PONG", PROGS
.. "/games/pong/trunk/pong"},
475 {"GAMES/PONG3", PROGS
.. "/games/pong3/trunk/pong3"},
476 {"GAMES/RSQUARE", PROGS
.. "/games/rsquare/trunk/rsquare"},
477 {"GAMES/SNAKE", PROGS
.. "/games/snake/trunk/snake"},
478 {"GAMES/SUDOKU", PROGS
.. "/games/sudoku/trunk/sudoku"},
479 {"GAMES/SW", PROGS
.. "/games/sw/trunk/sw"},
480 {"GAMES/TANKS", PROGS
.. "/games/tanks/trunk/tanks"},
481 {"GAMES/TETRIS", PROGS
.. "/games/tetris/trunk/tetris"},
482 {"LIB/ARCHIVER.OBJ", PROGS
.. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
483 {"LIB/BOX_LIB.OBJ", PROGS
.. "/develop/libraries/box_lib/trunk/box_lib.obj"},
484 {"LIB/BUF2D.OBJ", PROGS
.. "/develop/libraries/buf2d/trunk/buf2d.obj"},
485 {"LIB/CONSOLE.OBJ", PROGS
.. "/develop/libraries/console_coff/console.obj"},
486 {"LIB/CNV_PNG.OBJ", PROGS
.. "/media/zsea/plugins/png/cnv_png.obj"},
487 {"LIB/DLL.OBJ", PROGS
.. "/develop/libraries/dll/dll.obj"},
488 {"LIB/HTTP.OBJ", PROGS
.. "/develop/libraries/http/http.obj"},
489 {"LIB/LIBCRASH.OBJ", PROGS
.. "/develop/libraries/libcrash/libcrash.obj"},
490 {"LIB/LIBGFX.OBJ", PROGS
.. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
491 {"LIB/LIBIMG.OBJ", PROGS
.. "/develop/libraries/libs-dev/libimg/libimg.obj"},
492 {"LIB/LIBINI.OBJ", PROGS
.. "/develop/libraries/libs-dev/libini/libini.obj"},
493 {"LIB/LIBIO.OBJ", PROGS
.. "/develop/libraries/libs-dev/libio/libio.obj"},
494 {"LIB/MSGBOX.OBJ", PROGS
.. "/develop/libraries/msgbox/msgbox.obj"},
495 {"LIB/NETWORK.OBJ", PROGS
.. "/develop/libraries/network/network.obj"},
496 {"LIB/PROC_LIB.OBJ", PROGS
.. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
497 {"LIB/RASTERWORKS.OBJ", PROGS
.. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
498 {"LIB/SORT.OBJ", PROGS
.. "/develop/libraries/sorter/sort.obj"},
499 {"LIB/TINYGL.OBJ", PROGS
.. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
500 {"MEDIA/ANIMAGE", PROGS
.. "/media/animage/trunk/animage"},
501 {"MEDIA/KIV", PROGS
.. "/media/kiv/trunk/kiv"},
502 {"MEDIA/LISTPLAY", PROGS
.. "/media/listplay/trunk/listplay"},
503 {"MEDIA/MIDAMP", PROGS
.. "/media/midamp/trunk/midamp"},
504 {"MEDIA/MP3INFO", PROGS
.. "/media/mp3info/mp3info"},
505 {"MEDIA/PALITRA", PROGS
.. "/media/palitra/trunk/palitra"},
506 {"MEDIA/PIANO", PROGS
.. "/media/piano/piano"},
507 {"MEDIA/STARTMUS", PROGS
.. "/media/startmus/trunk/STARTMUS"},
508 {"NETWORK/PING", PROGS
.. "/network/ping/ping"},
509 {"NETWORK/NETCFG", PROGS
.. "/network/netcfg/netcfg"},
510 {"NETWORK/NETSTAT", PROGS
.. "/network/netstat/netstat"},
511 {"NETWORK/NSINST", PROGS
.. "/network/netsurf/nsinstall"},
512 {"NETWORK/NSLOOKUP", PROGS
.. "/network/nslookup/nslookup"},
513 {"NETWORK/PASTA", PROGS
.. "/network/pasta/pasta"},
514 {"NETWORK/SYNERGYC", PROGS
.. "/network/synergyc/synergyc"},
515 {"NETWORK/SNTP", PROGS
.. "/network/sntp/sntp"},
516 {"NETWORK/TELNET", PROGS
.. "/network/telnet/telnet"},
517 {"NETWORK/@ZEROCONF", PROGS
.. "/network/zeroconf/zeroconf"},
518 {"NETWORK/FTPC", PROGS
.. "/network/ftpc/ftpc"},
519 {"NETWORK/FTPD", PROGS
.. "/network/ftpd/ftpd"},
520 {"NETWORK/TFTPC", PROGS
.. "/network/tftpc/tftpc"},
521 {"NETWORK/IRCC", PROGS
.. "/network/ircc/ircc"},
522 {"NETWORK/DOWNLOADER", PROGS
.. "/network/downloader/downloader"},
523 {"NETWORK/VNCC", PROGS
.. "/network/vncc/vncc"},
524 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
525 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
526 {"DRIVERS/AR81XX.SYS", "../drivers/ethernet/ar81xx.sys"},
527 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
528 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
529 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
530 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
531 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
532 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
533 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
534 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
535 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
536 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
537 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
538 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
539 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
540 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
541 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
542 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
543 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
544 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
545 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
546 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
547 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
548 {"DRIVERS/HDAUDIO.SYS", "../drivers/audio/intel_hda/hdaudio.sys"},
549 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
550 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
551 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
552 {"DRIVERS/AC97.SYS", "../drivers/audio/ac97.sys"},
553 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
554 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
555 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
556 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
557 {"DRIVERS/SDHCI.SYS", "../drivers/sdhci/sdhci.sys"},
559 tup
.append_table(extra_files
, {
560 {"HD_Load/9x2klbr/", PROGS
.. "/hd_load/9x2klbr/9x2klbr.exe"},
561 {"HD_Load/MeOSLoad/", PROGS
.. "/hd_load/meosload/MeOSload.com"},
562 {"HD_Load/mtldr/", PROGS
.. "/hd_load/mtldr/mtldr"},
563 {"HD_Load/", PROGS
.. "/hd_load/mtldr_install/mtldr_install.exe"},
564 {"HD_Load/USB_Boot/", PROGS
.. "/hd_load/usb_boot/BOOT_F32.BIN"},
565 {"HD_Load/USB_Boot/", PROGS
.. "/hd_load/usb_boot/MTLD_F32"},
566 {"HD_Load/USB_Boot/", PROGS
.. "/hd_load/usb_boot/inst.exe"},
567 {"HD_Load/USB_Boot/", PROGS
.. "/hd_load/usb_boot/setmbr.exe"},
568 {"HD_Load/USB_boot_old/", PROGS
.. "/hd_load/usb_boot_old/MeOSload.com"},
569 {"HD_Load/USB_boot_old/", PROGS
.. "/hd_load/usb_boot_old/enable.exe"},
570 {"kolibrios/3D/3dsheart", PROGS
.. "/demos/3dsheart/trunk/3dsheart"},
571 {"kolibrios/3D/flatwav", PROGS
.. "/demos/flatwav/trunk/flatwav"},
572 {"kolibrios/3D/mos3de", PROGS
.. "/demos/mos3de/mos3de"},
573 {"kolibrios/3D/info3ds/INFO3DS", PROGS
.. "/develop/info3ds/info3ds"},
574 {"kolibrios/3D/textures1", PROGS
.. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
575 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS
.. "/develop/info3ds/info3ds_u"},
576 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS
.. "/media/voxel_editor/trunk/voxel_editor"},
577 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS
.. "/media/voxel_editor/utilites/vox_creator"},
578 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS
.. "/media/voxel_editor/utilites/vox_mover"},
579 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS
.. "/media/voxel_editor/utilites/vox_tgl"},
580 {"kolibrios/demos/life3", PROGS
.. "/games/life3/trunk/life3"},
581 {"kolibrios/demos/qjulia", PROGS
.. "/demos/qjulia/trunk/qjulia"},
582 {"kolibrios/develop/utils/koldbg", PROGS
.. "/develop/koldbg/koldbg"},
583 {"kolibrios/games/Almaz", PROGS
.. "/games/almaz/almaz"},
584 {"kolibrios/games/arcanii", PROGS
.. "/games/arcanii/trunk/arcanii"},
585 {"kolibrios/games/bomber/bomber", PROGS
.. "/games/bomber/bomber"},
586 {"kolibrios/games/bomber/bomberdata.bin", PROGS
.. "/games/bomber/sounds/bomberdata.bin"},
587 {"kolibrios/games/codemaster/binary_master", PROGS
.. "/games/codemaster/binary_master"},
588 {"kolibrios/games/codemaster/hang_programmer", PROGS
.. "/games/codemaster/hang_programmer"},
589 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS
.. "/games/codemaster/kolibri_puzzle"},
590 {"kolibrios/games/megamaze", PROGS
.. "/games/megamaze/trunk/megamaze"},
591 {"kolibrios/games/invaders", PROGS
.. "/games/invaders/invaders"},
592 {"kolibrios/games/phenix", PROGS
.. "/games/phenix/trunk/phenix"},
593 {"kolibrios/games/soko/soko", PROGS
.. "/games/soko/trunk/SOKO"},
594 {"kolibrios/media/img_transform", PROGS
.. "/media/img_transform/img_transform"},
595 {"kolibrios/media/zsea/zsea", PROGS
.. "/media/zsea/zSea"},
596 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS
.. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
597 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS
.. "/media/zsea/plugins/gif/cnv_gif.obj"},
598 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS
.. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
599 {"kolibrios/media/zsea/plugins/convert.obj", PROGS
.. "/media/zsea/plugins/convert/convert.obj"},
600 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS
.. "/media/zsea/plugins/rotate/rotate.obj"},
601 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS
.. "/media/zsea/plugins/scaling/scaling.obj"},
602 {"kolibrios/utils/AMDtemp", PROGS
.. "/system/amd_temp_view/AMDtemp"},
603 {"kolibrios/utils/calcplus", PROGS
.. "/other/calcplus/calcplus"},
604 {"kolibrios/utils/kfm/kfm", PROGS
.. "/fs/kfm/trunk/kfm"},
605 {"kolibrios/utils/tedit/t_edit", PROGS
.. "/other/t_edit/t_edit"},
607 -- For russian build, add russian-only programs.
608 if build_type
== "rus" then tup
.append_table(img_files
, {
609 {"PERIOD", PROGS
.. "/other/period/trunk/period"},
610 {"GAMES/KLAVISHA", PROGS
.. "/games/klavisha/trunk/klavisha"},
611 {"DEVELOP/EXAMPLES/TESTCON2", PROGS
.. "/develop/libraries/console_coff/examples/testcon2_rus"},
612 }) else tup
.append_table(img_files
, {
613 {"DEVELOP/TESTCON2", PROGS
.. "/develop/libraries/console_coff/examples/testcon2_eng"},
616 if build_type
== "rus" then tup
.append_table(extra_files
, {
617 {"kolibrios/games/Dungeons/Dungeons", PROGS
.. "/games/Dungeons/Dungeons"},
620 end -- tup.getconfig('NO_FASM') ~= 'full'
622 -- Programs that require NASM to compile.
623 if tup
.getconfig('NO_NASM') ~= 'full' then
624 tup
.append_table(img_files
, {
625 {"ACLOCK", PROGS
.. "/demos/aclock/trunk/aclock"},
626 {"LOD", PROGS
.. "/fs/lod/lod"},
627 {"TIMER", PROGS
.. "/other/Timer/timer"},
628 {"TINFO", PROGS
.. "/system/tinfo/tinfo"},
629 {"DEVELOP/MSTATE", PROGS
.. "/develop/mstate/mstate"},
630 {"DEVELOP/GENFILES", PROGS
.. "/testing/genfiles/GenFiles"},
631 {"GAMES/C4", PROGS
.. "/games/c4/trunk/c4"},
632 {"MEDIA/FILLSCR", PROGS
.. "/media/FillScr/fillscr"},
634 tup
.append_table(extra_files
, {
636 end -- tup.getconfig('NO_NASM') ~= 'full'
638 -- Programs that require JWASM to compile.
639 if tup
.getconfig('NO_JWASM') ~= 'full' then
640 tup
.append_table(img_files
, {
641 {"LIB/INPUTBOX.OBJ", PROGS
.. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
643 if tup
.getconfig('NO_GCC') ~= 'full' then
644 tup
.append_table(img_files
, {
645 {"RUN", PROGS
.. "/system/RunOD/1/RUN"},
648 end -- tup.getconfig('NO_JWASM') ~= 'full'
650 -- Programs that require C-- to compile.
651 if tup
.getconfig('NO_CMM') ~= 'full' then
652 tup
.append_table(img_files
, {
653 {"@RESHARE", PROGS
.. "/cmm/misc/reshare.com"},
654 {"APP_PLUS", PROGS
.. "/cmm/app_plus/app_plus.com"},
655 {"EASYSHOT", PROGS
.. "/cmm/misc/easyshot.com"},
656 {"MOUSECFG", PROGS
.. "/cmm/mousecfg/mousecfg.com"},
657 {"BARSCFG", PROGS
.. "/cmm/barscfg/barscfg.com"},
658 {"SYSPANEL", PROGS
.. "/cmm/misc/software_widget.com"},
659 {"SYSMON", PROGS
.. "/cmm/sysmon/sysmon.com"},
660 {"TMPDISK", PROGS
.. "/cmm/tmpdisk/tmpdisk.com"},
661 {"DEVELOP/CLIPVIEW", PROGS
.. "/cmm/clipview/clipview.com"},
662 {"DEVELOP/MENU", PROGS
.. "/cmm/menu/menu.com"},
663 {"DEVELOP/PIPET", PROGS
.. "/cmm/misc/pipet.com"},
664 {"File Managers/EOLITE", PROGS
.. "/cmm/eolite/Eolite.com"},
665 {"File Managers/KFM2", PROGS
.. "/cmm/misc/kfm2.com"},
666 {"KF_VIEW", PROGS
.. "/cmm/kf_font_viewer/font_viewer.com"},
667 {"DEVELOP/DIFF", PROGS
.. "/cmm/diff/diff.com"},
668 {"GAMES/CLICKS", PROGS
.. "/games/clicks/trunk/clicks.com"},
669 {"GAMES/MBLOCKS", PROGS
.. "/cmm/misc/mblocks.com"},
670 {"GAMES/FLOOD-IT", PROGS
.. "/games/flood-it/trunk/flood-it.com"},
671 {"GAMES/MINE", PROGS
.. "/games/mine/trunk/mine"},
672 {"GAMES/NUMBERS", PROGS
.. "/games/FindNumbers/trunk/FindNumbers"},
673 {"MEDIA/PIXIE", PROGS
.. "/cmm/pixie2/pixie.com"},
674 {"MEDIA/ICONEDIT", PROGS
.. "/cmm/iconedit/iconedit.com"},
675 {"NETWORK/DL", PROGS
.. "/cmm/downloader/dl.com"},
676 {"NETWORK/WEBVIEW", PROGS
.. "/cmm/browser/WebView.com"},
678 tup
.append_table(extra_files
, {
679 {"kolibrios/drivers/drvinst.kex", PROGS
.. "/cmm/drvinst/drvinst.com"},
680 {"kolibrios/drivers/acpi/install.kex", PROGS
.. "/cmm/misc/acpi_install.com"},
681 {"kolibrios/games/pig/pigex", PROGS
.. "/cmm/examples/pigex.com"},
682 {"kolibrios/games/the_bus/the_bus", PROGS
.. "/cmm/the_bus/the_bus.com"},
683 {"kolibrios/KolibriNext/install.kex", PROGS
.. "/cmm/misc/install.com"},
684 {"kolibrios/utils/appearance", PROGS
.. "/cmm/appearance/appearance.com"},
685 {"kolibrios/utils/dicty.kex", PROGS
.. "/cmm/dicty/dicty.com"},
686 {"kolibrios/utils/notes", PROGS
.. "/cmm/notes/notes.com"},
687 {"kolibrios/utils/osupdate", PROGS
.. "/cmm/misc/osupdate.com"},
688 {"kolibrios/utils/quark", PROGS
.. "/cmm/quark/quark.com"},
690 end -- tup.getconfig('NO_CMM') ~= 'full'
692 -- Programs that require MSVC to compile.
693 if tup
.getconfig('NO_MSVC') ~= 'full' then
694 tup
.append_table(img_files
, {
695 {"GRAPH", PROGS
.. "/other/graph/graph"},
696 {"TABLE", PROGS
.. "/other/table/table"},
697 {"MEDIA/AC97SND", PROGS
.. "/media/ac97snd/ac97snd.bin"},
698 {"GAMES/KOSILKA", PROGS
.. "/games/kosilka/kosilka"},
699 {"GAMES/RFORCES", PROGS
.. "/games/rforces/trunk/rforces"},
700 {"GAMES/XONIX", PROGS
.. "/games/xonix/trunk/xonix"},
702 tup
.append_table(extra_files
, {
703 {"kolibrios/games/fara/fara", PROGS
.. "/games/fara/trunk/fara"},
704 {"kolibrios/games/LaserTank/LaserTank", PROGS
.. "/games/LaserTank/trunk/LaserTank"},
706 end -- tup.getconfig('NO_MSVC') ~= 'full'
708 -- Programs that require TCC to compile.
709 if tup
.getconfig('NO_TCC') ~= 'full' then
710 tup
.append_table(img_files
, {
711 {"NETWORK/WHOIS", PROGS
.. "/network/whois/whois"},
712 {"SHELL", PROGS
.. "/system/shell/shell"},
714 tup
.append_table(extra_files
, {
715 {"kolibrios/utils/thashview", PROGS
.. "/other/TinyHashView/thashview"},
716 {"kolibrios/demos/kmatrix", PROGS
.. "/demos/kmatrix/trunk/kmatrix"},
717 {"kolibrios/utils/graph", PROGS
.. "/other/graph/branches/tcc_current/graph"},
718 {"kolibrios/develop/TinyBasic/TinyBasic", PROGS
.. "/develop/tinybasic-1.0.4/tinybasic"},
719 {"kolibrios/develop/TinyBasic/bas/", PROGS
.. "/develop/tinybasic-1.0.4/bas/*"},
720 {"kolibrios/develop/TinyBasic/TinyBasic.man", PROGS
.. "/develop/tinybasic-1.0.4/doc/tinybasic.man"},
721 -- {"kolibrios/utils/teatool", PROGS .. "/other/TEAtool/teatool"},
722 {"kolibrios/utils/passwordgen", PROGS
.. "/other/PasswordGen/passwordgen"},
723 {"kolibrios/utils/kruler", PROGS
.. "/other/kruler/kruler"},
724 {"kolibrios/media/qr_tool", PROGS
.. "/media/qr_tool/qr_tool"},
725 {"kolibrios/utils/weather", PROGS
.. "/other/Weather/weather"},
726 {"kolibrios/settings/weather.json", PROGS
.. "/other/Weather/weather.json"},
727 {"kolibrios/utils/man2html", PROGS
.."/other/man2html/man2html"},
729 end -- tup.getconfig('NO_TCC') ~= 'full'
731 -- Programs that require GCC to compile.
732 if tup
.getconfig('NO_GCC') ~= 'full' then
733 tup
.append_table(img_files
, {
734 {"GAMES/REVERSI", PROGS
.. "/games/reversi/trunk/reversi"},
735 {"LIB/BASE64.OBJ", PROGS
.. "/develop/libraries/base64/base64.obj"},
736 {"LIB/LIBC.OBJ", PROGS
.. "/develop/ktcc/trunk/libc.obj/source/libc.obj"},
737 {"LIB/ICONV.OBJ", PROGS
.. "/develop/libraries/iconv/iconv.obj"},
738 -- {"LIB/MTAR.OBJ", PROGS .. "/develop/libraries/microtar/mtar.obj"},
740 tup
.append_table(extra_files
, {
741 -- {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
742 {"kolibrios/3D/gears", PROGS
.. "/demos/gears/gears"},
743 {"kolibrios/emul/e80/e80", PROGS
.. "/emulator/e80/trunk/e80"},
744 {"kolibrios/emul/uarm/", "../contrib/other/uarm/uARM"},
745 {"kolibrios/games/2048", PROGS
.. "/games/2048/2048"},
746 {"kolibrios/games/checkers", PROGS
.. "/games/checkers/trunk/checkers"},
747 {"kolibrios/games/donkey", PROGS
.. "/games/donkey/donkey"},
748 {"kolibrios/games/heliothryx", PROGS
.. "/games/heliothryx/heliothryx"},
749 {"kolibrios/games/marblematch3", PROGS
.. "/games/marblematch3/marblematch3"},
750 {"kolibrios/games/nsider", PROGS
.. "/games/nsider/nsider"},
751 {"kolibrios/games/fridge/", PROGS
.. "/games/fridge/fridge"},
752 {"kolibrios/develop/lua/lua", "../contrib/other/lua-5.2.0/lua"},
753 {"kolibrios/develop/lua/calc.lua", "../contrib/other/lua-5.2.0/calc.lua"},
754 {"kolibrios/develop/lua/console.lua", "../contrib/other/lua-5.2.0/console.lua"},
755 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group
= "../contrib/sdk/lib/<libc.dll.a>"},
756 {"kolibrios/lib/dr_flac.obj", "../contrib/media/dr_flac/dr_flac.obj"},
757 {"kolibrios/lib/minimp3.obj", "../contrib/media/minimp3/minimp3.obj"},
758 {"kolibrios/lib/sqlite3.dll", "../contrib/sdk/bin/sqlite3.dll", group
= "../contrib/sdk/lib/<libsqlite3.dll.a>"},
759 {"kolibrios/lib/stb_vorbis.obj", "../contrib/media/stb_vorbis/stb_vorbis.obj"},
760 {"kolibrios/utils/minizip/minizip", PROGS
.. "/fs/minizip/minizip"},
761 {"kolibrios/utils/minizip/miniunz", PROGS
.. "/fs/minizip/miniunz"},
762 {"kolibrios/develop/c--/c--", PROGS
.. "/develop/cmm/cmm"},
763 {"kolibrios/develop/tcc/tcc", PROGS
.. "/develop/ktcc/trunk/source/tcc"},
764 {"kolibrios/develop/sqlite3/sqlite3", "../contrib/sdk/sources/sqlite3/shell/sqlite3"},
765 {"kolibrios/develop/utils/objconv", PROGS
.. "/develop/objconv/objconv"},
766 {"kolibrios/drivers/sensors/k10temp.sys", "../drivers/sensors/k10temp/k10temp.sys"},
767 {"kolibrios/drivers/acpi/acpi.sys", "../drivers/devman/acpi.sys"},
768 {"kolibrios/drivers/acpi/acpi", "../drivers/devman/acpi"},
769 {"kolibrios/drivers/geode/geode.sys", "common/drivers/geode/geode.sys"}, -- there is also an autobuid version that is not working
770 {"kolibrios/drivers/geode/geode", "../drivers/audio/a5536/geode"},
772 if tup
.getconfig('NO_NASM') ~= 'full' then
773 tup
.append_table(extra_files
, {
774 {"kolibrios/games/tyrian/", "../contrib/games/opentyrian/opentyrian"},
775 {"kolibrios/games/tyrian/data/", "common/games/tyrian/data/*"},
776 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
777 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
778 {"kolibrios/games/wolf3d/", "../contrib/games/wolf3d/wolf3d"},
779 {"kolibrios/games/wolf3d/", "common/games/wolf3d/*"},
780 {"kolibrios/emul/dgen/dgen", PROGS
.. "/emulator/dgen-sdl-1.33/dgen"},
781 {"kolibrios/emul/dgen/dgen.html", PROGS
.. "/emulator/dgen-sdl-1.33/dgen.html"},
782 {"kolibrios/emul/dgen/dgenrc.html", PROGS
.. "/emulator/dgen-sdl-1.33/dgenrc.html"},
785 -- For russian build, add russian-only programs.
786 if build_type
== "rus" then tup
.append_table(extra_files
, {
787 {"kolibrios/games/21days", PROGS
.. "/games/21days/21days"},
789 end -- tup.getconfig('NO_GCC') ~= 'full'
792 tup
.include("../skins/skinlist.lua")
794 --[================================[ CODE ]================================]--
795 -- expand extra_files and similar
796 function expand_extra_files(files
)
798 for i
,v
in ipairs(files
) do
799 if string.match(v
[2], "%*")
801 local g
= tup
.glob(v
[2])
802 for j
,x
in ipairs(g
) do
803 table.insert(result
, {v
[1], x
, group
=v
.group
})
806 if v
.cp1251_from
then
807 tup
.definerule
{inputs
= {v
.cp1251_from
}, command
= 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs
= {v
[2]}}
809 table.insert(result
, {v
[1], v
[2], group
=v
.group
})
815 -- append skins to extra_files
816 for i
,v
in ipairs(skinlist
) do
817 table.insert(extra_files
, {"kolibrios/res/skins/", "../skins/" .. v
})
820 -- prepare distr_extra_files and iso_extra_files: expand and append common part
821 extra_files
= expand_extra_files(extra_files
)
822 distr_extra_files
= expand_extra_files(distr_extra_files
)
823 iso_extra_files
= expand_extra_files(iso_extra_files
)
824 tup
.append_table(distr_extra_files
, extra_files
)
825 tup
.append_table(iso_extra_files
, extra_files
)
827 -- generate list of directories to be created inside kolibri.img
830 for i
,v
in ipairs(img_files
) do
836 slash_pos
= string.find(img_file
, '/', slash_pos
+ 1)
837 if not slash_pos
then break end
838 table.insert(img_dirs
, string.sub(img_file
, 1, slash_pos
- 1))
841 -- tup does not want to see hidden files as dependencies
842 if not string.match(local_file
, "/%.") then
843 table.insert(input_deps
, v
.group
or local_file
)
847 -- create empty 1.44M file
848 make_img_command
= '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
849 make_img_command
= make_img_command
.. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
850 -- format it as a standard 1.44M floppy
851 make_img_command
= make_img_command
.. " && mformat -f 1440 -i kolibri.img ::"
853 if tup
.getconfig("NO_FASM") ~= "full" then
854 bootloader
= "../kernel/trunk/bootloader/boot_fat12.bin"
855 make_img_command
= make_img_command
.. " && dd if=" .. bootloader
.. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
856 table.insert(input_deps
, bootloader
)
860 for i
,v
in ipairs(img_dirs
) do
861 if v
~= img_dirs
[i
-1] then
862 make_img_command
= make_img_command
.. ' && mmd -i kolibri.img "::' .. v
.. '"'
866 output_deps
= {"kolibri.img"}
867 for i
,v
in ipairs(img_files
) do
869 if v
[1] == "KERNEL.MNT" and tup
.getconfig("INSERT_REVISION_ID") ~= ""
871 -- for kernel.mnt, insert autobuild revision identifier
872 -- from .revision to .kernel.mnt
873 -- note that .revision and .kernel.mnt must begin with .
874 -- to prevent tup from tracking them
875 if build_type
== "rus"
876 then str
='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(get-current-revision)]"|iconv -f utf8 -t cp866)'
877 else str
='$(date -u +"[auto-build %d %b %Y %R, r$(get-current-revision)]")'
879 str
= string.gsub(str
, "%$", "\\$") -- escape $ as \$
880 str
= string.gsub(str
, "%%", "%%%%") -- escape % as %%
881 make_img_command
= make_img_command
.. " && cp " .. local_file
.. " .kernel.mnt"
882 make_img_command
= make_img_command
.. " && str=" .. str
883 make_img_command
= make_img_command
.. ' && echo -n $str | dd of=.kernel.mnt bs=1 seek=`expr 274 - length "$str"` conv=notrunc 2>/dev/null'
884 local_file
= ".kernel.mnt"
885 table.insert(output_deps
, local_file
)
887 make_img_command
= make_img_command
.. ' && mcopy -moi kolibri.img "' .. local_file
.. '" "::' .. v
[1] .. '"'
890 -- generate tup rule for kolibri.img
891 tup
.definerule
{inputs
= input_deps
, command
= make_img_command
, outputs
= output_deps
}
893 -- generate command and dependencies for mkisofs
894 input_deps
= {"kolibri.img"}
896 for i
,v
in ipairs(iso_extra_files
) do
897 iso_files_list
= iso_files_list
.. ' "' .. v
[1] .. '=' .. v
[2] .. '"'
898 table.insert(input_deps
, v
.group
or v
[2])
901 -- generate tup rule for kolibri.iso
902 if tup
.getconfig("INSERT_REVISION_ID") ~= ""
903 then volume_id
= "KolibriOS r`get-current-revision`"
904 else volume_id
= "KolibriOS"
906 tup
.definerule
{inputs
= input_deps
, command
=
907 '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
908 'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
909 '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id
.. '" -sysid "KOLIBRI" ' ..
910 '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list
.. ' 2>&1',
911 outputs
= {"kolibri.iso"}}
913 -- generate command and dependencies for distribution kit
915 tup
.definerule
{inputs
= {"kolibri.img"}, command
= cp
, outputs
= {"distribution_kit/kolibri.img"}}
916 for i
,v
in ipairs(distr_extra_files
) do
917 cmd
= cp
:gsub("%%f", v
[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
918 if string.sub(v
[1], -1) == "/"
919 then tup
.definerule
{inputs
= {v
.group
or v
[2]}, command
= cmd
, outputs
= {"distribution_kit/" .. v
[1] .. tup
.file(v
[2])}}
920 else tup
.definerule
{inputs
= {v
.group
or v
[2]}, command
= cmd
, outputs
= {"distribution_kit/" .. v
[1]}}
925 raw_mbr
= "../programs/hd_load/usb_boot/mbr"
926 raw_bootsector
= "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
928 {"KOLIBRI.IMG", "kolibri.img"},
929 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
930 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
931 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
932 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
933 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
934 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
935 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
936 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kernel.mnt.ext_loader"}
939 for i
,v
in ipairs(img_files
) do
940 raw_file
= "KOLIBRIOS/" .. string.upper(v
[1])
942 tup
.append_table(raw_files
, {{raw_file
, local_file
}})
945 tup
.append_table(raw_files
, extra_files
)
947 make_raw_command
= '^ MKRAW kolibri.raw^ ' -- for tup: don't write full command to logs
948 make_raw_command
= make_raw_command
.. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=128 2>&1"
949 make_raw_command
= make_raw_command
.. " && parted --script kolibri.raw mktable gpt"
950 make_raw_command
= make_raw_command
.. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 127"
951 make_raw_command
= make_raw_command
.. " && parted --script kolibri.raw set 1 esp on"
952 make_raw_command
= make_raw_command
.. " && sgdisk kolibri.raw --hybrid 1:EE"
953 make_raw_command
= make_raw_command
.. " && dd if=" .. raw_mbr
.. " of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
954 make_raw_command
= make_raw_command
.. " && dd if=" .. raw_mbr
.. " of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
955 make_raw_command
= make_raw_command
.. " && mformat -i kolibri.raw@@1M -v KOLIBRIOS -T \\$(((128-1-1)*1024*1024/512)) -h 16 -s 32 -H 2048 -c 1 -F -B " .. raw_bootsector
.. " ::"
957 -- generate list of directories to be created inside kolibri.raw
959 input_deps
= {raw_mbr
, raw_bootsector
}
960 for i
,v
in ipairs(raw_files
) do
965 for dir
in string.gmatch(raw_file
, "([^/]+)/") do
966 cur_dir
= cur_dir
.. "/" .. string.upper(dir
)
967 raw_dirs
[cur_dir
] = true
970 -- tup does not want to see hidden files as dependencies
971 if not string.match(local_file
, "/%.") then
972 table.insert(input_deps
, v
.group
or local_file
)
976 -- Sorting is needed to mkdir /one before /one/two
978 for k
in pairs(raw_dirs
) do table.insert(raw_dirs_sorted
, k
) end
979 table.sort(raw_dirs_sorted
)
980 raw_dirs
= raw_dirs_sorted
984 for _
, dir
in pairs(raw_dirs
) do
985 make_raw_command
= make_raw_command
.. ' && mmd -i kolibri.raw@@1M "::' .. dir
.. '"'
988 -- Put copying of raw_files into separate scripts to avoid 'execl: Argument list too long'
989 make_raw_command2
= "true"
990 make_raw_command3
= "true"
992 for i
,v
in ipairs(raw_files
) do
994 cmd
= ' && mcopy -moi kolibri.raw@@1M "' .. local_file
.. '" "::' .. v
[1] .. '"'
995 if i
< 1024 then -- 1024 commands require ~100kiB which is below 128kiB with some margin
996 make_raw_command2
= make_raw_command2
.. cmd
998 make_raw_command3
= make_raw_command3
.. cmd
1002 make_raw_command2_file
= "make_raw_command2_file"
1003 make_raw_command3_file
= "make_raw_command3_file"
1004 tup
.definerule
{inputs
= {}, command
= "echo '" .. make_raw_command2
.. "' > " .. make_raw_command2_file
, outputs
= {make_raw_command2_file
}}
1005 tup
.definerule
{inputs
= {}, command
= "echo '" .. make_raw_command3
.. "' > " .. make_raw_command3_file
, outputs
= {make_raw_command3_file
}}
1007 table.insert(input_deps
, make_raw_command2_file
)
1008 table.insert(input_deps
, make_raw_command3_file
)
1009 -- generate tup rule for kolibri.raw
1010 tup
.definerule
{inputs
= input_deps
, command
= make_raw_command
.. " && bash " .. make_raw_command2_file
.. " && bash " .. make_raw_command3_file
, outputs
= {"kolibri.raw"}}