Subversion Repositories Kolibri OS

Rev

Rev 6225 | Rev 6237 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5098 clevermous 1
-- Do nothing unless explicitly requested in tup.config.
2
build_type = tup.getconfig('BUILD_TYPE')
3
if build_type == "" then
4
  return
5
end
6
 
7
--[================================[ DATA ]================================]--
8
 
9
PROGS = "../programs"
10
 
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.
14
img_files = {
15
 {"MACROS.INC", PROGS .. "/macros.inc"},
16
 {"CONFIG.INC", PROGS .. "/config.inc"},
17
 {"STRUCT.INC", PROGS .. "/struct.inc"},
5827 leency 18
 {"TOOLBAR.PNG", PROGS .. "/cmm/textreader/toolbar.png"},
5098 clevermous 19
 {"DEVELOP/TE_ICON.PNG", PROGS .. "/other/t_edit/te_icon.png"},
20
 {"DEVELOP/TL_NOD_16.PNG", PROGS .. "/other/t_edit/tl_nod_16.png"},
21
 {"DEVELOP/TL_SYS_16.PNG", PROGS .. "/media/log_el/trunk/tl_sys_16.png"},
22
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
6063 leency 23
 {"FB2READ", "common/fb2read"},
5098 clevermous 24
 {"File Managers/Z_ICONS.PNG", PROGS .. "/fs/opendial/z_icons.png"},
25
 {"File Managers/BUTTONS.BMP", PROGS .. "/fs/kfm/trunk/buttons.bmp"},
26
 {"File Managers/ICONS.BMP", PROGS .. "/fs/kfm/trunk/icons.bmp"},
27
 {"FONTS/LITT.CHR", PROGS .. "/demos/bgitest/trunk/FONTS/LITT.CHR"},
5764 leency 28
 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
5098 clevermous 29
 {"GAMES/SNAKE.INI", PROGS .. "/games/snake/trunk/snake.ini"},
30
 {"MEDIA/KIV.INI", PROGS .. "/media/kiv/trunk/kiv.ini"},
5468 leency 31
 {"MEDIA/PIXIE/PIXIE.INI", PROGS .. "/cmm/pixie/pixie.ini"},
32
 {"MEDIA/PIXIE/S_DARK.PNG", PROGS .. "/cmm/pixie/s_dark.png"},
33
 {"MEDIA/PIXIE/S_LIGHT.PNG", PROGS .. "/cmm/pixie/s_light.png"},
34
 {"MEDIA/PIXIE/MINIMP3", PROGS .. "/cmm/pixie/minimp3"},
5098 clevermous 35
 {"NETWORK/WV_SKIN.PNG", PROGS .. "/cmm/browser/wv_skin.png"},
5873 pathoswith 36
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
5098 clevermous 37
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
5425 leency 38
 {"ICONS32.PNG", "common/icons32.png"},
5762 leency 39
 {"INDEX.HTM", "common/index_htm"},
5098 clevermous 40
 {"KERPACK", "common/kerpack"},
5873 pathoswith 41
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
5098 clevermous 42
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
43
 {"KUZKINA.MID", "common/kuzkina.mid"},
44
 {"LANG.INC", build_type .. "/lang.inc"},
45
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
46
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
5453 leency 47
 {"SETTINGS/TASKBAR.INI", build_type .. "/settings/taskbar.ini"},
5863 punk_joker 48
 {"SETTINGS/ESKIN.INI", "common/settings/eskin.ini"},
5098 clevermous 49
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
5394 eAndrew 50
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
6065 leency 51
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
5098 clevermous 52
 {"NOTIFY3.PNG", "common/notify3.png"},
5972 leency 53
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
5098 clevermous 54
 {"VMODE", "common/vmode"},
55
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
56
 {"File Managers/EOLITE.INI", "common/File Managers/eolite.ini"},
57
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
58
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
59
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
5882 pavelyakov 60
 {"LIB/FS.OBJ", "common/lib/fs.obj"},
61
 {"LIB/ARRAY.OBJ", "common/lib/array.obj"},
62
 {"LIB/LIBRARY.OBJ", "common/lib/library.obj"},
5098 clevermous 63
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
64
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
5647 leency 65
 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
66
 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
67
 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
68
 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
69
 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
5098 clevermous 70
 {"SETTINGS/NETWORK.INI", build_type .. "/settings/network.ini"},
71
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
72
 {"NETWORK/USERS.INI", "common/network/users.ini"},
73
}
74
-- For russian build, add russian-only files.
75
if build_type == "rus" then tup.append_table(img_files, {
76
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
77
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
5502 punk_joker 78
 {"SETTINGS/GAME_CENTER.INI", "rus/settings/game_center.ini"},
5098 clevermous 79
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
80
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
81
 {"PIPETKA", build_type .. "/pipetka"},
82
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
83
 {"GAMES/APPDATA.DAT", build_type .. "/games/appdata.dat"},
84
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
85
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
86
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
87
 {"GAMES/WHOWTBAM", build_type .. "/games/whowtbam"},
88
}) else tup.append_table(img_files, {
89
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
5502 punk_joker 90
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
5098 clevermous 91
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
92
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
93
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
94
}) end
95
if build_type == "it" then tup.append_table(img_files, {
96
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
97
}) else tup.append_table(img_files, {
98
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
99
}) end
100
 
