Subversion Repositories Kolibri OS

Rev

Rev 8559 | Rev 8588 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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