Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
6310 akron1 1
-- Do nothing unless explicitly requested in tup.config.
5098 clevermous 2
build_type = tup.getconfig('BUILD_TYPE')
3
if build_type == "" then
4
  return
5
end
6
 
7
--[================================[ DATA ]================================]--
8
 
9
PROGS = "../programs"
10
 
11
-- Static data that doesn't need to be compiled
12
-- Files to be included in kolibri.img.
13
-- The first subitem of every item is name inside kolibri.img, the second is name of local file.
14
img_files = {
15
 {"MACROS.INC", PROGS .. "/macros.inc"},
16
 {"CONFIG.INC", PROGS .. "/config.inc"},
17
 {"STRUCT.INC", PROGS .. "/struct.inc"},
6958 leency 18
 {"FB2READ", "common/fb2read"},
7425 leency 19
 {"ALLGAMES", "common/allgames"},
7653 leency 20
 {"HOME.PNG", "common/wallpapers/home.png"},
6958 leency 21
 {"ICONS32.PNG", "common/icons32.png"},
7052 leency 22
 {"ICONS16.PNG", "common/icons16.png"},
6958 leency 23
 {"INDEX.HTM", "common/index_htm"},
24
 {"KUZKINA.MID", "common/kuzkina.mid"},
8131 dunkaist 25
 {"SINE.MP3", "common/sine.mp3"},
6958 leency 26
 {"LANG.INC", build_type .. "/lang.inc"},
27
 {"NOTIFY3.PNG", "common/notify3.png"},
7864 leency 28
 {"UNIMG", PROGS .. "/fs/unimg/unimg"},
6958 leency 29
 {"VMODE", "common/vmode"},
30
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
5098 clevermous 31
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
6958 leency 32
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
33
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
7053 leency 34
 {"File Managers/FNAV/ABOUT.TXT", "common/File Managers/fNav/About.txt"},
7029 0CodErr 35
 {"File Managers/FNAV/FNAV", "common/File Managers/fNav/fNav.kex"},
36
 {"File Managers/FNAV/FNAV.EXT", "common/File Managers/fNav/fnav.ext"},
37
 {"File Managers/FNAV/FNAV.SET", "common/File Managers/fNav/fnav.set"},
38
 {"File Managers/FNAV/FNAV_CUR.PNG", "common/File Managers/fNav/fnav_cur.png"},
39
 {"File Managers/FNAV/FNAV_FNT.PNG", "common/File Managers/fNav/fnav_fnt.png"},
7053 leency 40
 {"File Managers/FNAV/FNAV_ICN.PNG", "common/File Managers/fNav/fnav_icn.png"},
5764 leency 41
 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
6958 leency 42
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
43
 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
44
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
45
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
46
 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
47
 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
48
 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
49
 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
7633 leency 50
 {"MEDIA/PIXIESKN.PNG", PROGS .. "/cmm/pixie2/pixieskn.png"},
7211 nisargshah 51
 {"NETWORK/FTPC.INI", PROGS .. "/network/ftpc/ftpc.ini"},
6958 leency 52
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
53
 {"NETWORK/USERS.INI", "common/network/users.ini"},
7632 leency 54
 {"NETWORK/FTPC_SYS.PNG", PROGS .. "/network/ftpc/ftpc_sys.png"},
55
 {"NETWORK/FTPC_NOD.PNG", PROGS .. "/network/ftpc/ftpc_nod.png"},
7429 leency 56
 {"SETTINGS/APP.INI", "common/settings/app.ini"},
7519 leency 57
 {"SETTINGS/APP_PLUS.INI", "common/settings/app_plus.ini"},
7429 leency 58
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
5873 pathoswith 59
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
6958 leency 60
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
61
 {"SETTINGS/FB2READ.INI", "common/settings/fb2read.ini"},
7429 leency 62
 {"SETTINGS/HOTANGLES.CFG", PROGS .. "/other/ha/SETTINGS/HOTANGLES.CFG"},
5098 clevermous 63
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
5873 pathoswith 64
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
6958 leency 65
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
5098 clevermous 66
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
67
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
7137 dunkaist 68
 {"SETTINGS/NETWORK.INI", "common/settings/network.ini"},
5972 leency 69
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
7429 leency 70
 {"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
5098 clevermous 71
}
7010 0CodErr 72
 
5098 clevermous 73
-- For russian build, add russian-only files.
74
if build_type == "rus" then tup.append_table(img_files, {
7769 leency 75
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
7994 leency 76
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy_ru"},
7769 leency 77
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
78
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
79
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
5098 clevermous 80
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
81
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
7426 leency 82
 {"SETTINGS/GAMES.INI", "rus/settings/games.ini"},
5098 clevermous 83
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
7769 leency 84
 {"SETTINGS/SYSPANEL.INI", "rus/settings/syspanel.ini"},
7010 0CodErr 85
}) elseif build_type == "eng" then tup.append_table(img_files, {
7769 leency 86
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7994 leency 87
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
7769 leency 88
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
7015 0CodErr 89
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
7769 leency 90
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
7426 leency 91
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7769 leency 92
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
93
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
94
}) elseif build_type == "sp" then tup.append_table(img_files, {
7015 0CodErr 95
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7994 leency 96
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
7015 0CodErr 97
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
98
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
7769 leency 99
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
7426 leency 100
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7015 0CodErr 101
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
7769 leency 102
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
7010 0CodErr 103
}) elseif build_type == "it" then tup.append_table(img_files, {
7769 leency 104
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7994 leency 105
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
7769 leency 106
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
7015 0CodErr 107
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
108
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
7010 0CodErr 109
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
7769 leency 110
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
111
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
5098 clevermous 112
}) else tup.append_table(img_files, {
7769 leency 113
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7994 leency 114
 {"DEVELOP/BACKY", PROGS .. "/develop/backy/Backy"},
5098 clevermous 115
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
7769 leency 116
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
117
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
7426 leency 118
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7010 0CodErr 119
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
7769 leency 120
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
5098 clevermous 121
}) end
122
 
123
--[[
124
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
5132 clevermous 125
 
5098 clevermous 126
The first subitem of every item is name relative to the root of ISO or distribution kit,
127
the second is name of local file.
5132 clevermous 128
 
5098 clevermous 129
If the first subitem ends in /, the last component of local file name is appended.
130
The last component of the second subitem may contain '*'; if so, it will be expanded
131
according to usual rules, but without matching directories.
5132 clevermous 132
 
133
Tup does not allow a direct dependency on a file that is generated in a directory
134
other than where Tupfile.lua is and its children. Most files are generated
135
in the directory with Tupfile.lua; for other files, the item should contain
136
a named subitem "group=path/" and the file should be put in .
5098 clevermous 137
--]]
138
extra_files = {
7137 dunkaist 139
 {"/", "common/distr_data/autorun.inf"},
140
 {"/", "common/distr_data/KolibriOS_icon.ico"},
7715 leency 141
 {"Docs/stack.txt", "../kernel/trunk/docs/stack.txt"},
5098 clevermous 142
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
143
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
144
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
145
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
146
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
147
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
148
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
149
 {"HD_Load/", "common/HD_load/memdisk"},
150
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
151
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
152
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
6226 leency 153
 {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"},
154
 {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"},
155
 {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
6237 IgorA 156
 {"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
6583 leency 157
 {"kolibrios/3D/md2view/", "common/3d/md2view/*"},
6584 leency 158
 {"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
6248 IgorA 159
 {"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", PROGS .. "/media/voxel_editor/trunk/vox_editor.ini"},
6247 IgorA 160
 {"kolibrios/3D/voxel_editor/HOUSE1.VOX", PROGS .. "/media/voxel_editor/trunk/house1.vox"},
161
 {"kolibrios/3D/voxel_editor/HOUSE2.VOX", PROGS .. "/media/voxel_editor/trunk/house2.vox"},
6279 IgorA 162
 {"kolibrios/3D/voxel_editor/SQUIRREL.VOX", PROGS .. "/media/voxel_editor/trunk/squirrel.vox"},
163
 {"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
6287 IgorA 164
 {"kolibrios/3D/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
165
 {"kolibrios/3D/TOOLB_1.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
166
 {"kolibrios/3D/TEST_GLU1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu1"},
167
 {"kolibrios/3D/TEST_GLU2", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu2"},
168
 {"kolibrios/3D/TEXT_2.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/text_2.png"},
8242 leency 169
 {"kolibrios/develop/c--/", PROGS .. "/cmm/c--/*"},
170
 {"kolibrios/develop/fpc/", "common/develop/fpc/*"},
171
 {"kolibrios/develop/fpc/examples/", PROGS .. "/develop/fp/examples/*"},
8243 leency 172
 {"kolibrios/develop/fpc/examples/build.sh", "common/develop/fpc/build.sh"},
8242 leency 173
 {"kolibrios/develop/lua/lua", "../contrib/other/lua-5.2.0/lua"},
174
 {"kolibrios/develop/lua/calc.lua", "../contrib/other/lua-5.2.0/calc.lua"},
175
 {"kolibrios/develop/lua/console.lua", "../contrib/other/lua-5.2.0/console.lua"},
6613 leency 176
 {"kolibrios/develop/oberon07/", PROGS .. "/develop/oberon07/*"},
177
 {"kolibrios/develop/oberon07/Docs/", PROGS .. "/develop/oberon07/Docs/*"},
178
 {"kolibrios/develop/oberon07/Lib/KolibriOS/", PROGS .. "/develop/oberon07/Lib/KolibriOS/*"},
179
 {"kolibrios/develop/oberon07/Samples/", PROGS .. "/develop/oberon07/Samples/*"},
8100 maxcodehac 180
 {"kolibrios/develop/oberon07/tools/", PROGS .. "/develop/oberon07/tools/*"},
7849 leency 181
 {"kolibrios/develop/tcc/", PROGS ..  "/develop/ktcc/trunk/*"},
182
 {"kolibrios/develop/tcc/", PROGS ..  "/develop/ktcc/trunk/bin/*"},
183
 {"kolibrios/develop/tcc/lib/", PROGS ..  "/develop/ktcc/trunk/bin/lib/*"},
184
 {"kolibrios/develop/tcc/include/", PROGS ..  "/develop/ktcc/trunk/libc/include/*"},
7947 Boppan 185
 {"kolibrios/develop/tcc/include/kos/", PROGS ..  "/develop/ktcc/trunk/libc/include/kos/*"},
8172 maxcodehac 186
 {"kolibrios/develop/tcc/include/clayer/", PROGS ..  "/develop/ktcc/trunk/libc/include/clayer/*"},
7849 leency 187
 {"kolibrios/develop/tcc/samples/", PROGS ..  "/develop/ktcc/trunk/samples/*"},
8172 maxcodehac 188
 {"kolibrios/develop/tcc/samples/clayer/", PROGS ..  "/develop/ktcc/trunk/samples/clayer/*"},
7216 leency 189
 {"kolibrios/develop/TinyBasic/", "common/develop/TinyBasic/*"},
7368 pavelyakov 190
 {"kolibrios/utils/cnc_editor/cnc_editor", PROGS .. "/other/cnc_editor/cnc_editor"},
191
 {"kolibrios/utils/cnc_editor/kolibri.NC", PROGS .. "/other/cnc_editor/kolibri.NC"},
7864 leency 192
 {"kolibrios/emul/", "common/emul/*"},
5098 clevermous 193
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
6225 leency 194
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
7636 leency 195
 {"kolibrios/emul/e80/keyboard.png", PROGS .. "/emulator/e80/trunk/keyboard.png"},
6225 leency 196
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
197
 {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
7874 leency 198
 {"kolibrios/emul/kwine/kwine", PROGS .. "/emulator/kwine/bin/kwine"},
7875 dunkaist 199
 {"kolibrios/emul/kwine/lib/", PROGS .. "/emulator/kwine/bin/lib/*"},
5827 leency 200
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
201
 {"kolibrios/demos/life2", "common/demos/life2"},
202
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
203
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
6179 leency 204
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
205
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
206
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
207
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
208
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
209
 {"kolibrios/games/doom1/", "common/games/doom/*"},
5098 clevermous 210
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
5647 leency 211
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
6179 leency 212
 {"kolibrios/games/knight", "common/games/knight"},
7685 leency 213
 {"kolibrios/games/KosChess/", "common/games/KosChess/*"},
7821 leency 214
 {"kolibrios/games/KosChess/images/", "common/games/KosChess/images/*"},
5296 ZblCoder 215
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
5098 clevermous 216
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
6181 leency 217
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
6182 leency 218
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
6181 leency 219
 {"kolibrios/games/mun/mun", "common/games/mun/mun"},
6991 leency 220
 {"kolibrios/games/pig/", "common/games/pig/*"},
6188 hidnplayr 221
 {"kolibrios/games/soko/", "common/games/soko/*"},
8112 maxcodehac 222
 {"kolibrios/games/fridge/", "common/games/fridge/*"},
6993 leency 223
 {"kolibrios/games/the_bus/menu.png", PROGS .. "/cmm/the_bus/menu.png"},
224
 {"kolibrios/games/the_bus/objects.png", PROGS .. "/cmm/the_bus/objects.png"},
225
 {"kolibrios/games/the_bus/road.png", PROGS .. "/cmm/the_bus/road.png"},
6583 leency 226
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
227
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
228
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
229
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
230
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
6654 leency 231
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
6156 leency 232
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
233
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
234
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
7591 leency 235
 {"kolibrios/drivers/test/", "common/drivers/test/*"},
6156 leency 236
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
7655 leency 237
 {"kolibrios/KolibriNext/settings/", "common/KolibriNext/settings/*"},
6719 serge 238
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
239
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
240
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
241
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
242
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
7191 leency 243
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
5098 clevermous 244
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
5378 serge 245
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
246
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
247
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
7180 leency 248
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
5378 serge 249
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
6982 leency 250
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
251
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
5378 serge 252
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
253
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
5132 clevermous 254
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
7191 leency 255
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
5378 serge 256
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
7191 leency 257
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
6719 serge 258
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
5378 serge 259
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
260
 {"kolibrios/media/fplay", "common/media/fplay"},
7203 leency 261
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
7646 leency 262
 {"kolibrios/media/minimp3", "common/media/minimp3"},
6155 leency 263
 {"kolibrios/media/updf", "common/media/updf"},
264
 {"kolibrios/media/vttf", "common/media/vttf"},
7959 leency 265
 {"kolibrios/media/beat/Beat", PROGS .. "/media/Beat/Beat"},
266
 {"kolibrios/media/beat/Beep1.raw", PROGS .. "/media/Beat/Beep1.raw"},
267
 {"kolibrios/media/beat/Beep2.raw", PROGS .. "/media/Beat/Beep2.raw"},
268
 {"kolibrios/media/beat/PlayNote", PROGS .. "/media/Beat/PlayNote/PlayNote"},
269
 {"kolibrios/media/beat/Readme-en.txt", PROGS .. "/media/Beat/Readme-en.txt"},
270
 {"kolibrios/media/beat/Readme-ru.txt", PROGS .. "/media/Beat/Readme-ru.txt"},
5098 clevermous 271
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
272
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
6094 leency 273
 {"kolibrios/res/skins/", "../skins/authors.txt"},
7569 leency 274
 {"kolibrios/res/templates/", "common/templates/*"},
7640 leency 275
 {"kolibrios/res/templates/", PROGS .. "/emulator/e80/trunk/games/*"},
7643 leency 276
 {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
7544 leency 277
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
8241 leency 278
 {"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
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"},
5632 leency 644
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
5098 clevermous 645
})
6776 leency 646
tup.append_table(extra_files, {
7885 leency 647
 {"kolibrios/develop/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"},
7541 leency 648
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
7542 leency 649
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
6991 leency 650
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
7654 leency 651
 {"kolibrios/KolibriNext/install.kex", PROGS .. "/cmm/installer/install.com"},
7592 leency 652
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
7541 leency 653
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
654
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
7640 leency 655
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
6776 leency 656
})
5098 clevermous 657
end -- tup.getconfig('NO_CMM') ~= 'full'
658
 
659
-- Programs that require MSVC to compile.
660
if tup.getconfig('NO_MSVC') ~= 'full' then
661
tup.append_table(img_files, {
662
 {"GRAPH", PROGS .. "/other/graph/graph"},
663
 {"TABLE", PROGS .. "/other/table/table"},
664
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
665
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
5113 clevermous 666
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
5115 clevermous 667
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
5098 clevermous 668
})
5110 clevermous 669
tup.append_table(extra_files, {
5109 clevermous 670
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
5276 ZblCoder 671
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
5109 clevermous 672
})
5098 clevermous 673
end -- tup.getconfig('NO_MSVC') ~= 'full'
674
 
675
-- Programs that require GCC to compile.
676
if tup.getconfig('NO_GCC') ~= 'full' then
677
tup.append_table(img_files, {
5123 clevermous 678
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
5111 clevermous 679
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
5098 clevermous 680
 {"SHELL", PROGS .. "/system/shell/shell"},
681
})
682
tup.append_table(extra_files, {
6736 leency 683
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
5098 clevermous 684
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
7531 leency 685
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
7528 leency 686
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
7531 leency 687
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
688
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
689
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
5131 clevermous 690
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
691
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
5098 clevermous 692
})
5327 igevorse 693
-- For russian build, add russian-only programs.
5329 igevorse 694
if build_type == "rus" then tup.append_table(extra_files, {
7531 leency 695
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
5328 igevorse 696
}) end
5098 clevermous 697
end -- tup.getconfig('NO_GCC') ~= 'full'
698
 
699
-- Skins.
700
tup.include("../skins/skinlist.lua")
701
 
702
--[================================[ CODE ]================================]--
703
-- expand extra_files and similar
704
function expand_extra_files(files)
705
  local result = {}
706
  for i,v in ipairs(files) do
707
    if string.match(v[2], "%*")
708
    then
709
      local g = tup.glob(v[2])
710
      for j,x in ipairs(g) do
5132 clevermous 711
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 712
      end
713
    else
714
      if v.cp1251_from then
715
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
716
      end
5132 clevermous 717
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 718
    end
719
  end
720
  return result
721
end
722
 
723
-- append skins to extra_files
724
for i,v in ipairs(skinlist) do
6094 leency 725
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 726
end
727
 
728
-- prepare distr_extra_files and iso_extra_files: expand and append common part
729
extra_files = expand_extra_files(extra_files)
730
distr_extra_files = expand_extra_files(distr_extra_files)
731
iso_extra_files = expand_extra_files(iso_extra_files)
732
tup.append_table(distr_extra_files, extra_files)
733
tup.append_table(iso_extra_files, extra_files)
734
 
735
-- generate list of directories to be created inside kolibri.img
736
img_dirs = {}
737
input_deps = {}
738
for i,v in ipairs(img_files) do
739
  img_file = v[1]
740
  local_file = v[2]
741
 
742
  slash_pos = 0
743
  while true do
744
    slash_pos = string.find(img_file, '/', slash_pos + 1)
745
    if not slash_pos then break end
746
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
747
  end
748
 
749
  -- tup does not want to see hidden files as dependencies
750
  if not string.match(local_file, "/%.") then
5132 clevermous 751
    table.insert(input_deps, v.group or local_file)
5098 clevermous 752
  end
753
end
754
 
755
-- create empty 1.44M file
5118 clevermous 756
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
757
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 758
-- format it as a standard 1.44M floppy
759
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
760
-- copy bootloader
761
if tup.getconfig("NO_FASM") ~= "full" then
762
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
763
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
764
table.insert(input_deps, bootloader)
765
end
766
-- make folders
767
table.sort(img_dirs)
768
for i,v in ipairs(img_dirs) do
769
  if v ~= img_dirs[i-1] then
770
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
771
  end
772
end
773
-- copy files
8060 clevermous 774
output_deps = {"kolibri.img"}
5098 clevermous 775
for i,v in ipairs(img_files) do
776
  local_file = v[2]
777
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
778
  then
779
    -- for kernel.mnt, insert autobuild revision identifier
780
    -- from .revision to .kernel.mnt
781
    -- note that .revision and .kernel.mnt must begin with .
782
    -- to prevent tup from tracking them
783
    if build_type == "rus"
8060 clevermous 784
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(get-current-revision)]"|iconv -f utf8 -t cp866)'
785
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(get-current-revision)]")'
5098 clevermous 786
    end
787
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
788
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
789
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
790
    make_img_command = make_img_command .. " && str=" .. str
791
    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'
792
    local_file = ".kernel.mnt"
8060 clevermous 793
    table.insert(output_deps, local_file)
5098 clevermous 794
  end
795
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
796
end
797
 
798
-- generate tup rule for kolibri.img
8060 clevermous 799
tup.definerule{inputs = input_deps, command = make_img_command, outputs = output_deps}
5098 clevermous 800
 
801
-- generate command and dependencies for mkisofs
802
input_deps = {"kolibri.img"}
803
iso_files_list = ""
804
for i,v in ipairs(iso_extra_files) do
805
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 806
  table.insert(input_deps, v.group or v[2])
5098 clevermous 807
end
808
 
809
-- generate tup rule for kolibri.iso
810
if tup.getconfig("INSERT_REVISION_ID") ~= ""
811
then volume_id = "KolibriOS r`cat .revision`"
812
else volume_id = "KolibriOS"
813
end
814
tup.definerule{inputs = input_deps, command =
5118 clevermous 815
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 816
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
817
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
818
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
819
  outputs = {"kolibri.iso"}}
820
 
821
-- generate command and dependencies for distribution kit
5104 clevermous 822
cp = 'cp "%f" "%o"'
5102 clevermous 823
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 824
for i,v in ipairs(distr_extra_files) do
5132 clevermous 825
  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 826
  if string.sub(v[1], -1) == "/"
5132 clevermous 827
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
828
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 829
  end
830
end
8091 dunkaist 831
 
8150 dunkaist 832
-- build kolibri.raw
8148 dunkaist 833
raw_mbr = "../programs/hd_load/usb_boot/mbr"
834
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
835
raw_files = {
836
 {"KOLIBRI.IMG", "kolibri.img"},
837
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
838
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
839
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
8150 dunkaist 840
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
841
 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
842
 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
843
 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
844
 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
8148 dunkaist 845
}
846
 
847
for i,v in ipairs(img_files) do
848
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
849
  local_file = v[2]
850
  tup.append_table(raw_files, {{raw_file, local_file}})
851
end
852
 
853
tup.append_table(raw_files, extra_files)
854
 
8091 dunkaist 855
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
8148 dunkaist 856
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=128 2>&1"
8118 dunkaist 857
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable gpt"
8148 dunkaist 858
make_raw_command = make_raw_command .. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 127"
8118 dunkaist 859
make_raw_command = make_raw_command .. " && parted --script kolibri.raw set 1 esp on"
860
make_raw_command = make_raw_command .. " && sgdisk kolibri.raw --hybrid 1:EE"
8148 dunkaist 861
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
862
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
863
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 864
 
8148 dunkaist 865
-- generate list of directories to be created inside kolibri.raw
866
raw_dirs = {}
867
input_deps = {raw_mbr, raw_bootsector}
868
for i,v in ipairs(raw_files) do
869
  raw_file = v[1]
870
  local_file = v[2]
8091 dunkaist 871
 
8148 dunkaist 872
  if raw_file ~= "/" then
873
    slash_pos = 0
874
    while true do
875
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
876
      if not slash_pos then break end
877
      table.insert(raw_dirs, string.sub(raw_file, 1, slash_pos - 1))
878
    end
879
  end
880
 
881
  -- tup does not want to see hidden files as dependencies
882
  if not string.match(local_file, "/%.") then
883
    table.insert(input_deps, v.group or local_file)
884
  end
885
end
886
 
887
-- img_files and extra_files have some common dirs with different case
888
for i,d in ipairs(raw_dirs) do
889
  raw_dirs[i] = string.upper(raw_dirs[i])
890
end
891
 
8091 dunkaist 892
-- make folders
8148 dunkaist 893
table.sort(raw_dirs)
894
for i,v in ipairs(raw_dirs) do
895
  if v ~= raw_dirs[i-1] then
896
    make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M "::' .. v .. '"'
8091 dunkaist 897
  end
898
end
899
 
8148 dunkaist 900
-- copy files
901
for i,v in ipairs(raw_files) do
8091 dunkaist 902
  local_file = v[2]
8148 dunkaist 903
  make_raw_command = make_raw_command .. ' && mcopy -moi kolibri.raw@@1M "' .. local_file .. '" "::' .. v[1] .. '"'
8091 dunkaist 904
end
905
 
906
-- generate tup rule for kolibri.raw
907
tup.definerule{inputs = input_deps, command = make_raw_command, outputs = {"kolibri.raw"}}