Subversion Repositories Kolibri OS

Rev

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