Subversion Repositories Kolibri OS

Rev

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