Subversion Repositories Kolibri OS

Rev

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

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