Subversion Repositories Kolibri OS

Rev

Rev 8460 | Rev 8472 | 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"},
8460 superturbo 690
})
691
end -- tup.getconfig('NO_TCC') ~= 'full'
692
 
5098 clevermous 693
-- Programs that require GCC to compile.
694
if tup.getconfig('NO_GCC') ~= 'full' then
695
tup.append_table(img_files, {
5123 clevermous 696
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
5111 clevermous 697
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
5098 clevermous 698
 {"SHELL", PROGS .. "/system/shell/shell"},
699
})
700
tup.append_table(extra_files, {
6736 leency 701
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
5098 clevermous 702
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
8375 maxcodehac 703
 {"kolibrios/emul/uarm/", "../contrib/other/uarm/uARM"},
7531 leency 704
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
7528 leency 705
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
7531 leency 706
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
707
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
708
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
5131 clevermous 709
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
710
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
8318 maxcodehac 711
 {"kolibrios/games/fridge/", PROGS .. "/games/fridge/fridge"},
5098 clevermous 712
})
5327 igevorse 713
-- For russian build, add russian-only programs.
5329 igevorse 714
if build_type == "rus" then tup.append_table(extra_files, {
7531 leency 715
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
5328 igevorse 716
}) end
5098 clevermous 717
end -- tup.getconfig('NO_GCC') ~= 'full'
718
 
719
-- Skins.
720
tup.include("../skins/skinlist.lua")
721
 
722
--[================================[ CODE ]================================]--
723
-- expand extra_files and similar
724
function expand_extra_files(files)
725
  local result = {}
726
  for i,v in ipairs(files) do
727
    if string.match(v[2], "%*")
728
    then
729
      local g = tup.glob(v[2])
730
      for j,x in ipairs(g) do
5132 clevermous 731
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 732
      end
733
    else
734
      if v.cp1251_from then
735
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
736
      end
5132 clevermous 737
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 738
    end
739
  end
740
  return result
741
end
742
 
743
-- append skins to extra_files
744
for i,v in ipairs(skinlist) do
6094 leency 745
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 746
end
747
 
748
-- prepare distr_extra_files and iso_extra_files: expand and append common part
749
extra_files = expand_extra_files(extra_files)
750
distr_extra_files = expand_extra_files(distr_extra_files)
751
iso_extra_files = expand_extra_files(iso_extra_files)
752
tup.append_table(distr_extra_files, extra_files)
753
tup.append_table(iso_extra_files, extra_files)
754
 
755
-- generate list of directories to be created inside kolibri.img
756
img_dirs = {}
757
input_deps = {}
758
for i,v in ipairs(img_files) do
759
  img_file = v[1]
760
  local_file = v[2]
761
 
762
  slash_pos = 0
763
  while true do
764
    slash_pos = string.find(img_file, '/', slash_pos + 1)
765
    if not slash_pos then break end
766
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
767
  end
768
 
769
  -- tup does not want to see hidden files as dependencies
770
  if not string.match(local_file, "/%.") then
5132 clevermous 771
    table.insert(input_deps, v.group or local_file)
5098 clevermous 772
  end
773
end
774
 
775
-- create empty 1.44M file
5118 clevermous 776
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
777
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 778
-- format it as a standard 1.44M floppy
779
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
780
-- copy bootloader
781
if tup.getconfig("NO_FASM") ~= "full" then
782
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
783
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
784
table.insert(input_deps, bootloader)
785
end
786
-- make folders
787
table.sort(img_dirs)
788
for i,v in ipairs(img_dirs) do
789
  if v ~= img_dirs[i-1] then
790
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
791
  end
792
end
793
-- copy files
8060 clevermous 794
output_deps = {"kolibri.img"}
5098 clevermous 795
for i,v in ipairs(img_files) do
796
  local_file = v[2]
797
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
798
  then
799
    -- for kernel.mnt, insert autobuild revision identifier
800
    -- from .revision to .kernel.mnt
801
    -- note that .revision and .kernel.mnt must begin with .
802
    -- to prevent tup from tracking them
803
    if build_type == "rus"
8060 clevermous 804
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(get-current-revision)]"|iconv -f utf8 -t cp866)'
805
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(get-current-revision)]")'
5098 clevermous 806
    end
807
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
808
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
809
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
810
    make_img_command = make_img_command .. " && str=" .. str
811
    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'
812
    local_file = ".kernel.mnt"