101
--[[
102
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
5132 clevermous 103
 
5098 clevermous 104
The first subitem of every item is name relative to the root of ISO or distribution kit,
105
the second is name of local file.
5132 clevermous 106
 
5098 clevermous 107
If the first subitem ends in /, the last component of local file name is appended.
108
The last component of the second subitem may contain '*'; if so, it will be expanded
109
according to usual rules, but without matching directories.
5132 clevermous 110
 
111
Tup does not allow a direct dependency on a file that is generated in a directory
112
other than where Tupfile.lua is and its children. Most files are generated
113
in the directory with Tupfile.lua; for other files, the item should contain
114
a named subitem "group=path/" and the file should be put in .
5098 clevermous 115
--]]
116
extra_files = {
117
 {"/", build_type .. "/distr_data/autorun.inf"},
118
 {"/", build_type .. "/distr_data/KolibriOS_icon.ico"},
119
 {"/", build_type .. "/settings/kolibri.lbl"},
120
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
121
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
122
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
123
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
124
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
125
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
126
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
127
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
128
 {"HD_Load/", "common/HD_load/memdisk"},
129
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
130
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
131
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
6226 leency 132
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
133
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
134
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
135
 {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"},
136
 {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"},
137
 {"kolibrios/3D/info3ds/TL_SYS_16.PNG", PROGS .. "/develop/info3ds/tl_sys_16.png"},
138
 {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
5098 clevermous 139
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
6225 leency 140
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
141
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
142
 {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
5098 clevermous 143
 {"kolibrios/emul/", "common/emul/gameboy"},
144
 {"kolibrios/emul/", "common/emul/scummvm"},
145
 {"kolibrios/emul/", "common/emul/zsnes"},
5827 leency 146
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
147
 {"kolibrios/demos/life2", "common/demos/life2"},
148
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
149
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
6179 leency 150
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
151
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
152
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
153
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
154
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
155
 {"kolibrios/games/doom1/", "common/games/doom/*"},
5500 punk_joker 156
 {"kolibrios/games/pig/", "common/games/pig/*"},
5098 clevermous 157
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
5647 leency 158
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
6179 leency 159
 {"kolibrios/games/knight", "common/games/knight"},
5296 ZblCoder 160
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
5098 clevermous 161
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
5647 leency 162
 {"kolibrios/games/megamaze", build_type .. "/games/megamaze"},
6181 leency 163
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
6182 leency 164
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
6181 leency 165
 {"kolibrios/games/mun/mun", "common/games/mun/mun"},
5647 leency 166
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
6187 hidnplayr 167
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
6188 hidnplayr 168
 {"kolibrios/games/soko/", "common/games/soko/*"},
6156 leency 169
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
170
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
171
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
172
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
5098 clevermous 173
 {"kolibrios/lib/avcodec-55.dll", "common/lib/avcodec-55.dll"},
174
 {"kolibrios/lib/avdevice-55.dll", "common/lib/avdevice-55.dll"},
175
 {"kolibrios/lib/avformat-55.dll", "common/lib/avformat-55.dll"},
176
 {"kolibrios/lib/avutil-52.dll", "common/lib/avutil-52.dll"},
177
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
5378 serge 178
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
179
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
180
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
181
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
182
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
183
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
5132 clevermous 184
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
5378 serge 185
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
5098 clevermous 186
 {"kolibrios/lib/swresample-0.dll", "common/lib/swresample-0.dll"},
5378 serge 187
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
188
 {"kolibrios/lib/i965_dri.drv", "common/lib/i965_dri.drv"},
6226 leency 189
 {"kolibrios/lib/tinygl.obj", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
5378 serge 190
 {"kolibrios/media/fplay", "common/media/fplay"},
6155 leency 191
 {"kolibrios/media/updf", "common/media/updf"},
192
 {"kolibrios/media/vttf", "common/media/vttf"},
5098 clevermous 193
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
194
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
6094 leency 195
 {"kolibrios/res/skins/", "../skins/authors.txt"},
6095 leency 196
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
5098 clevermous 197
}
198
if build_type == "rus" then tup.append_table(extra_files, {
199
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
200
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
201
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
202
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
203
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
204
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
205
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
206
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
207
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
208
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
209
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
210
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
211
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
212
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
5471 leency 213
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
5098 clevermous 214
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
215
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
216
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
217
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
5334 Anton_K 218
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
219
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
220
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
221
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
222
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
5098 clevermous 223
}) else tup.append_table(extra_files, {
224
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
225
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
226
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
227
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
228
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
229
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
230
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
231
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
232
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
233
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
234
}) end
235
--[[
236
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
237
Same syntax as extra_files.
238
]]--
239
if build_type == "rus" then
240
distr_extra_files = {
241
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
242
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
243
}
244
else
245
distr_extra_files = {
246
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
247
}
248
end
249
--[[
250
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
251
Same syntax as extra_files.
252
]]--
253
if build_type == "rus" then
254
iso_extra_files = {
255
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
256
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
257
}
258
else
259
iso_extra_files = {
260
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
261
}
262
end
263
 
264
-- Programs that require FASM to compile.
265
if tup.getconfig('NO_FASM') ~= 'full' then
266
tup.append_table(img_files, {
267
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
268
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
5432 eAndrew 269
 {"@VOLUME", PROGS .. "/media/volume/volume"},
5454 leency 270
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
5098 clevermous 271
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
5394 eAndrew 272
 {"@OPEN", PROGS .. "/system/open/open"},
5098 clevermous 273
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
274
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
275
 {"REFRSCRN", PROGS .. "/system/refrscrn/refrscrn"},
276
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
277
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
278
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
279
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
280
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
281
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
282
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
6169 leency 283
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
6207 leency 284
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
5098 clevermous 285
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
286
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
287
 {"END", PROGS .. "/system/end/light/end"},
288
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
289
 {"GMON", PROGS .. "/system/gmon/gmon"},
290
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
291
 {"@ICON", PROGS .. "/system/icon_new/@icon"},
292
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
293
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
294
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
295
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
5863 punk_joker 296
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
5098 clevermous 297
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
298
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
299
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
300
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
301
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
302
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
303
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
304
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
305
 {"RUN", PROGS .. "/system/run/trunk/run"},
306
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
307
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
308
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
309
 {"TEST", PROGS .. "/system/test/trunk/test"},
310
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
311
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
312
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
313
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
314
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
315
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
316
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
317
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
318
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
319
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
320
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
321
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
322
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
323
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
324
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
325
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
326
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
327
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
328
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
329
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
330
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
331
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
332
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
333
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
334
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
335
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
336
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
337
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
338
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
339
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
340
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console/examples/test_gets"},
341
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
342
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
343
 {"DEVELOP/INFO/CPP_KOL_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
344
 {"DEVELOP/INFO/CPP_KOL_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
345
 {"DEVELOP/INFO/CPP_KOL_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
346
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
347
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
348
 {"DEVELOP/INFO/INI_FILES.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
349
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
350
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
351
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
352
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
353
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
354
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
355
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
356
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
357
 {"GAMES/MBLOCKS", PROGS .. "/games/mblocks/trunk/mblocks"},
358
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
359
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
360
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
361
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
362
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
363
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
364
 {"GAMES/SQ_GAME", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
365
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
366
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
367
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
368
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
369
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
370
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
371
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
372
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console/console.obj"},
373
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
374
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
375
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
376
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
377
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
378
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
379
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
380
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
381
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
382
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
383
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
384
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
385
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
386
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
387
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
388
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
6029 hidnplayr 389
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
5098 clevermous 390
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
391
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
392
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
393
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
394
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
395
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
5495 hidnplayr 396
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
5098 clevermous 397
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
398
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
399
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
400
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
401
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
5869 hidnplayr 402
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
5098 clevermous 403
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
404
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
405
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
406
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
407
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
408
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
409
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
410
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
411
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
412
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
413
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
414
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
415
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
416
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
417
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
418
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
419
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
420
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
421
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
422
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
423
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
424
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
425
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
426
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
427
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
428
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
429
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
430
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
431
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
432
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
433
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
434
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
435
})
436
tup.append_table(extra_files, {
437
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
438
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
439
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
440
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
441
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
442
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
443
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
444
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
445
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
446
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
6033 leency 447
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
6179 leency 448
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
6180 leency 449
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
5335 yogev_ezra 450
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
451
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
5379 serge 452
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
5467 leency 453
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
5098 clevermous 454
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
455
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
456
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
457
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
458
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
459
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
460
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
461
})
462
-- For russian build, add russian-only programs.
463
if build_type == "rus" then tup.append_table(img_files, {
464
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
465
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_rus"},
466
}) else tup.append_table(img_files, {
467
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_eng"},
468
}) end
469
 
5334 Anton_K 470
if build_type == "rus" then tup.append_table(extra_files, {
471
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
472
}) end
473
 
5098 clevermous 474
end -- tup.getconfig('NO_FASM') ~= 'full'
475
 
476
-- Programs that require NASM to compile.
477
if tup.getconfig('NO_NASM') ~= 'full' then
478
tup.append_table(img_files, {
479
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
480
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
481
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
482
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
483
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
484
})
485
end -- tup.getconfig('NO_NASM') ~= 'full'
486
 
487
-- Programs that require C-- to compile.
488
if tup.getconfig('NO_CMM') ~= 'full' then
489
tup.append_table(img_files, {
490
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
5993 leency 491
 {"FONT_VIEWER", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
5098 clevermous 492
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
493
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
494
 {"GAMES/flood-it", PROGS .. "/games/flood-it/trunk/flood-it.com"},
495
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
5467 leency 496
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie/pixie.com"},
5632 leency 497
 {"MOUSE_CFG", PROGS .. "/cmm/mouse_cfg/mouse_cfg.com"},
498
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
5479 leency 499
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
5827 leency 500
 {"TEXTREADER", PROGS .. "/cmm/textreader/textreader.com"},
5098 clevermous 501
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
5429 leency 502
 {"GAME_CENTER", PROGS .. "/cmm/software_widget/software_widget.com"},
6065 leency 503
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
5098 clevermous 504
})
505
end -- tup.getconfig('NO_CMM') ~= 'full'
506
 
507
-- Programs that require MSVC to compile.
508
if tup.getconfig('NO_MSVC') ~= 'full' then
509
tup.append_table(img_files, {
510
 {"GRAPH", PROGS .. "/other/graph/graph"},
511
 {"TABLE", PROGS .. "/other/table/table"},
512
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
513
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
5113 clevermous 514
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
5115 clevermous 515
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
5098 clevermous 516
})
5110 clevermous 517
tup.append_table(extra_files, {
5109 clevermous 518
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
5276 ZblCoder 519
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
5109 clevermous 520
})
5098 clevermous 521
end -- tup.getconfig('NO_MSVC') ~= 'full'
522
 
523
-- Programs that require GCC to compile.
524
if tup.getconfig('NO_GCC') ~= 'full' then
525
tup.append_table(img_files, {
5109 clevermous 526
 {"3D/CUBELINE", PROGS .. "/demos/cubeline/trunk/cubeline"},
527
 {"3D/GEARS", PROGS .. "/demos/gears/trunk/gears"},
5123 clevermous 528
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
5111 clevermous 529
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
5098 clevermous 530
 {"SHELL", PROGS .. "/system/shell/shell"},
531
})
532
tup.append_table(extra_files, {
533
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
6183 leency 534
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
535
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
5228 alpine 536
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
5236 alpine 537
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
5336 yogev_ezra 538
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
5131 clevermous 539
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
540
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
5098 clevermous 541
})
5327 igevorse 542
-- For russian build, add russian-only programs.
5329 igevorse 543
if build_type == "rus" then tup.append_table(extra_files, {
5327 igevorse 544
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
5328 igevorse 545
}) end
5098 clevermous 546
end -- tup.getconfig('NO_GCC') ~= 'full'
547
 
548
-- Skins.
549
tup.include("../skins/skinlist.lua")
550
 
551
--[================================[ CODE ]================================]--
552
-- expand extra_files and similar
553
function expand_extra_files(files)
554
  local result = {}
555
  for i,v in ipairs(files) do
556
    if string.match(v[2], "%*")
557
    then
558
      local g = tup.glob(v[2])
559
      for j,x in ipairs(g) do
5132 clevermous 560
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 561
      end
562
    else
563
      if v.cp1251_from then
564
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
565
      end
5132 clevermous 566
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 567
    end
568
  end
569
  return result
570
end
571
 
572
-- append skins to extra_files
573
for i,v in ipairs(skinlist) do
6094 leency 574
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 575
end
576
 
577
-- prepare distr_extra_files and iso_extra_files: expand and append common part
578
extra_files = expand_extra_files(extra_files)
579
distr_extra_files = expand_extra_files(distr_extra_files)
580
iso_extra_files = expand_extra_files(iso_extra_files)
581
tup.append_table(distr_extra_files, extra_files)
582
tup.append_table(iso_extra_files, extra_files)
583
 
584
-- generate list of directories to be created inside kolibri.img
585
img_dirs = {}
586
input_deps = {}
587
for i,v in ipairs(img_files) do
588
  img_file = v[1]
589
  local_file = v[2]
590
 
591
  slash_pos = 0
592
  while true do
593
    slash_pos = string.find(img_file, '/', slash_pos + 1)
594
    if not slash_pos then break end
595
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
596
  end
597
 
598
  -- tup does not want to see hidden files as dependencies
599
  if not string.match(local_file, "/%.") then
5132 clevermous 600
    table.insert(input_deps, v.group or local_file)
5098 clevermous 601
  end
602
end
603
 
604
-- create empty 1.44M file
5118 clevermous 605
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
606
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 607
-- format it as a standard 1.44M floppy
608
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
609
-- copy bootloader
610
if tup.getconfig("NO_FASM") ~= "full" then
611
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
612
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
613
table.insert(input_deps, bootloader)
614
end
615
-- make folders
616
table.sort(img_dirs)
617
for i,v in ipairs(img_dirs) do
618
  if v ~= img_dirs[i-1] then
619
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
620
  end
621
end
622
-- copy files
623
for i,v in ipairs(img_files) do
624
  local_file = v[2]
625
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
626
  then
627
    -- for kernel.mnt, insert autobuild revision identifier
628
    -- from .revision to .kernel.mnt
629
    -- note that .revision and .kernel.mnt must begin with .
630
    -- to prevent tup from tracking them
631
    if build_type == "rus"
632
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
633
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
634
    end
635
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
636
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
637
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
638
    make_img_command = make_img_command .. " && str=" .. str
639
    make_img_command = make_img_command .. ' && echo -n $str | dd of=.kernel.mnt bs=1 seek=`expr 279 - length "$str"` conv=notrunc 2>/dev/null'
640
    local_file = ".kernel.mnt"
641
  end
642
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
643
end
644
 
645
-- generate tup rule for kolibri.img
646
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
647
 
648
-- generate command and dependencies for mkisofs
649
input_deps = {"kolibri.img"}
650
iso_files_list = ""
651
for i,v in ipairs(iso_extra_files) do
652
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 653
  table.insert(input_deps, v.group or v[2])
5098 clevermous 654
end
655
 
656
-- generate tup rule for kolibri.iso
657
if tup.getconfig("INSERT_REVISION_ID") ~= ""
658
then volume_id = "KolibriOS r`cat .revision`"
659
else volume_id = "KolibriOS"
660
end
661
tup.definerule{inputs = input_deps, command =
5118 clevermous 662
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 663
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
664
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
665
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
666
  outputs = {"kolibri.iso"}}
667
 
668
-- generate command and dependencies for distribution kit
5104 clevermous 669
cp = 'cp "%f" "%o"'
5102 clevermous 670
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 671
for i,v in ipairs(distr_extra_files) do
5132 clevermous 672
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
5098 clevermous 673
  if string.sub(v[1], -1) == "/"
5132 clevermous 674
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
675
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 676
  end
677
end