Subversion Repositories Kolibri OS

Rev

Rev 5452 | Rev 5454 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5452 Rev 5453
1
-- Do nothing unless explicitly requested in tup.config.
1
-- Do nothing unless explicitly requested in tup.config.
2
build_type = tup.getconfig('BUILD_TYPE')
2
build_type = tup.getconfig('BUILD_TYPE')
3
if build_type == "" then
3
if build_type == "" then
4
  return
4
  return
5
end
5
end
6
 
6
 
7
--[================================[ DATA ]================================]--
7
--[================================[ DATA ]================================]--
8
 
8
 
9
PROGS = "../programs"
9
PROGS = "../programs"
10
 
10
 
11
-- Static data that doesn't need to be compiled
11
-- Static data that doesn't need to be compiled
12
-- Files to be included in kolibri.img.
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.
13
-- The first subitem of every item is name inside kolibri.img, the second is name of local file.
14
img_files = {
14
img_files = {
15
 {"MACROS.INC", PROGS .. "/macros.inc"},
15
 {"MACROS.INC", PROGS .. "/macros.inc"},
16
 {"CONFIG.INC", PROGS .. "/config.inc"},
16
 {"CONFIG.INC", PROGS .. "/config.inc"},
17
 {"STRUCT.INC", PROGS .. "/struct.inc"},
17
 {"STRUCT.INC", PROGS .. "/struct.inc"},
18
 {"DEVELOP/TE_ICON.PNG", PROGS .. "/other/t_edit/te_icon.png"},
18
 {"DEVELOP/TE_ICON.PNG", PROGS .. "/other/t_edit/te_icon.png"},
19
 {"DEVELOP/TL_NOD_16.PNG", PROGS .. "/other/t_edit/tl_nod_16.png"},
19
 {"DEVELOP/TL_NOD_16.PNG", PROGS .. "/other/t_edit/tl_nod_16.png"},
20
 {"DEVELOP/TL_SYS_16.PNG", PROGS .. "/media/log_el/trunk/tl_sys_16.png"},
20
 {"DEVELOP/TL_SYS_16.PNG", PROGS .. "/media/log_el/trunk/tl_sys_16.png"},
21
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
21
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
22
 {"File Managers/Z_ICONS.PNG", PROGS .. "/fs/opendial/z_icons.png"},
22
 {"File Managers/Z_ICONS.PNG", PROGS .. "/fs/opendial/z_icons.png"},
23
 {"File Managers/BUTTONS.BMP", PROGS .. "/fs/kfm/trunk/buttons.bmp"},
23
 {"File Managers/BUTTONS.BMP", PROGS .. "/fs/kfm/trunk/buttons.bmp"},
24
 {"File Managers/ICONS.BMP", PROGS .. "/fs/kfm/trunk/icons.bmp"},
24
 {"File Managers/ICONS.BMP", PROGS .. "/fs/kfm/trunk/icons.bmp"},
25
 {"FONTS/LITT.CHR", PROGS .. "/demos/bgitest/trunk/FONTS/LITT.CHR"},
25
 {"FONTS/LITT.CHR", PROGS .. "/demos/bgitest/trunk/FONTS/LITT.CHR"},
26
 {"GAMES/SNAKE.INI", PROGS .. "/games/snake/trunk/snake.ini"},
26
 {"GAMES/SNAKE.INI", PROGS .. "/games/snake/trunk/snake.ini"},
27
 {"MEDIA/KIV.INI", PROGS .. "/media/kiv/trunk/kiv.ini"},
27
 {"MEDIA/KIV.INI", PROGS .. "/media/kiv/trunk/kiv.ini"},
28
 {"NETWORK/WV_SKIN.PNG", PROGS .. "/cmm/browser/wv_skin.png"},
28
 {"NETWORK/WV_SKIN.PNG", PROGS .. "/cmm/browser/wv_skin.png"},
29
 {"SETTINGS/AUTORUN.DAT", build_type .. "/settings/autorun.dat"},
29
 {"SETTINGS/AUTORUN.DAT", build_type .. "/settings/autorun.dat"},
30
 {"DEFAULT.SKN", build_type .. "/default.skn"},
30
 {"DEFAULT.SKN", build_type .. "/default.skn"},
31
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
31
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
32
 {"ICONS32.PNG", "common/icons32.png"},
32
 {"ICONS32.PNG", "common/icons32.png"},
33
 {"INDEX.HTM", build_type .. "/index_htm"},
33
 {"INDEX.HTM", build_type .. "/index_htm"},
34
 {"KERPACK", "common/kerpack"},
34
 {"KERPACK", "common/kerpack"},
35
 {"SETTINGS/KEYMAP.KEY", build_type .. "/settings/keymap.key"},
35
 {"SETTINGS/KEYMAP.KEY", build_type .. "/settings/keymap.key"},
36
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
36
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
37
 {"KUZKINA.MID", "common/kuzkina.mid"},
37
 {"KUZKINA.MID", "common/kuzkina.mid"},
38
 {"LANG.INC", build_type .. "/lang.inc"},
38
 {"LANG.INC", build_type .. "/lang.inc"},
39
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
39
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
40
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
40
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
41
 {"SETTINGS/PANEL.INI", build_type .. "/settings/panel.ini"},
41
 {"SETTINGS/TASKBAR.INI", build_type .. "/settings/taskbar.ini"},
42
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
42
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
43
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
43
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
44
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
44
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
45
 {"SETTINGS/SYSTEM_PANEL.INI", "common/settings/system_panel.ini"},
45
 {"SETTINGS/SYSTEM_PANEL.INI", "common/settings/system_panel.ini"},
46
 {"NOTIFY3.PNG", "common/notify3.png"},
46
 {"NOTIFY3.PNG", "common/notify3.png"},
47
 {"SETTINGS/SETUP.DAT", build_type .. "/settings/setup.dat"},
47
 {"SETTINGS/SETUP.DAT", build_type .. "/settings/setup.dat"},
48
 {"VMODE", "common/vmode"},
48
 {"VMODE", "common/vmode"},
49
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
49
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
50
 {"DEMOS/AK47.LIF", "common/demos/ak47.lif"},
50
 {"DEMOS/AK47.LIF", "common/demos/ak47.lif"},
51
 {"DEMOS/LIFE2", "common/demos/life2"},
51
 {"DEMOS/LIFE2", "common/demos/life2"},
52
 {"DEMOS/RELAY.LIF", "common/demos/relay.lif"},
52
 {"DEMOS/RELAY.LIF", "common/demos/relay.lif"},
53
 {"DEMOS/RPENTO.LIF", "common/demos/rpento.lif"},
53
 {"DEMOS/RPENTO.LIF", "common/demos/rpento.lif"},
54
 {"File Managers/EOLITE.INI", "common/File Managers/eolite.ini"},
54
 {"File Managers/EOLITE.INI", "common/File Managers/eolite.ini"},
55
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
55
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
56
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
56
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
57
 {"GAMES/MEGAMAZE", build_type .. "/games/megamaze"},
57
 {"GAMES/MEGAMAZE", build_type .. "/games/megamaze"},
58
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
58
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
59
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
59
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
60
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
60
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
61
 {"MEDIA/ImgF/ImgF", "common/media/ImgF/ImgF"},
61
 {"MEDIA/ImgF/ImgF", "common/media/ImgF/ImgF"},
62
 {"MEDIA/ImgF/cEdg.obj", "common/media/ImgF/cEdg.obj"},
62
 {"MEDIA/ImgF/cEdg.obj", "common/media/ImgF/cEdg.obj"},
63
 {"MEDIA/ImgF/dither.obj", "common/media/ImgF/dither.obj"},
63
 {"MEDIA/ImgF/dither.obj", "common/media/ImgF/dither.obj"},
64
 {"MEDIA/ImgF/invSol.obj", "common/media/ImgF/invSol.obj"},
64
 {"MEDIA/ImgF/invSol.obj", "common/media/ImgF/invSol.obj"},
65
 {"SETTINGS/NETWORK.INI", build_type .. "/settings/network.ini"},
65
 {"SETTINGS/NETWORK.INI", build_type .. "/settings/network.ini"},
66
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
66
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
67
 {"NETWORK/USERS.INI", "common/network/users.ini"},
67
 {"NETWORK/USERS.INI", "common/network/users.ini"},
68
}
68
}
69
-- For russian build, add russian-only files.
69
-- For russian build, add russian-only files.
70
if build_type == "rus" then tup.append_table(img_files, {
70
if build_type == "rus" then tup.append_table(img_files, {
71
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
71
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
72
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
72
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
73
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
73
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
74
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
74
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
75
 {"PIPETKA", build_type .. "/pipetka"},
75
 {"PIPETKA", build_type .. "/pipetka"},
76
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
76
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
77
 {"GAMES/APPDATA.DAT", build_type .. "/games/appdata.dat"},
77
 {"GAMES/APPDATA.DAT", build_type .. "/games/appdata.dat"},
78
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
78
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
79
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
79
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
80
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
80
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
81
 {"GAMES/WHOWTBAM", build_type .. "/games/whowtbam"},
81
 {"GAMES/WHOWTBAM", build_type .. "/games/whowtbam"},
82
}) else tup.append_table(img_files, {
82
}) else tup.append_table(img_files, {
83
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
83
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
84
 {"GAMES/SKIN.RAW", PROGS .. "/games/soko/trunk/SKIN.RAW"},
84
 {"GAMES/SKIN.RAW", PROGS .. "/games/soko/trunk/SKIN.RAW"},
85
 {"GAMES/SOKO-4.LEV", PROGS .. "/games/soko/trunk/SOKO-4.LEV"},
85
 {"GAMES/SOKO-4.LEV", PROGS .. "/games/soko/trunk/SOKO-4.LEV"},
86
 {"GAMES/SOKO-5.LEV", PROGS .. "/games/soko/trunk/SOKO-5.LEV"},
86
 {"GAMES/SOKO-5.LEV", PROGS .. "/games/soko/trunk/SOKO-5.LEV"},
87
 {"GAMES/SOKO-6.LEV", PROGS .. "/games/soko/trunk/SOKO-6.LEV"},
87
 {"GAMES/SOKO-6.LEV", PROGS .. "/games/soko/trunk/SOKO-6.LEV"},
88
 {"GAMES/SOKO-7.LEV", PROGS .. "/games/soko/trunk/SOKO-7.LEV"},
88
 {"GAMES/SOKO-7.LEV", PROGS .. "/games/soko/trunk/SOKO-7.LEV"},
89
 {"GAMES/SOKO-8.LEV", PROGS .. "/games/soko/trunk/SOKO-8.LEV"},
89
 {"GAMES/SOKO-8.LEV", PROGS .. "/games/soko/trunk/SOKO-8.LEV"},
90
 {"GAMES/SOKO-9.LEV", PROGS .. "/games/soko/trunk/SOKO-9.LEV"},
90
 {"GAMES/SOKO-9.LEV", PROGS .. "/games/soko/trunk/SOKO-9.LEV"},
91
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
91
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
92
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
92
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
93
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
93
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
94
}) end
94
}) end
95
if build_type == "it" then tup.append_table(img_files, {
95
if build_type == "it" then tup.append_table(img_files, {
96
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
96
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
97
}) else tup.append_table(img_files, {
97
}) else tup.append_table(img_files, {
98
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
98
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
99
}) end
99
}) end
100
 
