Subversion Repositories Kolibri OS

Rev

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