Subversion Repositories Kolibri OS

Rev

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

Rev 7254 Rev 7321
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
 {"FB2READ", "common/fb2read"},
18
 {"FB2READ", "common/fb2read"},
19
 {"ICONS32.PNG", "common/icons32.png"},
19
 {"ICONS32.PNG", "common/icons32.png"},
20
 {"ICONS16.PNG", "common/icons16.png"},
20
 {"ICONS16.PNG", "common/icons16.png"},
21
 {"INDEX.HTM", "common/index_htm"},
21
 {"INDEX.HTM", "common/index_htm"},
22
 {"KUZKINA.MID", "common/kuzkina.mid"},
22
 {"KUZKINA.MID", "common/kuzkina.mid"},
23
 {"LANG.INC", build_type .. "/lang.inc"},
23
 {"LANG.INC", build_type .. "/lang.inc"},
24
 {"NOTIFY3.PNG", "common/notify3.png"},
24
 {"NOTIFY3.PNG", "common/notify3.png"},
25
 {"TOOLBAR.PNG", PROGS .. "/cmm/txtread/toolbar.png"},
25
 {"TOOLBAR.PNG", PROGS .. "/cmm/txtread/toolbar.png"},
26
 {"VMODE", "common/vmode"},
26
 {"VMODE", "common/vmode"},
27
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
27
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
28
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
28
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
29
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
29
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
30
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
30
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
31
 {"File Managers/BUTTONS.BMP", PROGS .. "/fs/kfm/trunk/buttons.bmp"},
31
 {"File Managers/BUTTONS.BMP", PROGS .. "/fs/kfm/trunk/buttons.bmp"},
32
 {"File Managers/ICONS.BMP", PROGS .. "/fs/kfm/trunk/icons.bmp"},
32
 {"File Managers/ICONS.BMP", PROGS .. "/fs/kfm/trunk/icons.bmp"},
33
 {"File Managers/FNAV/ABOUT.TXT", "common/File Managers/fNav/About.txt"},
33
 {"File Managers/FNAV/ABOUT.TXT", "common/File Managers/fNav/About.txt"},
34
 {"File Managers/FNAV/FNAV", "common/File Managers/fNav/fNav.kex"},
34
 {"File Managers/FNAV/FNAV", "common/File Managers/fNav/fNav.kex"},
35
 {"File Managers/FNAV/FNAV.EXT", "common/File Managers/fNav/fnav.ext"},
35
 {"File Managers/FNAV/FNAV.EXT", "common/File Managers/fNav/fnav.ext"},
36
 {"File Managers/FNAV/FNAV.SET", "common/File Managers/fNav/fnav.set"},
36
 {"File Managers/FNAV/FNAV.SET", "common/File Managers/fNav/fnav.set"},
37
 {"File Managers/FNAV/FNAV_CUR.PNG", "common/File Managers/fNav/fnav_cur.png"},
37
 {"File Managers/FNAV/FNAV_CUR.PNG", "common/File Managers/fNav/fnav_cur.png"},
38
 {"File Managers/FNAV/FNAV_FNT.PNG", "common/File Managers/fNav/fnav_fnt.png"},
38
 {"File Managers/FNAV/FNAV_FNT.PNG", "common/File Managers/fNav/fnav_fnt.png"},
39
 {"File Managers/FNAV/FNAV_ICN.PNG", "common/File Managers/fNav/fnav_icn.png"},
39
 {"File Managers/FNAV/FNAV_ICN.PNG", "common/File Managers/fNav/fnav_icn.png"},
40
 {"FONTS/LITT.CHR", PROGS .. "/demos/bgitest/trunk/FONTS/LITT.CHR"},
40
 {"FONTS/LITT.CHR", PROGS .. "/demos/bgitest/trunk/FONTS/LITT.CHR"},
41
 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
41
 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
42
 {"GAMES/SNAKE.INI", PROGS .. "/games/snake/trunk/snake.ini"},
42
 {"GAMES/SNAKE.INI", PROGS .. "/games/snake/trunk/snake.ini"},
43
 {"LIB/ARRAY.OBJ", "common/lib/array.obj"},
43
 {"LIB/ARRAY.OBJ", "common/lib/array.obj"},
44
 {"LIB/LIBRARY.OBJ", "common/lib/library.obj"},
44
 {"LIB/LIBRARY.OBJ", "common/lib/library.obj"},
45
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
45
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
46
 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
46
 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
47
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
47
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
48
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
48
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
49
 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
49
 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
50
 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
50
 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
51
 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
51
 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
52
 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
52
 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
53
 {"MEDIA/KIV.INI", PROGS .. "/media/kiv/trunk/kiv.ini"},
53
 {"MEDIA/KIV.INI", PROGS .. "/media/kiv/trunk/kiv.ini"},
54
 {"MEDIA/PIXIE/PIXIE.INI", PROGS .. "/cmm/pixie2/pixie.ini"},
54
 {"MEDIA/PIXIE/PIXIE.INI", PROGS .. "/cmm/pixie2/pixie.ini"},
55
 {"MEDIA/PIXIE/SKIN.PNG", PROGS .. "/cmm/pixie2/skin.png"},
