Subversion Repositories Kolibri OS

Rev

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