Subversion Repositories Kolibri OS

Rev

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

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