55
 {"MEDIA/PIXIE/SKIN.PNG", PROGS .. "/cmm/pixie2/skin.png"},
56
 {"NETWORK/WV_SKIN.PNG", PROGS .. "/cmm/browser/wv_skin.png"},
56
 {"NETWORK/WV_SKIN.PNG", PROGS .. "/cmm/browser/wv_skin.png"},
57
 {"NETWORK/FTPC.INI", PROGS .. "/network/ftpc/ftpc.ini"},
57
 {"NETWORK/FTPC.INI", PROGS .. "/network/ftpc/ftpc.ini"},
58
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
58
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
59
 {"NETWORK/USERS.INI", "common/network/users.ini"},
59
 {"NETWORK/USERS.INI", "common/network/users.ini"},
60
 {"NETWORK/TL_SYS_16.PNG", PROGS .. "/network/ftpc/tl_sys_16.png"},
60
 {"NETWORK/TL_SYS_16.PNG", PROGS .. "/network/ftpc/tl_sys_16.png"},
61
 {"NETWORK/TL_NOD_16.PNG", PROGS .. "/network/ftpc/tl_nod_16.png"},
61
 {"NETWORK/TL_NOD_16.PNG", PROGS .. "/network/ftpc/tl_nod_16.png"},
62
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
62
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
63
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
63
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
64
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
64
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
65
 {"SETTINGS/EOLITE.INI", "common/settings/eolite.ini"},
65
 {"SETTINGS/EOLITE.INI", "common/settings/eolite.ini"},
66
 {"SETTINGS/ESKIN.INI", "common/settings/eskin.ini"},
66
 {"SETTINGS/ESKIN.INI", "common/settings/eskin.ini"},
67
 {"SETTINGS/FB2READ.INI", "common/settings/fb2read.ini"},
67
 {"SETTINGS/FB2READ.INI", "common/settings/fb2read.ini"},
68
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
68
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
69
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
69
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
70
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
70
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
71
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
71
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
72
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
72
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
73
 {"SETTINGS/NETWORK.INI", "common/settings/network.ini"},
73
 {"SETTINGS/NETWORK.INI", "common/settings/network.ini"},
74
 {"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
74
 {"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
75
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
75
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
76
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
76
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
77
}
77
}
78
 
78
 
79
-- For russian build, add russian-only files.
79
-- For russian build, add russian-only files.
80
if build_type == "rus" then tup.append_table(img_files, {
80
if build_type == "rus" then tup.append_table(img_files, {
81
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
81
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
82
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
82
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
83
 {"SETTINGS/GAME_CENTER.INI", "rus/settings/game_center.ini"},
83
 {"SETTINGS/GAME_CENTER.INI", "rus/settings/game_center.ini"},
84
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
84
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
85
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
85
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
86
 {"PIPETKA", build_type .. "/pipetka"},
86
 {"PIPETKA", build_type .. "/pipetka"},
87
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
87
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
88
 {"GAMES/APPDATA.DAT", build_type .. "/games/appdata.dat"},
88
 {"GAMES/APPDATA.DAT", build_type .. "/games/appdata.dat"},
89
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
89
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
90
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
90
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
91
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
91
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
92
 {"GAMES/WHOWTBAM", build_type .. "/games/whowtbam"},
92
 {"GAMES/WHOWTBAM", build_type .. "/games/whowtbam"},
93
}) elseif build_type == "eng" then tup.append_table(img_files, {
93
}) elseif build_type == "eng" then tup.append_table(img_files, {
94
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
94
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
95
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
95
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
96
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
96
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
97
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
97
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
98
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
98
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
99
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"}, 
99
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"}, 
100
}) elseif build_type == "sp" then tup.append_table(img_files, {
100
}) elseif build_type == "sp" then tup.append_table(img_files, {
101
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
101
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
102
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
102
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
103
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
103
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
104
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
104
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
105
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
105
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
106
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"}, 
106
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"}, 
107
}) elseif build_type == "it" then tup.append_table(img_files, {
107
}) elseif build_type == "it" then tup.append_table(img_files, {
108
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
108
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
109
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
109
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
110
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
110
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
111
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
111
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
112
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
112
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
113
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
113
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
114
}) else tup.append_table(img_files, {
114
}) else tup.append_table(img_files, {
115
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
115
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
116
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
116
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
117
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
117
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
118
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
118
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
119
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
119
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
120
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
120
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
121
}) end
121
}) end
122
 
122
 
