Subversion Repositories Kolibri OS

Rev

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