100
 
101
--[[
101
--[[
102
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
102
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
103
 
103
 
104
The first subitem of every item is name relative to the root of ISO or distribution kit,
104
The first subitem of every item is name relative to the root of ISO or distribution kit,
105
the second is name of local file.
105
the second is name of local file.
106
 
106
 
107
If the first subitem ends in /, the last component of local file name is appended.
107
If the first subitem ends in /, the last component of local file name is appended.
108
The last component of the second subitem may contain '*'; if so, it will be expanded
108
The last component of the second subitem may contain '*'; if so, it will be expanded
109
according to usual rules, but without matching directories.
109
according to usual rules, but without matching directories.
110
 
110
 
111
Tup does not allow a direct dependency on a file that is generated in a directory
111
Tup does not allow a direct dependency on a file that is generated in a directory
112
other than where Tupfile.lua is and its children. Most files are generated
112
other than where Tupfile.lua is and its children. Most files are generated
113
in the directory with Tupfile.lua; for other files, the item should contain
113
in the directory with Tupfile.lua; for other files, the item should contain
114
a named subitem "group=path/" and the file should be put in .
114
a named subitem "group=path/" and the file should be put in .
115
--]]
115
--]]
116
extra_files = {
116
extra_files = {
117
 {"/", build_type .. "/distr_data/autorun.inf"},
117
 {"/", build_type .. "/distr_data/autorun.inf"},
118
 {"/", build_type .. "/distr_data/KolibriOS_icon.ico"},
118
 {"/", build_type .. "/distr_data/KolibriOS_icon.ico"},
119
 {"/", build_type .. "/settings/kolibri.lbl"},
119
 {"/", build_type .. "/settings/kolibri.lbl"},
120
 {"Skins/", "../skins/authors.txt"},
120
 {"Skins/", "../skins/authors.txt"},
121
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
121
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
122
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
122
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
123
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
123
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
124
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
124
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
125
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
125
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
126
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
126
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
127
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
127
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
128
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
128
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
129
 {"HD_Load/", "common/HD_load/memdisk"},
129
 {"HD_Load/", "common/HD_load/memdisk"},
130
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
130
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
131
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
131
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
132
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
132
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
133
 {"games/pig/", "common/games/pig/*"},
133
 {"games/pig/", "common/games/pig/*"},
134
 {"games/soko/soko", build_type .. "/games/soko"},
134
 {"games/soko/soko", build_type .. "/games/soko"},
135
 {"games/soko/", "common/games/soko/*"},
135
 {"games/soko/", "common/games/soko/*"},
136
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
136
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
137
 {"kolibrios/emul/fceu/", "common/emul/fceu/*"},
137
 {"kolibrios/emul/fceu/", "common/emul/fceu/*"},
138
 {"kolibrios/emul/", "common/emul/gameboy"},
138
 {"kolibrios/emul/", "common/emul/gameboy"},
139
 {"kolibrios/emul/", "common/emul/scummvm"},
139
 {"kolibrios/emul/", "common/emul/scummvm"},
140
 {"kolibrios/emul/", "common/emul/zsnes"},
140
 {"kolibrios/emul/", "common/emul/zsnes"},
141
 {"kolibrios/games/doom/", "common/games/doom/*"},
141
 {"kolibrios/games/doom/", "common/games/doom/*"},
142
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
142
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
143
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
143
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
144
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
144
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
145
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
145
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
146
 {"kolibrios/drivers/", "common/drivers/*"},
146
 {"kolibrios/drivers/", "common/drivers/*"},
147
 {"kolibrios/lib/avcodec-55.dll", "common/lib/avcodec-55.dll"},
147
 {"kolibrios/lib/avcodec-55.dll", "common/lib/avcodec-55.dll"},
148
 {"kolibrios/lib/avdevice-55.dll", "common/lib/avdevice-55.dll"},
148
 {"kolibrios/lib/avdevice-55.dll", "common/lib/avdevice-55.dll"},
149
 {"kolibrios/lib/avformat-55.dll", "common/lib/avformat-55.dll"},
149
 {"kolibrios/lib/avformat-55.dll", "common/lib/avformat-55.dll"},
150
 {"kolibrios/lib/avutil-52.dll", "common/lib/avutil-52.dll"},
150
 {"kolibrios/lib/avutil-52.dll", "common/lib/avutil-52.dll"},
151
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
151
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
152
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
152
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
153
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
153
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
154
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
154
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
155
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
155
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
156
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
156
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
157
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
157
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
158
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
158
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
159
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
159
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
160
 {"kolibrios/lib/swresample-0.dll", "common/lib/swresample-0.dll"},
160
 {"kolibrios/lib/swresample-0.dll", "common/lib/swresample-0.dll"},
161
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
161
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
162
 {"kolibrios/lib/i965_dri.drv", "common/lib/i965_dri.drv"},
162
 {"kolibrios/lib/i965_dri.drv", "common/lib/i965_dri.drv"},
163
 {"kolibrios/media/fplay", "common/media/fplay"},
163
 {"kolibrios/media/fplay", "common/media/fplay"},
164
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
164
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
165
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
165
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
166
}
166
}
167
if build_type == "rus" then tup.append_table(extra_files, {
167
if build_type == "rus" then tup.append_table(extra_files, {
168
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
168
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
169
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
169
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
170
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
170
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
171
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
171
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
172
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
172
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
173
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
173
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
174
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
174
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
175
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
175
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
176
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
176
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
177
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
177
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
178
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
178
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
179
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
179
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
180
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
180
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
181
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
181
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
182
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
182
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
183
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
183
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
184
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
184
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
185
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
185
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
186
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
186
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
187
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
187
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
188
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
188
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
189
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
189
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
190
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
190
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
191
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
191
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
192
}) else tup.append_table(extra_files, {
192
}) else tup.append_table(extra_files, {
193
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
193
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
194
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
194
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
195
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
195
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
196
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
196
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
197
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
197
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
198
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
198
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
199
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
199
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
200
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
200
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
201
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
201
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
202
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
202
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
203
}) end
203
}) end
204
--[[
204
--[[
205
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
205
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
206
Same syntax as extra_files.
206
Same syntax as extra_files.
207
]]--
207
]]--
208
if build_type == "rus" then
208
if build_type == "rus" then
209
distr_extra_files = {
209
distr_extra_files = {
210
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
210
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
211
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
211
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
212
}
212
}
213
else
213
else
214
distr_extra_files = {
214
distr_extra_files = {
215
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
215
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
216
}
216
}
217
end
217
end
218
--[[
218
--[[
219
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
219
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
220
Same syntax as extra_files.
220
Same syntax as extra_files.
221
]]--
221
]]--
222
if build_type == "rus" then
222
if build_type == "rus" then
223
iso_extra_files = {
223
iso_extra_files = {
224
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
224
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
225
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
225
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
226
}
226
}
227
else
227
else
228
iso_extra_files = {
228
iso_extra_files = {
229
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
229
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
230
}
230
}
231
end
231
end
232
 
