Subversion Repositories Kolibri OS

Rev

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

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