8060 clevermous 813
    table.insert(output_deps, local_file)
5098 clevermous 814
  end
815
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
816
end
817
 
818
-- generate tup rule for kolibri.img
8060 clevermous 819
tup.definerule{inputs = input_deps, command = make_img_command, outputs = output_deps}
5098 clevermous 820
 
821
-- generate command and dependencies for mkisofs
822
input_deps = {"kolibri.img"}
823
iso_files_list = ""
824
for i,v in ipairs(iso_extra_files) do
825
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 826
  table.insert(input_deps, v.group or v[2])
5098 clevermous 827
end
828
 
829
-- generate tup rule for kolibri.iso
830
if tup.getconfig("INSERT_REVISION_ID") ~= ""
831
then volume_id = "KolibriOS r`cat .revision`"
832
else volume_id = "KolibriOS"
833
end
834
tup.definerule{inputs = input_deps, command =
5118 clevermous 835
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 836
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
837
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
838
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
839
  outputs = {"kolibri.iso"}}
840
 
841
-- generate command and dependencies for distribution kit
5104 clevermous 842
cp = 'cp "%f" "%o"'
5102 clevermous 843
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 844
for i,v in ipairs(distr_extra_files) do
5132 clevermous 845
  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 846
  if string.sub(v[1], -1) == "/"
5132 clevermous 847
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
848
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 849
  end
850
end
8091 dunkaist 851
 
8150 dunkaist 852
-- build kolibri.raw
8148 dunkaist 853
raw_mbr = "../programs/hd_load/usb_boot/mbr"
854
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
855
raw_files = {
856
 {"KOLIBRI.IMG", "kolibri.img"},
857
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
858
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
859
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
8150 dunkaist 860
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
861
 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
862
 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
863
 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
864
 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
8148 dunkaist 865
}
866
 
867
for i,v in ipairs(img_files) do
868
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
869
  local_file = v[2]
870
  tup.append_table(raw_files, {{raw_file, local_file}})
871
end
872
 
873
tup.append_table(raw_files, extra_files)
874
 
8091 dunkaist 875
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
8148 dunkaist 876
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=128 2>&1"
8118 dunkaist 877
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable gpt"
8148 dunkaist 878
make_raw_command = make_raw_command .. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 127"
8118 dunkaist 879
make_raw_command = make_raw_command .. " && parted --script kolibri.raw set 1 esp on"
880
make_raw_command = make_raw_command .. " && sgdisk kolibri.raw --hybrid 1:EE"
8148 dunkaist 881
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
882
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
883
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 884
 
8148 dunkaist 885
-- generate list of directories to be created inside kolibri.raw
886
raw_dirs = {}
887
input_deps = {raw_mbr, raw_bootsector}
888
for i,v in ipairs(raw_files) do
889
  raw_file = v[1]
890
  local_file = v[2]
8091 dunkaist 891
 
8148 dunkaist 892
  if raw_file ~= "/" then
893
    slash_pos = 0
894
    while true do
895
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
896
      if not slash_pos then break end
897
      table.insert(raw_dirs, string.sub(raw_file, 1, slash_pos - 1))
898
    end
899
  end
900
 
901
  -- tup does not want to see hidden files as dependencies
902
  if not string.match(local_file, "/%.") then
903
    table.insert(input_deps, v.group or local_file)
904
  end
905
end
906
 
907
-- img_files and extra_files have some common dirs with different case
908
for i,d in ipairs(raw_dirs) do
909
  raw_dirs[i] = string.upper(raw_dirs[i])
910
end
911
 
8091 dunkaist 912
-- make folders
8148 dunkaist 913
table.sort(raw_dirs)
914
for i,v in ipairs(raw_dirs) do
915
  if v ~= raw_dirs[i-1] then
916
    make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M "::' .. v .. '"'
8091 dunkaist 917
  end
918
end
919
 
8148 dunkaist 920
-- copy files
921
for i,v in ipairs(raw_files) do
8091 dunkaist 922
  local_file = v[2]
8148 dunkaist 923
  make_raw_command = make_raw_command .. ' && mcopy -moi kolibri.raw@@1M "' .. local_file .. '" "::' .. v[1] .. '"'
8091 dunkaist 924
end
925
 
926
-- generate tup rule for kolibri.raw
927
tup.definerule{inputs = input_deps, command = make_raw_command, outputs = {"kolibri.raw"}}