Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
8674 Coldy 1
-- Do nothing unless explicitly requested in tup.config.
5098 clevermous 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"},
6958 leency 18
 {"FB2READ", "common/fb2read"},
7425 leency 19
 {"ALLGAMES", "common/allgames"},
7653 leency 20
 {"HOME.PNG", "common/wallpapers/home.png"},
6958 leency 21
 {"ICONS32.PNG", "common/icons32.png"},
7052 leency 22
 {"ICONS16.PNG", "common/icons16.png"},
6958 leency 23
 {"INDEX.HTM", "common/index_htm"},
24
 {"KUZKINA.MID", "common/kuzkina.mid"},
8131 dunkaist 25
 {"SINE.MP3", "common/sine.mp3"},
6958 leency 26
 {"LANG.INC", build_type .. "/lang.inc"},
27
 {"NOTIFY3.PNG", "common/notify3.png"},
7864 leency 28
 {"UNIMG", PROGS .. "/fs/unimg/unimg"},
6958 leency 29
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
5098 clevermous 30
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
6958 leency 31
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
32
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
7053 leency 33
 {"File Managers/FNAV/ABOUT.TXT", "common/File Managers/fNav/About.txt"},
7029 0CodErr 34
 {"File Managers/FNAV/FNAV", "common/File Managers/fNav/fNav.kex"},
35
 {"File Managers/FNAV/FNAV.EXT", "common/File Managers/fNav/fnav.ext"},
36
 {"File Managers/FNAV/FNAV.SET", "common/File Managers/fNav/fnav.set"},
37
 {"File Managers/FNAV/FNAV_CUR.PNG", "common/File Managers/fNav/fnav_cur.png"},
38
 {"File Managers/FNAV/FNAV_FNT.PNG", "common/File Managers/fNav/fnav_fnt.png"},
7053 leency 39
 {"File Managers/FNAV/FNAV_ICN.PNG", "common/File Managers/fNav/fnav_icn.png"},
5764 leency 40
 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
6958 leency 41
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
42
 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
43
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
44
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
45
 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
46
 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
47
 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
48
 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
7633 leency 49
 {"MEDIA/PIXIESKN.PNG", PROGS .. "/cmm/pixie2/pixieskn.png"},
7211 nisargshah 50
 {"NETWORK/FTPC.INI", PROGS .. "/network/ftpc/ftpc.ini"},
6958 leency 51
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
52
 {"NETWORK/USERS.INI", "common/network/users.ini"},
7632 leency 53
 {"NETWORK/FTPC_SYS.PNG", PROGS .. "/network/ftpc/ftpc_sys.png"},
54
 {"NETWORK/FTPC_NOD.PNG", PROGS .. "/network/ftpc/ftpc_nod.png"},
7429 leency 55
 {"SETTINGS/APP.INI", "common/settings/app.ini"},
7519 leency 56
 {"SETTINGS/APP_PLUS.INI", "common/settings/app_plus.ini"},
7429 leency 57
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
5873 pathoswith 58
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
6958 leency 59
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
60
 {"SETTINGS/FB2READ.INI", "common/settings/fb2read.ini"},
7429 leency 61
 {"SETTINGS/HOTANGLES.CFG", PROGS .. "/other/ha/SETTINGS/HOTANGLES.CFG"},
5098 clevermous 62
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
5873 pathoswith 63
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
6958 leency 64
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
5098 clevermous 65
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
66
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
7137 dunkaist 67
 {"SETTINGS/NETWORK.INI", "common/settings/network.ini"},
5972 leency 68
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
7429 leency 69
 {"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
8589 turbocat 70
 {"SETTINGS/weather.json", PROGS .. "/other/Weather/weather.json"},
5098 clevermous 71
}
7010 0CodErr 72
 
5098 clevermous 73
-- For russian build, add russian-only files.
74
if build_type == "rus" then tup.append_table(img_files, {
7769 leency 75
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
7994 leency 76
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy_ru"},
7769 leency 77
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
78
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
5098 clevermous 79
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
8512 leency 80
 {"GAMES/DESCENT", build_type .. "/games/descent"},
5098 clevermous 81
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
7426 leency 82
 {"SETTINGS/GAMES.INI", "rus/settings/games.ini"},
5098 clevermous 83
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
7769 leency 84
 {"SETTINGS/SYSPANEL.INI", "rus/settings/syspanel.ini"},
7010 0CodErr 85
}) elseif build_type == "eng" then tup.append_table(img_files, {
7769 leency 86
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7994 leency 87
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
7769 leency 88
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
7015 0CodErr 89
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
8512 leency 90
 {"GAMES/DESCENT", "common/games/descent"},
7769 leency 91
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
7426 leency 92
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7769 leency 93
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
94
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
95
}) elseif build_type == "sp" then tup.append_table(img_files, {
7015 0CodErr 96
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7994 leency 97
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
7015 0CodErr 98
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
99
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
8512 leency 100
 {"GAMES/DESCENT", "common/games/descent"},
7769 leency 101
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
7426 leency 102
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7015 0CodErr 103
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
7769 leency 104
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
7010 0CodErr 105
}) elseif build_type == "it" then tup.append_table(img_files, {
7769 leency 106
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7994 leency 107
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
7769 leency 108
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
7015 0CodErr 109
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
8512 leency 110
 {"GAMES/DESCENT", "common/games/descent"},
7015 0CodErr 111
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
7010 0CodErr 112
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
7769 leency 113
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
114
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
5098 clevermous 115
}) else tup.append_table(img_files, {
7769 leency 116
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7994 leency 117
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
5098 clevermous 118
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
7769 leency 119
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
8512 leency 120
 {"GAMES/DESCENT", "common/games/descent"},
7769 leency 121
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
7426 leency 122
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7010 0CodErr 123
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
7769 leency 124
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
5098 clevermous 125
}) end
126
 
