Subversion Repositories Kolibri OS

Rev

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