Subversion Repositories Kolibri OS

Rev

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

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