Subversion Repositories Kolibri OS

Rev

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