Subversion Repositories Kolibri OS

Rev

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