Subversion Repositories Kolibri OS

Rev

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