Subversion Repositories Kolibri OS

Rev

Rev 8285 | Rev 8318 | 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"},
5098 clevermous 694
})
5327 igevorse 695
-- For russian build, add russian-only programs.
5329 igevorse 696
if build_type == "rus" then tup.append_table(extra_files, {
7531 leency 697
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
5328 igevorse 698
}) end
5098 clevermous 699
end -- tup.getconfig('NO_GCC') ~= 'full'
700
 
701
-- Skins.
702
tup.include("../skins/skinlist.lua")
703
 
704
--[================================[ CODE ]================================]--
705
-- expand extra_files and similar
706
function expand_extra_files(files)
707
  local result = {}
708
  for i,v in ipairs(files) do
709
    if string.match(v[2], "%*")
710
    then
711
      local g = tup.glob(v[2])
712
      for j,x in ipairs(g) do
5132 clevermous 713
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 714
      end
715
    else
716
      if v.cp1251_from then
717
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
718
      end
5132 clevermous 719
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 720
    end
721
  end
722
  return result
723
end
724
 
725
-- append skins to extra_files
726
for i,v in ipairs(skinlist) do
6094 leency 727
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 728
end
729
 
730
-- prepare distr_extra_files and iso_extra_files: expand and append common part
731
extra_files = expand_extra_files(extra_files)
732
distr_extra_files = expand_extra_files(distr_extra_files)
733
iso_extra_files = expand_extra_files(iso_extra_files)
734
tup.append_table(distr_extra_files, extra_files)
735
tup.append_table(iso_extra_files, extra_files)
736
 
737
-- generate list of directories to be created inside kolibri.img
738
img_dirs = {}
739
input_deps = {}
740
for i,v in ipairs(img_files) do
741
  img_file = v[1]
742
  local_file = v[2]
743
 
744
  slash_pos = 0
745
  while true do
746
    slash_pos = string.find(img_file, '/', slash_pos + 1)
747
    if not slash_pos then break end
748
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
749
  end
750
 
751
  -- tup does not want to see hidden files as dependencies
752
  if not string.match(local_file, "/%.") then
5132 clevermous 753
    table.insert(input_deps, v.group or local_file)
5098 clevermous 754
  end
755
end
756
 
757
-- create empty 1.44M file
5118 clevermous 758
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
759
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 760
-- format it as a standard 1.44M floppy
761
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
762
-- copy bootloader
763
if tup.getconfig("NO_FASM") ~= "full" then
764
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
765
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
766
table.insert(input_deps, bootloader)
767
end
768
-- make folders
769
table.sort(img_dirs)
770
for i,v in ipairs(img_dirs) do
771
  if v ~= img_dirs[i-1] then
772
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
773
  end
774
end
775
-- copy files
8060 clevermous 776
output_deps = {"kolibri.img"}
5098 clevermous 777
for i,v in ipairs(img_files) do
778
  local_file = v[2]
779
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
780
  then
781
    -- for kernel.mnt, insert autobuild revision identifier
782
    -- from .revision to .kernel.mnt
783
    -- note that .revision and .kernel.mnt must begin with .
784
    -- to prevent tup from tracking them
785
    if build_type == "rus"
8060 clevermous 786
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(get-current-revision)]"|iconv -f utf8 -t cp866)'
787
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(get-current-revision)]")'
5098 clevermous 788
    end
789
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
790
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
791
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
792
    make_img_command = make_img_command .. " && str=" .. str
793
    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'
794
    local_file = ".kernel.mnt"
8060 clevermous 795
    table.insert(output_deps, local_file)
5098 clevermous 796
  end
797
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
798
end
799
 
800
-- generate tup rule for kolibri.img
8060 clevermous 801
tup.definerule{inputs = input_deps, command = make_img_command, outputs = output_deps}
5098 clevermous 802
 
803
-- generate command and dependencies for mkisofs
804
input_deps = {"kolibri.img"}
805
iso_files_list = ""
806
for i,v in ipairs(iso_extra_files) do
807
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 808
  table.insert(input_deps, v.group or v[2])