123
--[[
123
--[[
124
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
124
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
125
 
125
 
126
The first subitem of every item is name relative to the root of ISO or distribution kit,
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.
127
the second is name of local file.
128
 
128
 
129
If the first subitem ends in /, the last component of local file name is appended.
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
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.
131
according to usual rules, but without matching directories.
132
 
132
 
133
Tup does not allow a direct dependency on a file that is generated in a directory
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
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
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 .
136
a named subitem "group=path/" and the file should be put in .
137
--]]
137
--]]
138
extra_files = {
138
extra_files = {
139
 {"/", "common/distr_data/autorun.inf"},
139
 {"/", "common/distr_data/autorun.inf"},
140
 {"/", "common/distr_data/KolibriOS_icon.ico"},
140
 {"/", "common/distr_data/KolibriOS_icon.ico"},
141
 {"/", build_type .. "/settings/kolibri.lbl"},
141
 {"/", build_type .. "/settings/kolibri.lbl"},
142
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
142
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
143
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
143
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
144
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
144
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
145
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
145
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
146
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
146
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
147
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
147
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
148
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
148
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
149
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
149
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
150
 {"HD_Load/", "common/HD_load/memdisk"},
150
 {"HD_Load/", "common/HD_load/memdisk"},
151
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
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"},
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"},
153
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
154
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
154
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
155
 {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"},
155
 {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"},
156
 {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"},
156
 {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"},
157
 {"kolibrios/3D/info3ds/TL_SYS_16.PNG", PROGS .. "/develop/info3ds/tl_sys_16.png"},
157
 {"kolibrios/3D/info3ds/TL_SYS_16.PNG", PROGS .. "/develop/info3ds/tl_sys_16.png"},
158
 {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
158
 {"kolibrios/3D/info3ds/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
159
 {"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
159
 {"kolibrios/3D/info3ds/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
160
 {"kolibrios/3D/md2view/", "common/3d/md2view/*"},
160
 {"kolibrios/3D/md2view/", "common/3d/md2view/*"},
161
 {"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
161
 {"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
162
 {"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", PROGS .. "/media/voxel_editor/trunk/vox_editor.ini"},
162
 {"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", PROGS .. "/media/voxel_editor/trunk/vox_editor.ini"},
163
 {"kolibrios/3D/voxel_editor/HOUSE1.VOX", PROGS .. "/media/voxel_editor/trunk/house1.vox"},
163
 {"kolibrios/3D/voxel_editor/HOUSE1.VOX", PROGS .. "/media/voxel_editor/trunk/house1.vox"},
164
 {"kolibrios/3D/voxel_editor/HOUSE2.VOX", PROGS .. "/media/voxel_editor/trunk/house2.vox"},
164
 {"kolibrios/3D/voxel_editor/HOUSE2.VOX", PROGS .. "/media/voxel_editor/trunk/house2.vox"},
165
 {"kolibrios/3D/voxel_editor/SQUIRREL.VOX", PROGS .. "/media/voxel_editor/trunk/squirrel.vox"},
165
 {"kolibrios/3D/voxel_editor/SQUIRREL.VOX", PROGS .. "/media/voxel_editor/trunk/squirrel.vox"},
166
 {"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
166
 {"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
167
 {"kolibrios/3D/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
167
 {"kolibrios/3D/FONT8X9.BMP", PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
168
 {"kolibrios/3D/TOOLB_1.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
168
 {"kolibrios/3D/TOOLB_1.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
169
 {"kolibrios/3D/TEST_GLU1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu1"},
169
 {"kolibrios/3D/TEST_GLU1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu1"},
170
 {"kolibrios/3D/TEST_GLU2", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu2"},
170
 {"kolibrios/3D/TEST_GLU2", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu2"},
171
 {"kolibrios/3D/TEXT_2.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/text_2.png"},
171
 {"kolibrios/3D/TEXT_2.PNG", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/text_2.png"},
172
 {"kolibrios/develop/oberon07/", PROGS .. "/develop/oberon07/*"},
172
 {"kolibrios/develop/oberon07/", PROGS .. "/develop/oberon07/*"},
173
 {"kolibrios/develop/oberon07/Docs/", PROGS .. "/develop/oberon07/Docs/*"},
173
 {"kolibrios/develop/oberon07/Docs/", PROGS .. "/develop/oberon07/Docs/*"},
174
 {"kolibrios/develop/oberon07/Lib/KolibriOS/", PROGS .. "/develop/oberon07/Lib/KolibriOS/*"},
174
 {"kolibrios/develop/oberon07/Lib/KolibriOS/", PROGS .. "/develop/oberon07/Lib/KolibriOS/*"},
175
 {"kolibrios/develop/oberon07/Samples/", PROGS .. "/develop/oberon07/Samples/*"},
175
 {"kolibrios/develop/oberon07/Samples/", PROGS .. "/develop/oberon07/Samples/*"},
176
 {"kolibrios/develop/TinyBasic/", "common/develop/TinyBasic/*"},
176
 {"kolibrios/develop/TinyBasic/", "common/develop/TinyBasic/*"},
177
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
177
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
178
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
178
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
179
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
179
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
180
 {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
180
 {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
181
 {"kolibrios/emul/", "common/emul/gameboy"},
181
 {"kolibrios/emul/", "common/emul/gameboy"},
182
 {"kolibrios/emul/", "common/emul/pokemini"},
182
 {"kolibrios/emul/", "common/emul/pokemini"},
183
 {"kolibrios/emul/", "common/emul/scummvm"},
183
 {"kolibrios/emul/", "common/emul/scummvm"},
184
 {"kolibrios/emul/", "common/emul/zsnes"},
184
 {"kolibrios/emul/", "common/emul/zsnes"},
185
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
185
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
186
 {"kolibrios/demos/life2", "common/demos/life2"},
186
 {"kolibrios/demos/life2", "common/demos/life2"},
187
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
187
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
188
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
188
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
189
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
189
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
190
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
190
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
191
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
191
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
192
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
192
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
193
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
193
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
194
 {"kolibrios/games/doom1/", "common/games/doom/*"},
194
 {"kolibrios/games/doom1/", "common/games/doom/*"},
195
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
195
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
196
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
196
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
197
 {"kolibrios/games/knight", "common/games/knight"},
197
 {"kolibrios/games/knight", "common/games/knight"},
198
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
198
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
199
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
199
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
200
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
200
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
201
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
201
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
202
 {"kolibrios/games/mun/mun", "common/games/mun/mun"}, 
202
 {"kolibrios/games/mun/mun", "common/games/mun/mun"}, 
203
 {"kolibrios/games/pig/", "common/games/pig/*"},
203
 {"kolibrios/games/pig/", "common/games/pig/*"},
204
 {"kolibrios/games/soko/", "common/games/soko/*"},
204
 {"kolibrios/games/soko/", "common/games/soko/*"},
205
 {"kolibrios/games/the_bus/menu.png", PROGS .. "/cmm/the_bus/menu.png"},
205
 {"kolibrios/games/the_bus/menu.png", PROGS .. "/cmm/the_bus/menu.png"},
206
 {"kolibrios/games/the_bus/objects.png", PROGS .. "/cmm/the_bus/objects.png"},
206
 {"kolibrios/games/the_bus/objects.png", PROGS .. "/cmm/the_bus/objects.png"},
207
 {"kolibrios/games/the_bus/road.png", PROGS .. "/cmm/the_bus/road.png"},
207
 {"kolibrios/games/the_bus/road.png", PROGS .. "/cmm/the_bus/road.png"},
208
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
208
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
209
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
209
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
210
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
210
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
211
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
211
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
212
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
212
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
213
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
213
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
214
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
214
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
215
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
215
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
216
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
216
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
217
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
217
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
218
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
218
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
219
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
219
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
220
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
220
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
221
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
221
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
222
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
222
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
223
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
223
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
224
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
224
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
225
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
225
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
226
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
226
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
227
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
227
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
228
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
228
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
229
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
229
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
230
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
230
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
231
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
231
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
232
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
232
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
233
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
233
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
234
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
234
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
235
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
235
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
236
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
236
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
237
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
237
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
238
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
238
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
239
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
239
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
240
 {"kolibrios/media/fplay", "common/media/fplay"},
240
 {"kolibrios/media/fplay", "common/media/fplay"},
241
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
241
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
242
 {"kolibrios/media/updf", "common/media/updf"},
242
 {"kolibrios/media/updf", "common/media/updf"},
243
 {"kolibrios/media/vttf", "common/media/vttf"},
243
 {"kolibrios/media/vttf", "common/media/vttf"},
244
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
244
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
245
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
245
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
246
 {"kolibrios/res/skins/", "../skins/authors.txt"},
246
 {"kolibrios/res/skins/", "../skins/authors.txt"},
247
 {"kolibrios/settings/app_plus.ini", "common/settings/app_plus.ini"},
247
 {"kolibrios/settings/app_plus.ini", "common/settings/app_plus.ini"},
248
 {"kolibrios/res/wallpapers/in_the_wind.png", "common/wallpapers/in_the_wind.png"},
248
 {"kolibrios/res/wallpapers/in_the_wind.png", "common/wallpapers/in_the_wind.png"},
249
 {"kolibrios/res/wallpapers/deink.png", "common/wallpapers/deink.png"},
249
 {"kolibrios/res/wallpapers/deink.png", "common/wallpapers/deink.png"},
250
 }
250
 }
251
if build_type == "rus" then tup.append_table(extra_files, {
251
if build_type == "rus" then tup.append_table(extra_files, {
252
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
252
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
253
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
253
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
254
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
254
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
255
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
255
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
256
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
256
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
257
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
257
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
258
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
258
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
259
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
259
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
260
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
260
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
261
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
261
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
262
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
262
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
263
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
263
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
264
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
264
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
265
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
265
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
266
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
266
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
267
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
267
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
268
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
268
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
269
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
269
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
270
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
270
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
271
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
271
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
272
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
272
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
273
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
273
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
274
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
274
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
275
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
275
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
276
}) else tup.append_table(extra_files, {
276
}) else tup.append_table(extra_files, {
277
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
277
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
278
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
278
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
279
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
279
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
280
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
280
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
281
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
281
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
282
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
282
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
283
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
283
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
284
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
284
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
285
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
285
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
286
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
286
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
287
}) end
287
}) end
288
--[[
288
--[[
289
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
289
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
290
Same syntax as extra_files.
290
Same syntax as extra_files.
291
]]--
291
]]--
292
if build_type == "rus" then
292
if build_type == "rus" then
293
distr_extra_files = {
293
distr_extra_files = {
294
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
294
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
295
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
295
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
296
}
296
}
297
else
297
else
298
distr_extra_files = {
298
distr_extra_files = {
299
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
299
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
300
}
300
}
301
end
301
end
302
--[[
302
--[[
303
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
303
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
304
Same syntax as extra_files.
304
Same syntax as extra_files.
305
]]--
305
]]--
306
if build_type == "rus" then
306
if build_type == "rus" then
307
iso_extra_files = {
307
iso_extra_files = {
308
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
308
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
309
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
309
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
310
}
310
}
311
else
311
else
312
iso_extra_files = {
312
iso_extra_files = {
313
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
313
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
314
}
314
}
315
end
315
end
316
 
316
 
317
-- Programs that require FASM to compile.
317
-- Programs that require FASM to compile.
318
if tup.getconfig('NO_FASM') ~= 'full' then
318
if tup.getconfig('NO_FASM') ~= 'full' then
319
tup.append_table(img_files, {
319
tup.append_table(img_files, {
320
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
320
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
321
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
321
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
322
 {"@ICON", PROGS .. "/system/icon_new/icon"},
322
 {"@ICON", PROGS .. "/system/icon_new/icon"},
323
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
323
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
324
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
324
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
325
 {"@OPEN", PROGS .. "/system/open/open"},
325
 {"@OPEN", PROGS .. "/system/open/open"},
326
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
326
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
327
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
327
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
328
 {"@VOLUME", PROGS .. "/media/volume/volume"},
328
 {"@VOLUME", PROGS .. "/media/volume/volume"},
329
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
329
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
330
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
330
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
331
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
331
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
332
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
332
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
333
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
333
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
334
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
334
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
335
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
335
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
336
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
336
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
337
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
337
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
338
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
338
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
339
 {"END", PROGS .. "/system/end/light/end"},
339
 {"END", PROGS .. "/system/end/light/end"},
340
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
340
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
341
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
341
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
342
 {"GMON", PROGS .. "/system/gmon/gmon"},
342
 {"GMON", PROGS .. "/system/gmon/gmon"},
343
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
343
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
344
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
344
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
345
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
345
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
346
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
346
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
347
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
347
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
348
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
348
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
349
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
349
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
350
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
350
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
351
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
351
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
352
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
352
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
353
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
353
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
354
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
354
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
355
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
355
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
356
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
356
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
357
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
357
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
358
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
358
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
359
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
359
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
360
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
360
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
361
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
361
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
362
 {"TEST", PROGS .. "/system/test/trunk/test"},
362
 {"TEST", PROGS .. "/system/test/trunk/test"},
363
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
363
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
364
 {"UNZ", PROGS .. "/fs/unz/unz"},
364
 {"UNZ", PROGS .. "/fs/unz/unz"},
365
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
365
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
366
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
366
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
367
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
367
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
368
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
368
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
369
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
369
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
370
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
370
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
371
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
371
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
372
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
372
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
373
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
373
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
374
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
374
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
375
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
375
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
376
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
376
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
377
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
377
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
378
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
378
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
379
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
379
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
380
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
380
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
381
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
381
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
382
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
382
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
383
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
383
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
384
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
384
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
385
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
385
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
386
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
386
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
387
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
387
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
388
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
388
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
389
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
389
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
390
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
390
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
391
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
391
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
392
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
392
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
393
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
393
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
394
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
394
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
395
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
395
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
396
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
396
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
397
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
397
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
398
 {"DEVELOP/INFO/CPP_KOL_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
398
 {"DEVELOP/INFO/CPP_KOL_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
399
 {"DEVELOP/INFO/CPP_KOL_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
399
 {"DEVELOP/INFO/CPP_KOL_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
400
 {"DEVELOP/INFO/CPP_KOL_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
400
 {"DEVELOP/INFO/CPP_KOL_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
401
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
401
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
402
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
402
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
403
 {"DEVELOP/INFO/INI_FILES.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
403
 {"DEVELOP/INFO/INI_FILES.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
404
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
404
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
405
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
405
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
406
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
406
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
407
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
407
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
408
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
408
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
409
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
409
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
410
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
410
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
411
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
411
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
412
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
412
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
413
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
413
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
414
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
414
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
415
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
415
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
416
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
416
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
417
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
417
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
418
 {"GAMES/SQ_GAME", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
418
 {"GAMES/SQ_GAME", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
419
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
419
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
420
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
420
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
421
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
421
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
422
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
422
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
423
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
423
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
424
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
424
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
425
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
425
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
426
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
426
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
427
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
427
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
428
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
428
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
429
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
429
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
430
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
430
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
431
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
431
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
432
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
432
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
433
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
433
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
434
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
434
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
435
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
435
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
436
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
436
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
437
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
437
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
438
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
438
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
439
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
439
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
440
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
440
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
441
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
441
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
442
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
442
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
443
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
443
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
444
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
444
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
445
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
445
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
446
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
446
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
447
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
447
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
448
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
448
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
449
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
449
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
450
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
450
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
451
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
451
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
452
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
452
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
453
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
453
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
454
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
454
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
455
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
455
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
456
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
456
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
457
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
457
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
458
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
458
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
459
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
459
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
460
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
460
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
461
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
461
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
462
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
462
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
463
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
463
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
464
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
464
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
465
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
465
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
466
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
466
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
467
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
467
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
468
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
468
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
469
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
469
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
470
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
470
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
471
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
471
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
472
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
472
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
473
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
473
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
474
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
474
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
475
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
475
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
476
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
476
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
477
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
477
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
478
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
478
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
479
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
479
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
480
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
480
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
481
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
481
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
482
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
482
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
483
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
483
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
484
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
484
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
485
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
485
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
486
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
486
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
487
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
487
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
488
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
488
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
489
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
489
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
490
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
490
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
491
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
491
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
492
})
492
})
493
tup.append_table(extra_files, {
493
tup.append_table(extra_files, {
494
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
494
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
495
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
495
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
496
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
496
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
497
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
497
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
498
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
498
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
499
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
499
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
500
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
500
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
501
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
501
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
502
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
502
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
503
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
503
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
504
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
504
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
505
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
505
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
506
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
506
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
507
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
507
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
508
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
508
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
509
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
509
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
510
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
510
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
511
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
511
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
512
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
512
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
513
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
513
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
514
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
514
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
515
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
515
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
516
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
516
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
517
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
517
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
518
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
518
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
519
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
519
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
520
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
520
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
521
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
521
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
522
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
522
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
523
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
523
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
524
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
524
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
525
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
525
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
526
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
526
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
527
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
527
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
528
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
528
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
529
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
529
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
530
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
530
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
531
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
531
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
532
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
532
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
533
})
533
})
534
-- For russian build, add russian-only programs.
534
-- For russian build, add russian-only programs.
535
if build_type == "rus" then tup.append_table(img_files, {
535
if build_type == "rus" then tup.append_table(img_files, {
536
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
536
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
537
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
537
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
538
}) else tup.append_table(img_files, {
538
}) else tup.append_table(img_files, {
539
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
539
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
540
}) end
540
}) end
541
 
541
 
542
if build_type == "rus" then tup.append_table(extra_files, {
542
if build_type == "rus" then tup.append_table(extra_files, {
543
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
543
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
544
}) end
544
}) end
545
 
545
 
546
end -- tup.getconfig('NO_FASM') ~= 'full'
546
end -- tup.getconfig('NO_FASM') ~= 'full'
547
 
547
 
548
-- Programs that require NASM to compile.
548
-- Programs that require NASM to compile.
549
if tup.getconfig('NO_NASM') ~= 'full' then
549
if tup.getconfig('NO_NASM') ~= 'full' then
550
tup.append_table(img_files, {
550
tup.append_table(img_files, {
551
 {"LOD", PROGS .. "/fs/lod/lod"},
551
 {"LOD", PROGS .. "/fs/lod/lod"},
552
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
552
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
553
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
553
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
554
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
554
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
555
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
555
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
556
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
556
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
557
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
557
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
558
})
558
})
559
end -- tup.getconfig('NO_NASM') ~= 'full'
559
end -- tup.getconfig('NO_NASM') ~= 'full'
560
 
560
 
561
-- Programs that require JWASM to compile.
561
-- Programs that require JWASM to compile.
562
if tup.getconfig('NO_JWASM') ~= 'full' then
562
if tup.getconfig('NO_JWASM') ~= 'full' then
563
tup.append_table(img_files, {
563
tup.append_table(img_files, {
564
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
564
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
565
})
565
})
566
end -- tup.getconfig('NO_JWASM') ~= 'full'
566
end -- tup.getconfig('NO_JWASM') ~= 'full'
567
 
567
 
568
-- Programs that require C-- to compile.
568
-- Programs that require C-- to compile.
569
if tup.getconfig('NO_CMM') ~= 'full' then
569
if tup.getconfig('NO_CMM') ~= 'full' then
570
tup.append_table(img_files, {
570
tup.append_table(img_files, {
571
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
571
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
572
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
572
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
573
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
573
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
574
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
574
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
575
 {"GAME_CENTER", PROGS .. "/cmm/software_widget/software_widget.com"},
575
 {"GAME_CENTER", PROGS .. "/cmm/software_widget/software_widget.com"},
576
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
576
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
577
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
577
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
578
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
578
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
579
 {"FONT_VIEWER", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
579
 {"FONT_VIEWER", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
580
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
580
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
581
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
581
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
582
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
582
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
583
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
583
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
584
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
584
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
585
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
585
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
586
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
586
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
587
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
587
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
588
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
588
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
589
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
589
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
590
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
590
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
-
 
591
 {"@KERNEL", PROGS .. "/cmm/KERNEL/kernel.com"},
591
})
592
})
592
tup.append_table(extra_files, {
593
tup.append_table(extra_files, {
593
 {"kolibrios/drivers/DRVINST.KEX", PROGS .. "/cmm/drvinst/drvinst.com"},
594
 {"kolibrios/drivers/DRVINST.KEX", PROGS .. "/cmm/drvinst/drvinst.com"},
594
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
595
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
595
 {"kolibrios/utils/DICTY.KEX", PROGS .. "/cmm/dicty/dicty.com"},
596
 {"kolibrios/utils/DICTY.KEX", PROGS .. "/cmm/dicty/dicty.com"},
596
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
597
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
597
})
598
})
598
end -- tup.getconfig('NO_CMM') ~= 'full'
599
end -- tup.getconfig('NO_CMM') ~= 'full'
599
 
600
 
600
-- Programs that require MSVC to compile.
601
-- Programs that require MSVC to compile.
601
if tup.getconfig('NO_MSVC') ~= 'full' then
602
if tup.getconfig('NO_MSVC') ~= 'full' then
602
tup.append_table(img_files, {
603
tup.append_table(img_files, {
603
 {"GRAPH", PROGS .. "/other/graph/graph"},
604
 {"GRAPH", PROGS .. "/other/graph/graph"},
604
 {"TABLE", PROGS .. "/other/table/table"},
605
 {"TABLE", PROGS .. "/other/table/table"},
605
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
606
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
606
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
607
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
607
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
608
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
608
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
609
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
609
})
610
})
610
tup.append_table(extra_files, {
611
tup.append_table(extra_files, {
611
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
612
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
612
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
613
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
613
})
614
})
614
end -- tup.getconfig('NO_MSVC') ~= 'full'
615
end -- tup.getconfig('NO_MSVC') ~= 'full'
615
 
616
 
616
-- Programs that require GCC to compile.
617
-- Programs that require GCC to compile.
617
if tup.getconfig('NO_GCC') ~= 'full' then
618
if tup.getconfig('NO_GCC') ~= 'full' then
618
tup.append_table(img_files, {
619
tup.append_table(img_files, {
619
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
620
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
620
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
621
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
621
 {"SHELL", PROGS .. "/system/shell/shell"},
622
 {"SHELL", PROGS .. "/system/shell/shell"},
622
})
623
})
623
tup.append_table(extra_files, {
624
tup.append_table(extra_files, {
624
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
625
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
625
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
626
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
626
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
627
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
627
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
628
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
628
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
629
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
629
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
630
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
630
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
631
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
631
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
632
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
632
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
633
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
633
})
634
})
634
-- For russian build, add russian-only programs.
635
-- For russian build, add russian-only programs.
635
if build_type == "rus" then tup.append_table(extra_files, {
636
if build_type == "rus" then tup.append_table(extra_files, {
636
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
637
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
637
}) end
638
}) end
638
end -- tup.getconfig('NO_GCC') ~= 'full'
639
end -- tup.getconfig('NO_GCC') ~= 'full'
639
 
640
 
640
-- Skins.
641
-- Skins.
641
tup.include("../skins/skinlist.lua")
642
tup.include("../skins/skinlist.lua")
642
 
643
 
643
--[================================[ CODE ]================================]--
644
--[================================[ CODE ]================================]--
644
-- expand extra_files and similar
645
-- expand extra_files and similar
645
function expand_extra_files(files)
646
function expand_extra_files(files)
646
  local result = {}
647
  local result = {}
647
  for i,v in ipairs(files) do
648
  for i,v in ipairs(files) do
648
    if string.match(v[2], "%*")
649
    if string.match(v[2], "%*")
649
    then
650
    then
650
      local g = tup.glob(v[2])
651
      local g = tup.glob(v[2])
651
      for j,x in ipairs(g) do
652
      for j,x in ipairs(g) do
652
        table.insert(result, {v[1], x, group=v.group})
653
        table.insert(result, {v[1], x, group=v.group})
653
      end
654
      end
654
    else
655
    else
655
      if v.cp1251_from then
656
      if v.cp1251_from then
656
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
657
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
657
      end
658
      end
658
      table.insert(result, {v[1], v[2], group=v.group})
659
      table.insert(result, {v[1], v[2], group=v.group})
659
    end
660
    end
660
  end
661
  end
661
  return result
662
  return result
662
end
663
end
663
 
664
 
664
-- append skins to extra_files
665
-- append skins to extra_files
665
for i,v in ipairs(skinlist) do
666
for i,v in ipairs(skinlist) do
666
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
667
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
667
end
668
end
668
 
669
 
669
-- prepare distr_extra_files and iso_extra_files: expand and append common part
670
-- prepare distr_extra_files and iso_extra_files: expand and append common part
670
extra_files = expand_extra_files(extra_files)
671
extra_files = expand_extra_files(extra_files)
671
distr_extra_files = expand_extra_files(distr_extra_files)
672
distr_extra_files = expand_extra_files(distr_extra_files)
672
iso_extra_files = expand_extra_files(iso_extra_files)
673
iso_extra_files = expand_extra_files(iso_extra_files)
673
tup.append_table(distr_extra_files, extra_files)
674
tup.append_table(distr_extra_files, extra_files)
674
tup.append_table(iso_extra_files, extra_files)
675
tup.append_table(iso_extra_files, extra_files)
675
 
676
 
676
-- generate list of directories to be created inside kolibri.img
677
-- generate list of directories to be created inside kolibri.img
677
img_dirs = {}
678
img_dirs = {}
678
input_deps = {}
679
input_deps = {}
679
for i,v in ipairs(img_files) do
680
for i,v in ipairs(img_files) do
680
  img_file = v[1]
681
  img_file = v[1]
681
  local_file = v[2]
682
  local_file = v[2]
682
 
683
 
683
  slash_pos = 0
684
  slash_pos = 0
684
  while true do
685
  while true do
685
    slash_pos = string.find(img_file, '/', slash_pos + 1)
686
    slash_pos = string.find(img_file, '/', slash_pos + 1)
686
    if not slash_pos then break end
687
    if not slash_pos then break end
687
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
688
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
688
  end
689
  end
689
 
690
 
690
  -- tup does not want to see hidden files as dependencies
691
  -- tup does not want to see hidden files as dependencies
691
  if not string.match(local_file, "/%.") then
692
  if not string.match(local_file, "/%.") then
692
    table.insert(input_deps, v.group or local_file)
693
    table.insert(input_deps, v.group or local_file)
693
  end
694
  end
694
end
695
end
695
 
696
 
696
-- create empty 1.44M file
697
-- create empty 1.44M file
697
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
698
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
698
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
699
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
699
-- format it as a standard 1.44M floppy
700
-- format it as a standard 1.44M floppy
700
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
701
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
701
-- copy bootloader
702
-- copy bootloader
702
if tup.getconfig("NO_FASM") ~= "full" then
703
if tup.getconfig("NO_FASM") ~= "full" then
703
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
704
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
704
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
705
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
705
table.insert(input_deps, bootloader)
706
table.insert(input_deps, bootloader)
706
end
707
end
707
-- make folders
708
-- make folders
708
table.sort(img_dirs)
709
table.sort(img_dirs)
709
for i,v in ipairs(img_dirs) do
710
for i,v in ipairs(img_dirs) do
710
  if v ~= img_dirs[i-1] then
711
  if v ~= img_dirs[i-1] then
711
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
712
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
712
  end
713
  end
713
end
714
end
714
-- copy files
715
-- copy files
715
for i,v in ipairs(img_files) do
716
for i,v in ipairs(img_files) do
716
  local_file = v[2]
717
  local_file = v[2]
717
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
718
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
718
  then
719
  then
719
    -- for kernel.mnt, insert autobuild revision identifier
720
    -- for kernel.mnt, insert autobuild revision identifier
720
    -- from .revision to .kernel.mnt
721
    -- from .revision to .kernel.mnt
721
    -- note that .revision and .kernel.mnt must begin with .
722
    -- note that .revision and .kernel.mnt must begin with .
722
    -- to prevent tup from tracking them
723
    -- to prevent tup from tracking them
723
    if build_type == "rus"
724
    if build_type == "rus"
724
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
725
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
725
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
726
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
726
    end
727
    end
727
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
728
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
728
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
729
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
729
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
730
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
730
    make_img_command = make_img_command .. " && str=" .. str
731
    make_img_command = make_img_command .. " && str=" .. str
731
    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'
732
    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'
732
    local_file = ".kernel.mnt"
733
    local_file = ".kernel.mnt"
733
  end
734
  end
734
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
735
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
735
end
736
end
736
 
737
 
737
-- generate tup rule for kolibri.img
738
-- generate tup rule for kolibri.img
738
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
739
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
739
tup.definerule{inputs = {"../kernel/trunk/boot/uefi4kos.asm", "kolibri.img", "../kernel/trunk/kernel.bin"}, command = "fasm ../kernel/trunk/boot/uefi4kos.asm %o", outputs = {"kolibri.efi"}}
740
tup.definerule{inputs = {"../kernel/trunk/boot/uefi4kos.asm", "kolibri.img", "../kernel/trunk/kernel.bin"}, command = "fasm ../kernel/trunk/boot/uefi4kos.asm %o", outputs = {"kolibri.efi"}}
740
 
741
 
741
-- generate command and dependencies for mkisofs
742
-- generate command and dependencies for mkisofs
742
input_deps = {"kolibri.img"}
743
input_deps = {"kolibri.img"}
743
iso_files_list = ""
744
iso_files_list = ""
744
for i,v in ipairs(iso_extra_files) do
745
for i,v in ipairs(iso_extra_files) do
745
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
746
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
746
  table.insert(input_deps, v.group or v[2])
747
  table.insert(input_deps, v.group or v[2])
747
end
748
end
748
 
749
 
749
-- generate tup rule for kolibri.iso
750
-- generate tup rule for kolibri.iso
750
if tup.getconfig("INSERT_REVISION_ID") ~= ""
751
if tup.getconfig("INSERT_REVISION_ID") ~= ""
751
then volume_id = "KolibriOS r`cat .revision`"
752
then volume_id = "KolibriOS r`cat .revision`"
752
else volume_id = "KolibriOS"
753
else volume_id = "KolibriOS"
753
end
754
end
754
tup.definerule{inputs = input_deps, command =
755
tup.definerule{inputs = input_deps, command =
755
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
756
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
756
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
757
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
757
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
758
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
758
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
759
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
759
  outputs = {"kolibri.iso"}}
760
  outputs = {"kolibri.iso"}}
760
 
761
 
761
-- generate command and dependencies for distribution kit
762
-- generate command and dependencies for distribution kit
762
cp = 'cp "%f" "%o"'
763
cp = 'cp "%f" "%o"'
763
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
764
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
764
for i,v in ipairs(distr_extra_files) do
765
for i,v in ipairs(distr_extra_files) do
765
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
766
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
766
  if string.sub(v[1], -1) == "/"
767
  if string.sub(v[1], -1) == "/"
767
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
768
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
768
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
769
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
769
  end
770
  end
770
end
771
end