Subversion Repositories Kolibri OS

Rev

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

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