Subversion Repositories Kolibri OS

Rev

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