Subversion Repositories Kolibri OS

Rev

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

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