232
 
233
-- Programs that require FASM to compile.
233
-- Programs that require FASM to compile.
234
if tup.getconfig('NO_FASM') ~= 'full' then
234
if tup.getconfig('NO_FASM') ~= 'full' then
235
tup.append_table(img_files, {
235
tup.append_table(img_files, {
236
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
236
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
237
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
237
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
238
 {"@VOLUME", PROGS .. "/media/volume/volume"},
238
 {"@VOLUME", PROGS .. "/media/volume/volume"},
239
 {"@TASKBAR", PROGS .. "/system/panel/trunk/TASKBAR"},
239
 {"@TASKBAR", PROGS .. "/system/panel/trunk/TASKBAR"},
240
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
240
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
241
 {"@OPEN", PROGS .. "/system/open/open"},
241
 {"@OPEN", PROGS .. "/system/open/open"},
242
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
242
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
243
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
243
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
244
 {"REFRSCRN", PROGS .. "/system/refrscrn/refrscrn"},
244
 {"REFRSCRN", PROGS .. "/system/refrscrn/refrscrn"},
245
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
245
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
246
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
246
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
247
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
247
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
248
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
248
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
249
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
249
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
250
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
250
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
251
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
251
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
252
 {"DESKTOP", PROGS .. "/system/desktop/trunk/desktop"},
252
 {"DESKTOP", PROGS .. "/system/desktop/trunk/desktop"},
253
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
253
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
254
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
254
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
255
 {"END", PROGS .. "/system/end/light/end"},
255
 {"END", PROGS .. "/system/end/light/end"},
256
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
256
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
257
 {"GMON", PROGS .. "/system/gmon/gmon"},
257
 {"GMON", PROGS .. "/system/gmon/gmon"},
258
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
258
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
259
 {"@ICON", PROGS .. "/system/icon_new/@icon"},
259
 {"@ICON", PROGS .. "/system/icon_new/@icon"},
260
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
260
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
261
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
261
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
262
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
262
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
263
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
263
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
264
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
264
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
265
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
265
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
266
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
266
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
267
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
267
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
268
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
268
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
269
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
269
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
270
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
270
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
271
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
271
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
272
 {"RUN", PROGS .. "/system/run/trunk/run"},
272
 {"RUN", PROGS .. "/system/run/trunk/run"},
273
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
273
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
274
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
274
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
275
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
275
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
276
 {"TEST", PROGS .. "/system/test/trunk/test"},
276
 {"TEST", PROGS .. "/system/test/trunk/test"},
277
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
277
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
278
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
278
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
279
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
279
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
280
 {"3D/3DSHEART", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
280
 {"3D/3DSHEART", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
281
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
281
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
282
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
282
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
283
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
283
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
284
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
284
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
285
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
285
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
286
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
286
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
287
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
287
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
288
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
288
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
289
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
289
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
290
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
290
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
291
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
291
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
292
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
292
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
293
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
293
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
294
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
294
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
295
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
295
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
296
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
296
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
297
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
297
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
298
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
298
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
299
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
299
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
300
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
300
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
301
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
301
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
302
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
302
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
303
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
303
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
304
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
304
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
305
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
305
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
306
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
306
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
307
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
307
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
308
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console/examples/test_gets"},
308
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console/examples/test_gets"},
309
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
309
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
310
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
310
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
311
 {"DEVELOP/INFO/CPP_KOL_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
311
 {"DEVELOP/INFO/CPP_KOL_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
312
 {"DEVELOP/INFO/CPP_KOL_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
312
 {"DEVELOP/INFO/CPP_KOL_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
313
 {"DEVELOP/INFO/CPP_KOL_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
313
 {"DEVELOP/INFO/CPP_KOL_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
314
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
314
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
315
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
315
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
316
 {"DEVELOP/INFO/INI_FILES.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
316
 {"DEVELOP/INFO/INI_FILES.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
317
 {"DEVELOP/INFO/WIN_CONST.SYN", PROGS .. "/other/t_edit/info/win_const.syn"},
317
 {"DEVELOP/INFO/WIN_CONST.SYN", PROGS .. "/other/t_edit/info/win_const.syn"},
318
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
318
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
319
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
319
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
320
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
320
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
321
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
321
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
322
 {"GAMES/ARCANII", PROGS .. "/games/arcanii/trunk/arcanii"},
322
 {"GAMES/ARCANII", PROGS .. "/games/arcanii/trunk/arcanii"},
323
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
323
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
324
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
324
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
325
 {"GAMES/INVADERS", PROGS .. "/games/invaders/invaders"},
325
 {"GAMES/INVADERS", PROGS .. "/games/invaders/invaders"},
326
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
326
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
327
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
327
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
328
 {"GAMES/MBLOCKS", PROGS .. "/games/mblocks/trunk/mblocks"},
328
 {"GAMES/MBLOCKS", PROGS .. "/games/mblocks/trunk/mblocks"},
329
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
329
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
330
 {"GAMES/PHENIX", PROGS .. "/games/phenix/trunk/phenix"},
330
 {"GAMES/PHENIX", PROGS .. "/games/phenix/trunk/phenix"},
331
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
331
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
332
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
332
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
333
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
333
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
334
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
334
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
335
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
335
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
336
 {"GAMES/SQ_GAME", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
336
 {"GAMES/SQ_GAME", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
337
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
337
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
338
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
338
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
339
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
339
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
340
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
340
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
341
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
341
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
342
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
342
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
343
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
343
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
344
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console/console.obj"},
344
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console/console.obj"},
345
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
345
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
346
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
346
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
347
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
347
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
348
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
348
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
349
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
349
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
350
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
350
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
351
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
351
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
352
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
352
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
353
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
353
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
354
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
354
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
355
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
355
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
356
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
356
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
357
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
357
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
358
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
358
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
359
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
359
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
360
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
360
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
361
 {"NETWORK/PING", PROGS .. "/network/icmp/ping"},
361
 {"NETWORK/PING", PROGS .. "/network/icmp/ping"},
362
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
362
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
363
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
363
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
364
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
364
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
365
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
365
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
366
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
366
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
367
 {"NETWORK/TCPSERV", PROGS .. "/network/tcpserv/tcpserv"},
367
 {"NETWORK/TCPSERV", PROGS .. "/network/tcpserv/tcpserv"},
368
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
368
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
369
 {"NETWORK/ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
369
 {"NETWORK/ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
370
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
370
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
371
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
371
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
372
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
372
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
373
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
373
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
374
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
374
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
375
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
375
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
376
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
376
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
377
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
377
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
378
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
378
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
379
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
379
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
380
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
380
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
381
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
381
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
382
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
382
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
383
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
383
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
384
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
384
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
385
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
385
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
386
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
386
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
387
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
387
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
388
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
388
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
389
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
389
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
390
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
390
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
391
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
391
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
392
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
392
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
393
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
393
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
394
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
394
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
395
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
395
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
396
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
396
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
397
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
397
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
398
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
398
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
399
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
399
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
400
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
400
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
401
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
401
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
402
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
402
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
403
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
403
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
404
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
404
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
405
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
405
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
406
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
406
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
407
})
407
})
408
tup.append_table(extra_files, {
408
tup.append_table(extra_files, {
409
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
409
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
410
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
410
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
411
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
411
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
412
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
412
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
413
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
413
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
414
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
414
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
415
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
415
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
416
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
416
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
417
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
417
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
418
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
418
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
419
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
419
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
420
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
420
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
421
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
421
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
422
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
422
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
423
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
423
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
424
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
424
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
425
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
425
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
426
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
426
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
427
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
427
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
428
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
428
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
429
})
429
})
430
-- For russian build, add russian-only programs.
430
-- For russian build, add russian-only programs.
431
if build_type == "rus" then tup.append_table(img_files, {
431
if build_type == "rus" then tup.append_table(img_files, {
432
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
432
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
433
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_rus"},
433
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_rus"},
434
}) else tup.append_table(img_files, {
434
}) else tup.append_table(img_files, {
435
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_eng"},
435
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_eng"},
436
 {"GAMES/SOKO", PROGS .. "/games/soko/trunk/SOKO"},
436
 {"GAMES/SOKO", PROGS .. "/games/soko/trunk/SOKO"},
437
}) end
437
}) end
438
 
438
 
439
if build_type == "rus" then tup.append_table(extra_files, {
439
if build_type == "rus" then tup.append_table(extra_files, {
440
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
440
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
441
}) end
441
}) end
442
 
442
 
443
end -- tup.getconfig('NO_FASM') ~= 'full'
443
end -- tup.getconfig('NO_FASM') ~= 'full'
444
 
444
 
445
-- Programs that require NASM to compile.
445
-- Programs that require NASM to compile.
446
if tup.getconfig('NO_NASM') ~= 'full' then
446
if tup.getconfig('NO_NASM') ~= 'full' then
447
tup.append_table(img_files, {
447
tup.append_table(img_files, {
448
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
448
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
449
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
449
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
450
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
450
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
451
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
451
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
452
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
452
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
453
})
453
})
454
end -- tup.getconfig('NO_NASM') ~= 'full'
454
end -- tup.getconfig('NO_NASM') ~= 'full'
455
 
455
 
456
-- Programs that require C-- to compile.
456
-- Programs that require C-- to compile.
457
if tup.getconfig('NO_CMM') ~= 'full' then
457
if tup.getconfig('NO_CMM') ~= 'full' then
458
tup.append_table(img_files, {
458
tup.append_table(img_files, {
459
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
459
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
460
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
460
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
461
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
461
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
462
 {"GAMES/flood-it", PROGS .. "/games/flood-it/trunk/flood-it.com"},
462
 {"GAMES/flood-it", PROGS .. "/games/flood-it/trunk/flood-it.com"},
463
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
463
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
464
 {"NETWORK/WebView", PROGS .. "/cmm/browser/WebView.com"},
464
 {"NETWORK/WebView", PROGS .. "/cmm/browser/WebView.com"},
465
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
465
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
466
 {"GAME_CENTER", PROGS .. "/cmm/software_widget/software_widget.com"},
466
 {"GAME_CENTER", PROGS .. "/cmm/software_widget/software_widget.com"},
467
 {"SYSTEM_PANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
467
 {"SYSTEM_PANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
468
})
468
})
469
end -- tup.getconfig('NO_CMM') ~= 'full'
469
end -- tup.getconfig('NO_CMM') ~= 'full'
470
 
470
 
471
-- Programs that require MSVC to compile.
471
-- Programs that require MSVC to compile.
472
if tup.getconfig('NO_MSVC') ~= 'full' then
472
if tup.getconfig('NO_MSVC') ~= 'full' then
473
tup.append_table(img_files, {
473
tup.append_table(img_files, {
474
 {"GRAPH", PROGS .. "/other/graph/graph"},
474
 {"GRAPH", PROGS .. "/other/graph/graph"},
475
 {"TABLE", PROGS .. "/other/table/table"},
475
 {"TABLE", PROGS .. "/other/table/table"},
476
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
476
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
477
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
477
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
478
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
478
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
479
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
479
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
480
})
480
})
481
tup.append_table(extra_files, {
481
tup.append_table(extra_files, {
482
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
482
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
483
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
483
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
484
})
484
})
485
end -- tup.getconfig('NO_MSVC') ~= 'full'
485
end -- tup.getconfig('NO_MSVC') ~= 'full'
486
 
486
 
487
-- Programs that require GCC to compile.
487
-- Programs that require GCC to compile.
488
if tup.getconfig('NO_GCC') ~= 'full' then
488
if tup.getconfig('NO_GCC') ~= 'full' then
489
tup.append_table(img_files, {
489
tup.append_table(img_files, {
490
 {"3D/CUBELINE", PROGS .. "/demos/cubeline/trunk/cubeline"},
490
 {"3D/CUBELINE", PROGS .. "/demos/cubeline/trunk/cubeline"},
491
 {"3D/GEARS", PROGS .. "/demos/gears/trunk/gears"},
491
 {"3D/GEARS", PROGS .. "/demos/gears/trunk/gears"},
492
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
492
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
493
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
493
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
494
 {"SHELL", PROGS .. "/system/shell/shell"},
494
 {"SHELL", PROGS .. "/system/shell/shell"},
495
})
495
})
496
tup.append_table(extra_files, {
496
tup.append_table(extra_files, {
497
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
497
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
498
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
498
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
499
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
499
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
500
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
500
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
501
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
501
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
502
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
502
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
503
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
503
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
504
})
504
})
505
-- For russian build, add russian-only programs.
505
-- For russian build, add russian-only programs.
506
if build_type == "rus" then tup.append_table(extra_files, {
506
if build_type == "rus" then tup.append_table(extra_files, {
507
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
507
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
508
}) end
508
}) end
509
end -- tup.getconfig('NO_GCC') ~= 'full'
509
end -- tup.getconfig('NO_GCC') ~= 'full'
510
 
510
 
511
-- Skins.
511
-- Skins.
512
tup.include("../skins/skinlist.lua")
512
tup.include("../skins/skinlist.lua")
513
 
513
 
514
--[================================[ CODE ]================================]--
514
--[================================[ CODE ]================================]--
515
-- expand extra_files and similar
515
-- expand extra_files and similar
516
function expand_extra_files(files)
516
function expand_extra_files(files)
517
  local result = {}
517
  local result = {}
518
  for i,v in ipairs(files) do
518
  for i,v in ipairs(files) do
519
    if string.match(v[2], "%*")
519
    if string.match(v[2], "%*")
520
    then
520
    then
521
      local g = tup.glob(v[2])
521
      local g = tup.glob(v[2])
522
      for j,x in ipairs(g) do
522
      for j,x in ipairs(g) do
523
        table.insert(result, {v[1], x, group=v.group})
523
        table.insert(result, {v[1], x, group=v.group})
524
      end
524
      end
525
    else
525
    else
526
      if v.cp1251_from then
526
      if v.cp1251_from then
527
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
527
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
528
      end
528
      end
529
      table.insert(result, {v[1], v[2], group=v.group})
529
      table.insert(result, {v[1], v[2], group=v.group})
530
    end
530
    end
531
  end
531
  end
532
  return result
532
  return result
533
end
533
end
534
 
534
 
535
-- append skins to extra_files
535
-- append skins to extra_files
536
for i,v in ipairs(skinlist) do
536
for i,v in ipairs(skinlist) do
537
  table.insert(extra_files, {"Skins/", "../skins/" .. v})
537
  table.insert(extra_files, {"Skins/", "../skins/" .. v})
538
end
538
end
539
 
539
 
540
-- prepare distr_extra_files and iso_extra_files: expand and append common part
540
-- prepare distr_extra_files and iso_extra_files: expand and append common part
541
extra_files = expand_extra_files(extra_files)
541
extra_files = expand_extra_files(extra_files)
542
distr_extra_files = expand_extra_files(distr_extra_files)
542
distr_extra_files = expand_extra_files(distr_extra_files)
543
iso_extra_files = expand_extra_files(iso_extra_files)
543
iso_extra_files = expand_extra_files(iso_extra_files)
544
tup.append_table(distr_extra_files, extra_files)
544
tup.append_table(distr_extra_files, extra_files)
545
tup.append_table(iso_extra_files, extra_files)
545
tup.append_table(iso_extra_files, extra_files)
546
 
546
 
547
-- generate list of directories to be created inside kolibri.img
547
-- generate list of directories to be created inside kolibri.img
548
img_dirs = {}
548
img_dirs = {}
549
input_deps = {}
549
input_deps = {}
550
for i,v in ipairs(img_files) do
550
for i,v in ipairs(img_files) do
551
  img_file = v[1]
551
  img_file = v[1]
552
  local_file = v[2]
552
  local_file = v[2]
553
 
553
 
554
  slash_pos = 0
554
  slash_pos = 0
555
  while true do
555
  while true do
556
    slash_pos = string.find(img_file, '/', slash_pos + 1)
556
    slash_pos = string.find(img_file, '/', slash_pos + 1)
557
    if not slash_pos then break end
557
    if not slash_pos then break end
558
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
558
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
559
  end
559
  end
560
 
560
 
561
  -- tup does not want to see hidden files as dependencies
561
  -- tup does not want to see hidden files as dependencies
562
  if not string.match(local_file, "/%.") then
562
  if not string.match(local_file, "/%.") then
563
    table.insert(input_deps, v.group or local_file)
563
    table.insert(input_deps, v.group or local_file)
564
  end
564
  end
565
end
565
end
566
 
566
 
567
-- create empty 1.44M file
567
-- create empty 1.44M file
568
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
568
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
569
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
569
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
570
-- format it as a standard 1.44M floppy
570
-- format it as a standard 1.44M floppy
571
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
571
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
572
-- copy bootloader
572
-- copy bootloader
573
if tup.getconfig("NO_FASM") ~= "full" then
573
if tup.getconfig("NO_FASM") ~= "full" then
574
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
574
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
575
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
575
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
576
table.insert(input_deps, bootloader)
576
table.insert(input_deps, bootloader)
577
end
577
end
578
-- make folders
578
-- make folders
579
table.sort(img_dirs)
579
table.sort(img_dirs)
580
for i,v in ipairs(img_dirs) do
580
for i,v in ipairs(img_dirs) do
581
  if v ~= img_dirs[i-1] then
581
  if v ~= img_dirs[i-1] then
582
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
582
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
583
  end
583
  end
584
end
584
end
585
-- copy files
585
-- copy files
586
for i,v in ipairs(img_files) do
586
for i,v in ipairs(img_files) do
587
  local_file = v[2]
587
  local_file = v[2]
588
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
588
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
589
  then
589
  then
590
    -- for kernel.mnt, insert autobuild revision identifier
590
    -- for kernel.mnt, insert autobuild revision identifier
591
    -- from .revision to .kernel.mnt
591
    -- from .revision to .kernel.mnt
592
    -- note that .revision and .kernel.mnt must begin with .
592
    -- note that .revision and .kernel.mnt must begin with .
593
    -- to prevent tup from tracking them
593
    -- to prevent tup from tracking them
594
    if build_type == "rus"
594
    if build_type == "rus"
595
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
595
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
596
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
596
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
597
    end
597
    end
598
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
598
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
599
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
599
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
600
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
600
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
601
    make_img_command = make_img_command .. " && str=" .. str
601
    make_img_command = make_img_command .. " && str=" .. str
602
    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'
602
    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'
603
    local_file = ".kernel.mnt"
603
    local_file = ".kernel.mnt"
604
  end
604
  end
605
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
605
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
606
end
606
end
607
 
607
 
608
-- generate tup rule for kolibri.img
608
-- generate tup rule for kolibri.img
609
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
609
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
610
 
610
 
611
-- generate command and dependencies for mkisofs
611
-- generate command and dependencies for mkisofs
612
input_deps = {"kolibri.img"}
612
input_deps = {"kolibri.img"}
613
iso_files_list = ""
613
iso_files_list = ""
614
for i,v in ipairs(iso_extra_files) do
614
for i,v in ipairs(iso_extra_files) do
615
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
615
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
616
  table.insert(input_deps, v.group or v[2])
616
  table.insert(input_deps, v.group or v[2])
617
end
617
end
618
 
618
 
619
-- generate tup rule for kolibri.iso
619
-- generate tup rule for kolibri.iso
620
if tup.getconfig("INSERT_REVISION_ID") ~= ""
620
if tup.getconfig("INSERT_REVISION_ID") ~= ""
621
then volume_id = "KolibriOS r`cat .revision`"
621
then volume_id = "KolibriOS r`cat .revision`"
622
else volume_id = "KolibriOS"
622
else volume_id = "KolibriOS"
623
end
623
end
624
tup.definerule{inputs = input_deps, command =
624
tup.definerule{inputs = input_deps, command =
625
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
625
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
626
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
626
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
627
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
627
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
628
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
628
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
629
  outputs = {"kolibri.iso"}}
629
  outputs = {"kolibri.iso"}}
630
 
630
 
631
-- generate command and dependencies for distribution kit
631
-- generate command and dependencies for distribution kit
632
cp = 'cp "%f" "%o"'
632
cp = 'cp "%f" "%o"'
633
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
633
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
634
for i,v in ipairs(distr_extra_files) do
634
for i,v in ipairs(distr_extra_files) do
635
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
635
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
636
  if string.sub(v[1], -1) == "/"
636
  if string.sub(v[1], -1) == "/"
637
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
637
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
638
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
638
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
639
  end
639
  end
640
end
640
end