5098 clevermous 809
end
810
 
811
-- generate tup rule for kolibri.iso
812
if tup.getconfig("INSERT_REVISION_ID") ~= ""
813
then volume_id = "KolibriOS r`cat .revision`"
814
else volume_id = "KolibriOS"
815
end
816
tup.definerule{inputs = input_deps, command =
5118 clevermous 817
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 818
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
819
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
820
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
821
  outputs = {"kolibri.iso"}}
822
 
823
-- generate command and dependencies for distribution kit
5104 clevermous 824
cp = 'cp "%f" "%o"'
5102 clevermous 825
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 826
for i,v in ipairs(distr_extra_files) do
5132 clevermous 827
  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 828
  if string.sub(v[1], -1) == "/"
5132 clevermous 829
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
830
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 831
  end
832
end
8091 dunkaist 833
 
8150 dunkaist 834
-- build kolibri.raw
8148 dunkaist 835
raw_mbr = "../programs/hd_load/usb_boot/mbr"
836
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
837
raw_files = {
838
 {"KOLIBRI.IMG", "kolibri.img"},
839
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
840
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
841
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
8150 dunkaist 842
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
843
 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
844
 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
845
 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
846
 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
8148 dunkaist 847
}
848
 
849
for i,v in ipairs(img_files) do
850
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
851
  local_file = v[2]
852
  tup.append_table(raw_files, {{raw_file, local_file}})
853
end
854
 
855
tup.append_table(raw_files, extra_files)
856
 
8091 dunkaist 857
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
8148 dunkaist 858
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=128 2>&1"
8118 dunkaist 859
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable gpt"
8148 dunkaist 860
make_raw_command = make_raw_command .. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 127"
8118 dunkaist 861
make_raw_command = make_raw_command .. " && parted --script kolibri.raw set 1 esp on"
862
make_raw_command = make_raw_command .. " && sgdisk kolibri.raw --hybrid 1:EE"
8148 dunkaist 863
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
864
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
865
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 866
 
8148 dunkaist 867
-- generate list of directories to be created inside kolibri.raw
868
raw_dirs = {}
869
input_deps = {raw_mbr, raw_bootsector}
870
for i,v in ipairs(raw_files) do
871
  raw_file = v[1]
872
  local_file = v[2]
8091 dunkaist 873
 
8148 dunkaist 874
  if raw_file ~= "/" then
875
    slash_pos = 0
876
    while true do
877
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
878
      if not slash_pos then break end
879
      table.insert(raw_dirs, string.sub(raw_file, 1, slash_pos - 1))
880
    end
881
  end
882
 
883
  -- tup does not want to see hidden files as dependencies
884
  if not string.match(local_file, "/%.") then
885
    table.insert(input_deps, v.group or local_file)
886
  end
887
end
888
 
889
-- img_files and extra_files have some common dirs with different case
890
for i,d in ipairs(raw_dirs) do
891
  raw_dirs[i] = string.upper(raw_dirs[i])
892
end
893
 
8091 dunkaist 894
-- make folders
8148 dunkaist 895
table.sort(raw_dirs)
896
for i,v in ipairs(raw_dirs) do
897
  if v ~= raw_dirs[i-1] then
898
    make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M "::' .. v .. '"'
8091 dunkaist 899
  end
900
end
901
 
8148 dunkaist 902
-- copy files
903
for i,v in ipairs(raw_files) do
8091 dunkaist 904
  local_file = v[2]
8148 dunkaist 905
  make_raw_command = make_raw_command .. ' && mcopy -moi kolibri.raw@@1M "' .. local_file .. '" "::' .. v[1] .. '"'
8091 dunkaist 906
end
907
 
908
-- generate tup rule for kolibri.raw
909
tup.definerule{inputs = input_deps, command = make_raw_command, outputs = {"kolibri.raw"}}