127
--[[
128
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
5132 clevermous 129
 
5098 clevermous 130
The first subitem of every item is name relative to the root of ISO or distribution kit,
131
the second is name of local file.
5132 clevermous 132
 
5098 clevermous 133
If the first subitem ends in /, the last component of local file name is appended.
134
The last component of the second subitem may contain '*'; if so, it will be expanded
135
according to usual rules, but without matching directories.
5132 clevermous 136
 
137
Tup does not allow a direct dependency on a file that is generated in a directory
138
other than where Tupfile.lua is and its children. Most files are generated
139
in the directory with Tupfile.lua; for other files, the item should contain
140
a named subitem "group=path/" and the file should be put in .
5098 clevermous 141
--]]
142
extra_files = {
7137 dunkaist 143
 {"/", "common/distr_data/autorun.inf"},
144
 {"/", "common/distr_data/KolibriOS_icon.ico"},
7715 leency 145
 {"Docs/stack.txt", "../kernel/trunk/docs/stack.txt"},
5098 clevermous 146
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
147
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
148
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
149
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
150
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
151
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
152
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
153
 {"HD_Load/", "common/HD_load/memdisk"},
154
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
155
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
156
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
6226 leency 157
 {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"},
158
 {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"},
159
 {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
6237 IgorA 160
 {"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
6583 leency 161
 {"kolibrios/3D/md2view/", "common/3d/md2view/*"},
6584 leency 162
 {"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
6248 IgorA 163
 {"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", PROGS .. "/media/voxel_editor/trunk/vox_editor.ini"},
6247 IgorA 164
 {"kolibrios/3D/voxel_editor/HOUSE1.VOX", PROGS .. "/media/voxel_editor/trunk/house1.vox"},
165
 {"kolibrios/3D/voxel_editor/HOUSE2.VOX", PROGS .. "/media/voxel_editor/trunk/house2.vox"},
6279 IgorA 166
 {"kolibrios/3D/voxel_editor/SQUIRREL.VOX", PROGS .. "/media/voxel_editor/trunk/squirrel.vox"},
167
 {"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
6287 IgorA 168
 {"kolibrios/3D/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
169
 {"kolibrios/3D/TOOLB_1.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
170
 {"kolibrios/3D/TEST_GLU1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu1"},
171
 {"kolibrios/3D/TEST_GLU2", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu2"},
172
 {"kolibrios/3D/TEXT_2.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/text_2.png"},
8242 leency 173
 {"kolibrios/develop/c--/", PROGS .. "/cmm/c--/*"},
174
 {"kolibrios/develop/fpc/", "common/develop/fpc/*"},
8244 leency 175
 {"kolibrios/develop/fpc/examples/", PROGS .. "/develop/fp/examples/src/*"},
8243 leency 176
 {"kolibrios/develop/fpc/examples/build.sh", "common/develop/fpc/build.sh"},
8242 leency 177
 {"kolibrios/develop/lua/lua", "../contrib/other/lua-5.2.0/lua"},
178
 {"kolibrios/develop/lua/calc.lua", "../contrib/other/lua-5.2.0/calc.lua"},
179
 {"kolibrios/develop/lua/console.lua", "../contrib/other/lua-5.2.0/console.lua"},
6613 leency 180
 {"kolibrios/develop/oberon07/", PROGS .. "/develop/oberon07/*"},
181
 {"kolibrios/develop/oberon07/Docs/", PROGS .. "/develop/oberon07/Docs/*"},
182
 {"kolibrios/develop/oberon07/Lib/KolibriOS/", PROGS .. "/develop/oberon07/Lib/KolibriOS/*"},
183
 {"kolibrios/develop/oberon07/Samples/", PROGS .. "/develop/oberon07/Samples/*"},
8100 maxcodehac 184
 {"kolibrios/develop/oberon07/tools/", PROGS .. "/develop/oberon07/tools/*"},
7849 leency 185
 {"kolibrios/develop/tcc/", PROGS ..  "/develop/ktcc/trunk/*"},
8432 superturbo 186
 {"kolibrios/develop/tcc/", PROGS ..  "/develop/ktcc/trunk/bin/tcc"},
7849 leency 187
 {"kolibrios/develop/tcc/lib/", PROGS ..  "/develop/ktcc/trunk/bin/lib/*"},
188
 {"kolibrios/develop/tcc/include/", PROGS ..  "/develop/ktcc/trunk/libc/include/*"},
8172 maxcodehac 189
 {"kolibrios/develop/tcc/include/clayer/", PROGS ..  "/develop/ktcc/trunk/libc/include/clayer/*"},
8434 superturbo 190
 {"kolibrios/develop/tcc/include/cryptal/", PROGS ..  "/develop/ktcc/trunk/libc/include/cryptal/*"},
191
 {"kolibrios/develop/tcc/include/net/", PROGS ..  "/develop/ktcc/trunk/libc/include/net/*"},
192
 {"kolibrios/develop/tcc/include/tinygl/", PROGS ..  "/develop/ktcc/trunk/libc/include/tinygl/*"},
8432 superturbo 193
 {"kolibrios/develop/tcc/samples/", PROGS ..  "/develop/ktcc/trunk/samples/*.c"},
194
 {"kolibrios/develop/tcc/samples/", PROGS ..  "/develop/ktcc/trunk/samples/*.sh"},
8172 maxcodehac 195
 {"kolibrios/develop/tcc/samples/clayer/", PROGS ..  "/develop/ktcc/trunk/samples/clayer/*"},
8432 superturbo 196
 {"kolibrios/develop/tcc/samples/net/", PROGS ..  "/develop/ktcc/trunk/samples/net/*"},
197
 {"kolibrios/develop/tcc/samples/tinygl/", PROGS ..  "/develop/ktcc/trunk/samples/tinygl/*"},
7864 leency 198
 {"kolibrios/emul/", "common/emul/*"},
5098 clevermous 199
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
6225 leency 200
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
7636 leency 201
 {"kolibrios/emul/e80/keyboard.png", PROGS .. "/emulator/e80/trunk/keyboard.png"},
6225 leency 202
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
203
 {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
8725 rgimad 204
 {"kolibrios/emul/chip8/chip8", PROGS .. "/emulator/chip8/chip8"},
205
 {"kolibrios/emul/chip8/readme.txt", PROGS .. "/emulator/chip8/readme.txt"},
206
 {"kolibrios/emul/chip8/roms/", PROGS .. "/emulator/chip8/roms/*"},
7874 leency 207
 {"kolibrios/emul/kwine/kwine", PROGS .. "/emulator/kwine/bin/kwine"},
7875 dunkaist 208
 {"kolibrios/emul/kwine/lib/", PROGS .. "/emulator/kwine/bin/lib/*"},
8377 maxcodehac 209
 {"kolibrios/emul/uarm/", "common/emul/uarm/*"},
5827 leency 210
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
211
 {"kolibrios/demos/life2", "common/demos/life2"},
212
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
213
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
6179 leency 214
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
215
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
216
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
217
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
218
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
219
 {"kolibrios/games/doom1/", "common/games/doom/*"},
5098 clevermous 220
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
5647 leency 221
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
6179 leency 222
 {"kolibrios/games/knight", "common/games/knight"},
7685 leency 223
 {"kolibrios/games/KosChess/", "common/games/KosChess/*"},
7821 leency 224
 {"kolibrios/games/KosChess/images/", "common/games/KosChess/images/*"},
5296 ZblCoder 225
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
5098 clevermous 226
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
6181 leency 227
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
6182 leency 228
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
6181 leency 229
 {"kolibrios/games/mun/mun", "common/games/mun/mun"},
6991 leency 230
 {"kolibrios/games/pig/", "common/games/pig/*"},
6188 hidnplayr 231
 {"kolibrios/games/soko/", "common/games/soko/*"},
8112 maxcodehac 232
 {"kolibrios/games/fridge/", "common/games/fridge/*"},
6993 leency 233
 {"kolibrios/games/the_bus/menu.png", PROGS .. "/cmm/the_bus/menu.png"},
234
 {"kolibrios/games/the_bus/objects.png", PROGS .. "/cmm/the_bus/objects.png"},
235
 {"kolibrios/games/the_bus/road.png", PROGS .. "/cmm/the_bus/road.png"},
6583 leency 236
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
237
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
238
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
239
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
240
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
6654 leency 241
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
6156 leency 242
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
243
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
244
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
7591 leency 245
 {"kolibrios/drivers/test/", "common/drivers/test/*"},
6156 leency 246
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
7655 leency 247
 {"kolibrios/KolibriNext/settings/", "common/KolibriNext/settings/*"},
6719 serge 248
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
249
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
250
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
251
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
252
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
7191 leency 253
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
5098 clevermous 254
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
5378 serge 255
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
256
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
257
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
7180 leency 258
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
5378 serge 259
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
6982 leency 260
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
261
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
5378 serge 262
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
263
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
5132 clevermous 264
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
7191 leency 265
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
5378 serge 266
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
7191 leency 267
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
6719 serge 268
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
5378 serge 269
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
270
 {"kolibrios/media/fplay", "common/media/fplay"},
7203 leency 271
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
7646 leency 272
 {"kolibrios/media/minimp3", "common/media/minimp3"},
6155 leency 273
 {"kolibrios/media/updf", "common/media/updf"},
274
 {"kolibrios/media/vttf", "common/media/vttf"},
7959 leency 275
 {"kolibrios/media/beat/Beat", PROGS .. "/media/Beat/Beat"},
276
 {"kolibrios/media/beat/Beep1.raw", PROGS .. "/media/Beat/Beep1.raw"},
277
 {"kolibrios/media/beat/Beep2.raw", PROGS .. "/media/Beat/Beep2.raw"},
278
 {"kolibrios/media/beat/PlayNote", PROGS .. "/media/Beat/PlayNote/PlayNote"},
279
 {"kolibrios/media/beat/Readme-en.txt", PROGS .. "/media/Beat/Readme-en.txt"},
280
 {"kolibrios/media/beat/Readme-ru.txt", PROGS .. "/media/Beat/Readme-ru.txt"},
5098 clevermous 281
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
282
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
8421 leency 283
 {"kolibrios/netsurf/netsurf", "common/network/netsurf/netsurf"},
8423 leency 284
 {"kolibrios/netsurf/res/", "common/network/netsurf/res/*"},
6094 leency 285
 {"kolibrios/res/skins/", "../skins/authors.txt"},
7569 leency 286
 {"kolibrios/res/templates/", "common/templates/*"},
7640 leency 287
 {"kolibrios/res/templates/", PROGS .. "/emulator/e80/trunk/games/*"},
7643 leency 288
 {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
7544 leency 289
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
8241 leency 290
 {"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
8285 leency 291
 {"kolibrios/utils/cnc_editor/cnc_editor", PROGS .. "/other/cnc_editor/cnc_editor"},
292
 {"kolibrios/utils/cnc_editor/kolibri.NC", PROGS .. "/other/cnc_editor/kolibri.NC"},
293
 {"kolibrios/utils/vmode", "common/vmode"},
8303 leency 294
 {"kolibrios/utils/texture", "common/utils/texture"},
6958 leency 295
 }
5098 clevermous 296
if build_type == "rus" then tup.append_table(extra_files, {
297
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
298
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
299
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
300
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
301
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
302
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
303
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
304
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
305
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
306
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
307
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
308
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
309
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
310
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
5471 leency 311
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
5098 clevermous 312
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
313
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
314
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
7650 leency 315
 {"kolibrios/games/ataka", "common/games/ataka/ataka_ru"},
5334 Anton_K 316
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
317
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
318
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
319
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
320
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
7928 leency 321
 {"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_ru"},
7410 0CodErr 322
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
323
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
7569 leency 324
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
325
 {"kolibrios/res/guide/", build_type .. "/docs/guide/*"},
5098 clevermous 326
}) else tup.append_table(extra_files, {
327
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
328
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
329
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
330
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
331
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
332
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
333
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
334
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
335
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
7650 leency 336
 {"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
7928 leency 337
 {"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_en"},
5098 clevermous 338
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
339
}) end
340
--[[
341
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
342
Same syntax as extra_files.
343
]]--
344
if build_type == "rus" then
345
distr_extra_files = {
346
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
347
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
348
}
349
else
350
distr_extra_files = {
351
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
352
}
353
end
354
--[[
355
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
356
Same syntax as extra_files.
357
]]--
358
if build_type == "rus" then
359
iso_extra_files = {
360
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
361
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
362
}
363
else
364
iso_extra_files = {
365
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
366
}
367
end
368
 
369
-- Programs that require FASM to compile.
370
if tup.getconfig('NO_FASM') ~= 'full' then
371
tup.append_table(img_files, {
372
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
7014 leency 373
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
7390 theonlymir 374
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
7014 leency 375
 {"@ICON", PROGS .. "/system/icon_new/icon"},
5098 clevermous 376
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
7014 leency 377
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
378
 {"@OPEN", PROGS .. "/system/open/open"},
5454 leency 379
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
7658 leency 380
 {"@SS", PROGS .. "/system/scrsaver/scrsaver"},
7014 leency 381
 {"@VOLUME", PROGS .. "/media/volume/volume"},
7390 theonlymir 382
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
7647 leency 383
 {"APM", PROGS .. "/system/apm/apm"},
5098 clevermous 384
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
385
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
386
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
7160 leency 387
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
5098 clevermous 388
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
7900 leency 389
 {"CPUID", PROGS .. "/testing/cpuid/trunk/CPUID"},
7160 leency 390
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
6207 leency 391
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
7899 leency 392
 {"DISPTEST", PROGS .. "/testing/disptest/trunk/disptest"},
5098 clevermous 393
 {"END", PROGS .. "/system/end/light/end"},
7160 leency 394
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
7899 leency 395
 {"FSPEED", PROGS .. "/testing/fspeed/fspeed"},
5098 clevermous 396
 {"GMON", PROGS .. "/system/gmon/gmon"},
397
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
7899 leency 398
 {"KBD", PROGS .. "/testing/kbd/trunk/kbd"},
5098 clevermous 399
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
400
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
7160 leency 401
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
5098 clevermous 402
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
7899 leency 403
 {"MGB", PROGS .. "/testing/mgb/trunk/mgb"},
5098 clevermous 404
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
405
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
406
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
7900 leency 407
 {"PCIDEV", PROGS .. "/testing/pcidev/trunk/PCIDEV"},
5098 clevermous 408
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
409
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
410
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
411
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
412
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
7160 leency 413
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
414
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
7900 leency 415
 {"TEST", PROGS .. "/testing/protection/trunk/test"},
5098 clevermous 416
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
7160 leency 417
 {"UNZ", PROGS .. "/fs/unz/unz"},
5098 clevermous 418
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
419
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
420
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
7350 leency 421
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
5098 clevermous 422
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
6736 leency 423
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
6387 leency 424
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
8666 dunkaist 425
 {"3D/VIEW3DS", PROGS .. "/demos/view3ds/view3ds"},
5098 clevermous 426
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
427
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
428
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
429
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
430
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
431
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
432
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
433
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
7606 leency 434
 {"DEMOS/SPIRAL", PROGS .. "/demos/spiral/spiral"},
5098 clevermous 435
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
436
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
437
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
438
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
439
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
8365 leency 440
 {"DEVELOP/ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
5098 clevermous 441
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
8365 leency 442
 {"DEVELOP/COBJ", PROGS .. "/develop/cObj/trunk/cObj"},
7839 leency 443
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/1.73/fasm"},
5098 clevermous 444
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
445
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
446
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
447
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
448
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
449
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
8365 leency 450
 {"DEVELOP/EXAMPLES/CONGET", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
451
 {"DEVELOP/EXAMPLES/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
452
 {"DEVELOP/EXAMPLES/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
5098 clevermous 453
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
7631 leency 454
 {"DEVELOP/INFO/CPP_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
455
 {"DEVELOP/INFO/CPP_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
456
 {"DEVELOP/INFO/CPP_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
5098 clevermous 457
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
458
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
7631 leency 459
 {"DEVELOP/INFO/INI.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
5098 clevermous 460
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
461
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
462
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
463
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
464
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
465
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
7373 leency 466
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
5098 clevermous 467
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
468
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
469
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
470
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
471
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
472
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
473
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
474
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
475
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
476
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
477
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
478
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
479
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
480
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
6699 clevermous 481
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
6737 leency 482
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
8674 Coldy 483
 {"LIB/DLL.OBJ", PROGS .. "/develop/libraries/dll/dll.obj"},
6737 leency 484
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
5098 clevermous 485
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
486
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
487
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
488
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
489
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
490
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
6737 leency 491
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
6308 pathoswith 492
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
5098 clevermous 493
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
6737 leency 494
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
5098 clevermous 495
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
496
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
497
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
498
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
7484 leency 499
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
5098 clevermous 500
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
7650 leency 501
 {"MEDIA/PIANO", PROGS .. "/media/piano/piano"},
5098 clevermous 502
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
6029 hidnplayr 503
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
5098 clevermous 504
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
505
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
8418 leency 506
 {"NETWORK/NSINST", PROGS .. "/network/netsurf/nsinstall"},
5098 clevermous 507
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
508
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
509
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
7640 leency 510
 {"NETWORK/SNTP", PROGS .. "/network/sntp/sntp"},
5098 clevermous 511
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
5495 hidnplayr 512
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
5098 clevermous 513
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
514
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
515
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
516
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
517
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
5869 hidnplayr 518
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
5098 clevermous 519
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
520
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
7811 leency 521
 {"DRIVERS/AR81XX.SYS", "../drivers/ethernet/ar81xx.sys"},
5098 clevermous 522
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
523
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
524
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
525
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
526
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
527
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
528
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
529
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
530
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
531
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
532
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
533
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
534
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
535
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
536
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
537
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
538
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
539
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
540
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
541
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
542
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
543
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
544
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
545
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
546
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
547
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
548
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
549
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
550
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
551
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
552
})
553
tup.append_table(extra_files, {
554
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
555
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
556
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
557
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
558
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
559
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
560
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
561
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
562
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
563
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
7458 leency 564
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
7931 leency 565
 {"kolibrios/3D/flatwav", PROGS .. "/demos/flatwav/trunk/flatwav"},
7222 leency 566
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
567
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
7458 leency 568
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
7222 leency 569
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
570
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
571
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
572
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
573
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
6991 leency 574
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
7525 leency 575
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
6991 leency 576
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
577
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
6033 leency 578
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
6179 leency 579
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
6180 leency 580
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
5335 yogev_ezra 581
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
582
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
5379 serge 583
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
6991 leency 584
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
5467 leency 585
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
6991 leency 586
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
587
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
8018 leency 588
 {"kolibrios/media/img_transform", PROGS .. "/media/img_transform/img_transform"},
5098 clevermous 589
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
590
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
591
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
592
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
593
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
594
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
595
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
6991 leency 596
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
5098 clevermous 597
})
598
-- For russian build, add russian-only programs.
599
if build_type == "rus" then tup.append_table(img_files, {
600
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
7660 leency 601
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
8365 leency 602
 {"DEVELOP/EXAMPLES/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
5098 clevermous 603
}) else tup.append_table(img_files, {
6699 clevermous 604
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
5098 clevermous 605
}) end
606
 
5334 Anton_K 607
if build_type == "rus" then tup.append_table(extra_files, {
608
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
609
}) end
610
 
5098 clevermous 611
end -- tup.getconfig('NO_FASM') ~= 'full'
612
 
613
-- Programs that require NASM to compile.
614
if tup.getconfig('NO_NASM') ~= 'full' then
615
tup.append_table(img_files, {
8365 leency 616
 {"ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
6952 leency 617
 {"LOD", PROGS .. "/fs/lod/lod"},
8365 leency 618
 {"TIMER", PROGS .. "/other/Timer/timer"},
6952 leency 619
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
620
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
5098 clevermous 621
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
6998 0CodErr 622
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
5098 clevermous 623
})
7664 dunkaist 624
tup.append_table(extra_files, {
625
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
626
})
5098 clevermous 627
end -- tup.getconfig('NO_NASM') ~= 'full'
628
 
7081 0CodErr 629
-- Programs that require JWASM to compile.
630
if tup.getconfig('NO_JWASM') ~= 'full' then
631
tup.append_table(img_files, {
632
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
7492 0CodErr 633
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
7081 0CodErr 634
})
635
end -- tup.getconfig('NO_JWASM') ~= 'full'
636
 
5098 clevermous 637
-- Programs that require C-- to compile.
638
if tup.getconfig('NO_CMM') ~= 'full' then
639
tup.append_table(img_files, {
6776 leency 640
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
7911 leency 641
 {"EASYSHOT", PROGS .. "/cmm/misc/easyshot.com"},
7370 leency 642
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
7630 leency 643
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
7911 leency 644
 {"SYSPANEL", PROGS .. "/cmm/misc/software_widget.com"},
7370 leency 645
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
7946 leency 646
 {"QUARK", PROGS .. "/cmm/quark/quark.com"},
6776 leency 647
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
6569 leency 648
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
7778 leency 649
 {"DEVELOP/MENU", PROGS .. "/cmm/menu/menu.com"},
7911 leency 650
 {"DEVELOP/PIPET", PROGS .. "/cmm/misc/pipet.com"},
5098 clevermous 651
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
7472 leency 652
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
5098 clevermous 653
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
7911 leency 654
 {"GAMES/MBLOCKS", PROGS .. "/cmm/misc/mblocks.com"},
6748 leency 655
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
5098 clevermous 656
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
6776 leency 657
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
5098 clevermous 658
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
7630 leency 659
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
7254 leency 660
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
8278 leency 661
 {"NETWORK/DL", PROGS .. "/cmm/downloader/dl.com"},
5632 leency 662
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
5098 clevermous 663
})
6776 leency 664
tup.append_table(extra_files, {
7541 leency 665
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
7542 leency 666
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
6991 leency 667
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
7654 leency 668
 {"kolibrios/KolibriNext/install.kex", PROGS .. "/cmm/installer/install.com"},
7592 leency 669
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
7541 leency 670
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
7640 leency 671
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
6776 leency 672
})
5098 clevermous 673
end -- tup.getconfig('NO_CMM') ~= 'full'
674
 
675
-- Programs that require MSVC to compile.
676
if tup.getconfig('NO_MSVC') ~= 'full' then
677
tup.append_table(img_files, {
678
 {"GRAPH", PROGS .. "/other/graph/graph"},
679
 {"TABLE", PROGS .. "/other/table/table"},
680
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
681
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
5113 clevermous 682
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
5115 clevermous 683
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
5098 clevermous 684
})
5110 clevermous 685
tup.append_table(extra_files, {
5109 clevermous 686
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
5276 ZblCoder 687
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
5109 clevermous 688
})
5098 clevermous 689
end -- tup.getconfig('NO_MSVC') ~= 'full'
690
 
8460 superturbo 691
-- Programs that require TCC to compile.
692
if tup.getconfig('NO_TCC') ~= 'full' then
8516 superturbo 693
tup.append_table(img_files, {
694
 {"NETWORK/WHOIS", PROGS .. "/network/whois/whois"},
8684 turbocat 695
-- {"NETWORK/WEATHER", PROGS .. "/other/Weather/weather"},
8516 superturbo 696
})
8460 superturbo 697
tup.append_table(extra_files, {
698
 {"kolibrios/utils/thashview", PROGS .. "/other/TinyHashView/thashview"},
8471 superturbo 699
 {"kolibrios/develop/TinyBasic/", PROGS .. "/develop/tinybasic/TinyBasic"},
700
 {"kolibrios/develop/TinyBasic/", PROGS .. "/develop/tinybasic/TBuserMan.txt"},
8472 superturbo 701
 {"kolibrios/utils/teatool", PROGS .. "/other/TEAtool/teatool"},
8559 rgimad 702
 {"kolibrios/utils/passwordgen", PROGS .. "/other/PasswordGen/passwordgen"},
8585 rgimad 703
 {"kolibrios/media/qr_tool", PROGS .. "/media/qr_tool/qr_tool"},
8460 superturbo 704
})
705
end -- tup.getconfig('NO_TCC') ~= 'full'
706
 
5098 clevermous 707
-- Programs that require GCC to compile.
708
if tup.getconfig('NO_GCC') ~= 'full' then
709
tup.append_table(img_files, {
5111 clevermous 710
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
5098 clevermous 711
 {"SHELL", PROGS .. "/system/shell/shell"},
8693 turbocat 712
 {"LIB/LIBC.OBJ", PROGS .. "/develop/libraries/kolibri-libc/source/libc.obj"},
5098 clevermous 713
})
714
tup.append_table(extra_files, {
8529 maxcodehac 715
-- {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
5098 clevermous 716
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
8375 maxcodehac 717
 {"kolibrios/emul/uarm/", "../contrib/other/uarm/uARM"},
7531 leency 718
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
7528 leency 719
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
7531 leency 720
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
721
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
722
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
5131 clevermous 723
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
724
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
8318 maxcodehac 725
 {"kolibrios/games/fridge/", PROGS .. "/games/fridge/fridge"},
8650 turbocat 726
 {"kolibrios/games/", PROGS .. "/games/checkers/trunk/checkers"},
8653 turbocat 727
 {"kolibrios/games/wolf3d/", "../contrib/games/wolf3d/wolf3d"},
728
 {"kolibrios/games/wolf3d/", "common/games/wolf3d/*"},
5098 clevermous 729
})
5327 igevorse 730
-- For russian build, add russian-only programs.
5329 igevorse 731
if build_type == "rus" then tup.append_table(extra_files, {
7531 leency 732
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
5328 igevorse 733
}) end
5098 clevermous 734
end -- tup.getconfig('NO_GCC') ~= 'full'
735
 
736
-- Skins.
737
tup.include("../skins/skinlist.lua")
738
 
739
--[================================[ CODE ]================================]--
740
-- expand extra_files and similar
741
function expand_extra_files(files)
742
  local result = {}
743
  for i,v in ipairs(files) do
744
    if string.match(v[2], "%*")
745
    then
746
      local g = tup.glob(v[2])
747
      for j,x in ipairs(g) do
5132 clevermous 748
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 749
      end
750
    else
751
      if v.cp1251_from then
752
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
753
      end
5132 clevermous 754
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 755
    end
756
  end
757
  return result
758
end
759
 
760
-- append skins to extra_files
761
for i,v in ipairs(skinlist) do
6094 leency 762
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 763
end
764
 
765
-- prepare distr_extra_files and iso_extra_files: expand and append common part
766
extra_files = expand_extra_files(extra_files)
767
distr_extra_files = expand_extra_files(distr_extra_files)
768
iso_extra_files = expand_extra_files(iso_extra_files)
769
tup.append_table(distr_extra_files, extra_files)
770
tup.append_table(iso_extra_files, extra_files)
771
 
772
-- generate list of directories to be created inside kolibri.img
773
img_dirs = {}
774
input_deps = {}
775
for i,v in ipairs(img_files) do
776
  img_file = v[1]
777
  local_file = v[2]
778
 
779
  slash_pos = 0
780
  while true do
781
    slash_pos = string.find(img_file, '/', slash_pos + 1)
782
    if not slash_pos then break end
783
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
784
  end
785
 
786
  -- tup does not want to see hidden files as dependencies
787
  if not string.match(local_file, "/%.") then
5132 clevermous 788
    table.insert(input_deps, v.group or local_file)
5098 clevermous 789
  end
790
end
791
 
792
-- create empty 1.44M file
5118 clevermous 793
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
794
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 795
-- format it as a standard 1.44M floppy
796
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
797
-- copy bootloader
798
if tup.getconfig("NO_FASM") ~= "full" then
799
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
800
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
801
table.insert(input_deps, bootloader)
802
end
803
-- make folders
804
table.sort(img_dirs)
805
for i,v in ipairs(img_dirs) do
806
  if v ~= img_dirs[i-1] then
807
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
808
  end
809
end
810
-- copy files
8060 clevermous 811
output_deps = {"kolibri.img"}
5098 clevermous 812
for i,v in ipairs(img_files) do
813
  local_file = v[2]
814
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
815
  then
816
    -- for kernel.mnt, insert autobuild revision identifier
817
    -- from .revision to .kernel.mnt
818
    -- note that .revision and .kernel.mnt must begin with .
819
    -- to prevent tup from tracking them
820
    if build_type == "rus"
8060 clevermous 821
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(get-current-revision)]"|iconv -f utf8 -t cp866)'
822
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(get-current-revision)]")'
5098 clevermous 823
    end
824
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
825
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
826
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
827
    make_img_command = make_img_command .. " && str=" .. str
828
    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'
829
    local_file = ".kernel.mnt"
8060 clevermous 830
    table.insert(output_deps, local_file)
5098 clevermous 831
  end
832
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
833
end
834
 
835
-- generate tup rule for kolibri.img
8060 clevermous 836
tup.definerule{inputs = input_deps, command = make_img_command, outputs = output_deps}
5098 clevermous 837
 
838
-- generate command and dependencies for mkisofs
839
input_deps = {"kolibri.img"}
840
iso_files_list = ""
841
for i,v in ipairs(iso_extra_files) do
842
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 843
  table.insert(input_deps, v.group or v[2])
5098 clevermous 844
end
845
 
846
-- generate tup rule for kolibri.iso
847
if tup.getconfig("INSERT_REVISION_ID") ~= ""
848
then volume_id = "KolibriOS r`cat .revision`"
849
else volume_id = "KolibriOS"
850
end
851
tup.definerule{inputs = input_deps, command =
5118 clevermous 852
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 853
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
854
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
855
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
856
  outputs = {"kolibri.iso"}}
857
 
858
-- generate command and dependencies for distribution kit
5104 clevermous 859
cp = 'cp "%f" "%o"'
5102 clevermous 860
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 861
for i,v in ipairs(distr_extra_files) do
5132 clevermous 862
  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 863
  if string.sub(v[1], -1) == "/"
5132 clevermous 864
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
865
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 866
  end
867
end
8091 dunkaist 868
 
8150 dunkaist 869
-- build kolibri.raw
8148 dunkaist 870
raw_mbr = "../programs/hd_load/usb_boot/mbr"
871
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
872
raw_files = {
873
 {"KOLIBRI.IMG", "kolibri.img"},
874
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
875
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
876
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
8150 dunkaist 877
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
878
 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
879
 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
880
 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
881
 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
8148 dunkaist 882
}
883
 
884
for i,v in ipairs(img_files) do
885
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
886
  local_file = v[2]
887
  tup.append_table(raw_files, {{raw_file, local_file}})
888
end
889
 
890
tup.append_table(raw_files, extra_files)
891
 
8091 dunkaist 892
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
8148 dunkaist 893
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=128 2>&1"
8118 dunkaist 894
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable gpt"
8148 dunkaist 895
make_raw_command = make_raw_command .. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 127"
8118 dunkaist 896
make_raw_command = make_raw_command .. " && parted --script kolibri.raw set 1 esp on"
897
make_raw_command = make_raw_command .. " && sgdisk kolibri.raw --hybrid 1:EE"
8148 dunkaist 898
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
899
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
900
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 .. " ::"
8091 dunkaist 901
 
8148 dunkaist 902
-- generate list of directories to be created inside kolibri.raw
903
raw_dirs = {}
904
input_deps = {raw_mbr, raw_bootsector}
905
for i,v in ipairs(raw_files) do
906
  raw_file = v[1]
907
  local_file = v[2]
8091 dunkaist 908
 
8148 dunkaist 909
  if raw_file ~= "/" then
910
    slash_pos = 0
911
    while true do
912
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
913
      if not slash_pos then break end
914
      table.insert(raw_dirs, string.sub(raw_file, 1, slash_pos - 1))
915
    end
916
  end
917
 
918
  -- tup does not want to see hidden files as dependencies
919
  if not string.match(local_file, "/%.") then
920
    table.insert(input_deps, v.group or local_file)
921
  end
922
end
923
 
924
-- img_files and extra_files have some common dirs with different case
925
for i,d in ipairs(raw_dirs) do
926
  raw_dirs[i] = string.upper(raw_dirs[i])
927
end
928
 
8091 dunkaist 929
-- make folders
8148 dunkaist 930
table.sort(raw_dirs)
931
for i,v in ipairs(raw_dirs) do
932
  if v ~= raw_dirs[i-1] then
933
    make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M "::' .. v .. '"'
8091 dunkaist 934
  end
935
end
936
 
8148 dunkaist 937
-- copy files
938
for i,v in ipairs(raw_files) do
8091 dunkaist 939
  local_file = v[2]
8148 dunkaist 940
  make_raw_command = make_raw_command .. ' && mcopy -moi kolibri.raw@@1M "' .. local_file .. '" "::' .. v[1] .. '"'
8091 dunkaist 941
end
942
 
943
-- generate tup rule for kolibri.raw
944
tup.definerule{inputs = input_deps, command = make_raw_command, outputs = {"kolibri.raw"}}