Subversion Repositories Kolibri OS

Rev

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