Subversion Repositories Kolibri OS

Rev

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

Rev 7642 Rev 7643
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/templates/NES/", "common/templates/NES/*"},
250
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
250
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
251
 }
251
 }
252
if build_type == "rus" then tup.append_table(extra_files, {
252
if build_type == "rus" then tup.append_table(extra_files, {
253
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
253
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
254
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
254
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
255
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
255
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
256
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
256
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
257
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
257
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
258
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
258
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
259
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
259
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
260
 {"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"},
261
 {"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"},
262
 {"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"},
263
 {"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"},
264
 {"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"},
265
 {"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"},
266
 {"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"},
267
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
267
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
268
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
268
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
269
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
269
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
270
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
270
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
271
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
271
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
272
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
272
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
273
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
273
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
274
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
274
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
275
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
275
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
276
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
276
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
277
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
277
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
278
 {"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"},
279
 {"kolibrios/res/guide/", build_type .. "/docs/guide/*"}, 
279
 {"kolibrios/res/guide/", build_type .. "/docs/guide/*"}, 
280
}) else tup.append_table(extra_files, {
280
}) else tup.append_table(extra_files, {
281
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
281
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
282
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
282
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
283
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
283
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
284
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
284
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
285
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
285
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
286
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
286
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
287
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
287
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
288
 {"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"},
289
 {"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"},
290
 {"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"},
291
}) end
291
}) end
292
--[[
292
--[[
293
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.
294
Same syntax as extra_files.
294
Same syntax as extra_files.
295
]]--
295
]]--
296
if build_type == "rus" then
296
if build_type == "rus" then
297
distr_extra_files = {
297
distr_extra_files = {
298
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
298
 {"/readme_dos.txt", 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
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
300
}
300
}
301
else
301
else
302
distr_extra_files = {
302
distr_extra_files = {
303
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
303
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
304
}
304
}
305
end
305
end
306
--[[
306
--[[
307
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.
308
Same syntax as extra_files.
308
Same syntax as extra_files.
309
]]--
309
]]--
310
if build_type == "rus" then
310
if build_type == "rus" then
311
iso_extra_files = {
311
iso_extra_files = {
312
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
312
 {"/readme_dos.txt", 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
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
314
}
314
}
315
else
315
else
316
iso_extra_files = {
316
iso_extra_files = {
317
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
317
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
318
}
318
}
319
end
319
end
320
 
320
 
321
-- Programs that require FASM to compile.
321
-- Programs that require FASM to compile.
322
if tup.getconfig('NO_FASM') ~= 'full' then
322
if tup.getconfig('NO_FASM') ~= 'full' then
323
tup.append_table(img_files, {
323
tup.append_table(img_files, {
324
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
324
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
325
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
325
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
326
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
326
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
327
 {"@ICON", PROGS .. "/system/icon_new/icon"},
327
 {"@ICON", PROGS .. "/system/icon_new/icon"},
328
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
328
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
329
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
329
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
330
 {"@OPEN", PROGS .. "/system/open/open"},
330
 {"@OPEN", PROGS .. "/system/open/open"},
331
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
331
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
332
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
332
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
333
 {"@VOLUME", PROGS .. "/media/volume/volume"},
333
 {"@VOLUME", PROGS .. "/media/volume/volume"},
334
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
334
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
335
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
335
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
336
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
336
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
337
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
337
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
338
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
338
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
339
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
339
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
340
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
340
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
341
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
341
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
342
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
342
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
343
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
343
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
344
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
344
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
345
 {"END", PROGS .. "/system/end/light/end"},
345
 {"END", PROGS .. "/system/end/light/end"},
346
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
346
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
347
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
347
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
348
 {"GMON", PROGS .. "/system/gmon/gmon"},
348
 {"GMON", PROGS .. "/system/gmon/gmon"},
349
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
349
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
350
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
350
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
351
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
351
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
352
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
352
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
353
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
353
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
354
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
354
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
355
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
355
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
356
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
356
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
357
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
357
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
358
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
358
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
359
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
359
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
360
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
360
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
361
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
361
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
362
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
362
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
363
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
363
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
364
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
364
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
365
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
365
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
366
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
366
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
367
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
367
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
368
 {"TEST", PROGS .. "/system/test/trunk/test"},
368
 {"TEST", PROGS .. "/system/test/trunk/test"},
369
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
369
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
370
 {"UNZ", PROGS .. "/fs/unz/unz"},
370
 {"UNZ", PROGS .. "/fs/unz/unz"},
371
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
371
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
372
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
372
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
373
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
373
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
374
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
374
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
375
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
375
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
376
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
376
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
377
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
377
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
378
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
378
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
379
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
379
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
380
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
380
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
381
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
381
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
382
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
382
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
383
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
383
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
384
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
384
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
385
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
385
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
386
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
386
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
387
 {"DEMOS/SPIRAL", PROGS .. "/demos/spiral/spiral"},
387
 {"DEMOS/SPIRAL", PROGS .. "/demos/spiral/spiral"},
388
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
388
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
389
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
389
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
390
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
390
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
391
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
391
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
392
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
392
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
393
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
393
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
394
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
394
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
395
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
395
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
396
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
396
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
397
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
397
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
398
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
398
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
399
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
399
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
400
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
400
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
401
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
401
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
402
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
402
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
403
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
403
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
404
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
404
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
405
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
405
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
406
 {"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"},
407
 {"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"},
408
 {"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"},
409
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
409
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
410
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
410
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
411
 {"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"},
412
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
412
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
413
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
413
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
414
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
414
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
415
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
415
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
416
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
416
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
417
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
417
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
418
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
418
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
419
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
419
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
420
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
420
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
421
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
421
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
422
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
422
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
423
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
423
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
424
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
424
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
425
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
425
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
426
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
426
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
427
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
427
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
428
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
428
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
429
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
429
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
430
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
430
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
431
 {"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"},
432
 {"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"},
433
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
433
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
434
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
434
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
435
 {"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"},
436
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
436
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
437
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
437
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
438
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
438
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
439
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
439
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
440
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
440
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
441
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
441
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
442
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
442
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
443
 {"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"},
444
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
444
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
445
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
445
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
446
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
446
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
447
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
447
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
448
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
448
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
449
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
449
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
450
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
450
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
451
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
451
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
452
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
452
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
453
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
453
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
454
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
454
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
455
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
455
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
456
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
456
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
457
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
457
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
458
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
458
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
459
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
459
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
460
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
460
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
461
 {"NETWORK/SNTP", PROGS .. "/network/sntp/sntp"},
461
 {"NETWORK/SNTP", PROGS .. "/network/sntp/sntp"},
462
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
462
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
463
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
463
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
464
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
464
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
465
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
465
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
466
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
466
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
467
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
467
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
468
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
468
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
469
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
469
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
470
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
470
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
471
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
471
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
472
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
472
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
473
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
473
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
474
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
474
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
475
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
475
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
476
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
476
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
477
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
477
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
478
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
478
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
479
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
479
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
480
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
480
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
481
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
481
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
482
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
482
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
483
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
483
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
484
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
484
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
485
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
485
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
486
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
486
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
487
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
487
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
488
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
488
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
489
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
489
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
490
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
490
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
491
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
491
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
492
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
492
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
493
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
493
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
494
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
494
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
495
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
495
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
496
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
496
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
497
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
497
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
498
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
498
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
499
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
499
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
500
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
500
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
501
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
501
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
502
})
502
})
503
tup.append_table(extra_files, {
503
tup.append_table(extra_files, {
504
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
504
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
505
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
505
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
506
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
506
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
507
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
507
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
508
 {"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"},
509
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
509
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
510
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
510
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
511
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
511
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
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/MeOSload.com"},
513
 {"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"},
514
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
514
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
515
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
515
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
516
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
516
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
517
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
517
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
518
 {"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"},
519
 {"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"},
520
 {"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"},
521
 {"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"},
522
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
522
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
523
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
523
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
524
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
524
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
525
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
525
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
526
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
526
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
527
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
527
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
528
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
528
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
529
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
529
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
530
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
530
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
531
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
531
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
532
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
532
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
533
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
533
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
534
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
534
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
535
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
535
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
536
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
536
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
537
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
537
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
538
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
538
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
539
 {"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"},
540
 {"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"},
541
 {"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"},
542
 {"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"},
543
 {"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"},
544
 {"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"},
545
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
545
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
546
})
546
})
547
-- For russian build, add russian-only programs.
547
-- For russian build, add russian-only programs.
548
if build_type == "rus" then tup.append_table(img_files, {
548
if build_type == "rus" then tup.append_table(img_files, {
549
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
549
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
550
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
550
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
551
}) else tup.append_table(img_files, {
551
}) else tup.append_table(img_files, {
552
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
552
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
553
}) end
553
}) end
554
 
554
 
555
if build_type == "rus" then tup.append_table(extra_files, {
555
if build_type == "rus" then tup.append_table(extra_files, {
556
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
556
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
557
}) end
557
}) end
558
 
558
 
559
end -- tup.getconfig('NO_FASM') ~= 'full'
559
end -- tup.getconfig('NO_FASM') ~= 'full'
560
 
560
 
561
-- Programs that require NASM to compile.
561
-- Programs that require NASM to compile.
562
if tup.getconfig('NO_NASM') ~= 'full' then
562
if tup.getconfig('NO_NASM') ~= 'full' then
563
tup.append_table(img_files, {
563
tup.append_table(img_files, {
564
 {"LOD", PROGS .. "/fs/lod/lod"},
564
 {"LOD", PROGS .. "/fs/lod/lod"},
565
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
565
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
566
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
566
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
567
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
567
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
568
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
568
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
569
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
569
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
570
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
570
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
571
})
571
})
572
end -- tup.getconfig('NO_NASM') ~= 'full'
572
end -- tup.getconfig('NO_NASM') ~= 'full'
573
 
573
 
574
-- Programs that require JWASM to compile.
574
-- Programs that require JWASM to compile.
575
if tup.getconfig('NO_JWASM') ~= 'full' then
575
if tup.getconfig('NO_JWASM') ~= 'full' then
576
tup.append_table(img_files, {
576
tup.append_table(img_files, {
577
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
577
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
578
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
578
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
579
})
579
})
580
end -- tup.getconfig('NO_JWASM') ~= 'full'
580
end -- tup.getconfig('NO_JWASM') ~= 'full'
581
 
581
 
582
-- Programs that require C-- to compile.
582
-- Programs that require C-- to compile.
583
if tup.getconfig('NO_CMM') ~= 'full' then
583
if tup.getconfig('NO_CMM') ~= 'full' then
584
tup.append_table(img_files, {
584
tup.append_table(img_files, {
585
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
585
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
586
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
586
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
587
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
587
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
588
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
588
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
589
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
589
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
590
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
590
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
591
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
591
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
592
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
592
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
593
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
593
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
594
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
594
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
595
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
595
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
596
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
596
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
597
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
597
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
598
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
598
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
599
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
599
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
600
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
600
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
601
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
601
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
602
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
602
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
603
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
603
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
604
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
604
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
605
})
605
})
606
tup.append_table(extra_files, {
606
tup.append_table(extra_files, {
607
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
607
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
608
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
608
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
609
 {"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"},
610
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
610
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
611
 {"kolibrios/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"},
611
 {"kolibrios/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"},
612
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
612
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
613
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
613
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
614
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
614
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
615
})
615
})
616
end -- tup.getconfig('NO_CMM') ~= 'full'
616
end -- tup.getconfig('NO_CMM') ~= 'full'
617
 
617
 
618
-- Programs that require MSVC to compile.
618
-- Programs that require MSVC to compile.
619
if tup.getconfig('NO_MSVC') ~= 'full' then
619
if tup.getconfig('NO_MSVC') ~= 'full' then
620
tup.append_table(img_files, {
620
tup.append_table(img_files, {
621
 {"GRAPH", PROGS .. "/other/graph/graph"},
621
 {"GRAPH", PROGS .. "/other/graph/graph"},
622
 {"TABLE", PROGS .. "/other/table/table"},
622
 {"TABLE", PROGS .. "/other/table/table"},
623
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
623
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
624
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
624
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
625
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
625
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
626
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
626
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
627
})
627
})
628
tup.append_table(extra_files, {
628
tup.append_table(extra_files, {
629
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
629
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
630
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
630
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
631
})
631
})
632
end -- tup.getconfig('NO_MSVC') ~= 'full'
632
end -- tup.getconfig('NO_MSVC') ~= 'full'
633
 
633
 
634
-- Programs that require GCC to compile.
634
-- Programs that require GCC to compile.
635
if tup.getconfig('NO_GCC') ~= 'full' then
635
if tup.getconfig('NO_GCC') ~= 'full' then
636
tup.append_table(img_files, {
636
tup.append_table(img_files, {
637
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
637
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
638
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
638
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
639
 {"SHELL", PROGS .. "/system/shell/shell"},
639
 {"SHELL", PROGS .. "/system/shell/shell"},
640
})
640
})
641
tup.append_table(extra_files, {
641
tup.append_table(extra_files, {
642
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
642
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
643
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
643
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
644
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
644
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
645
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
645
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
646
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
646
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
647
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
647
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
648
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
648
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
649
 {"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
650
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
650
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
651
})
651
})
652
-- For russian build, add russian-only programs.
652
-- For russian build, add russian-only programs.
653
if build_type == "rus" then tup.append_table(extra_files, {
653
if build_type == "rus" then tup.append_table(extra_files, {
654
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
654
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
655
}) end
655
}) end
656
end -- tup.getconfig('NO_GCC') ~= 'full'
656
end -- tup.getconfig('NO_GCC') ~= 'full'
657
 
657
 
658
-- Skins.
658
-- Skins.
659
tup.include("../skins/skinlist.lua")
659
tup.include("../skins/skinlist.lua")
660
 
660
 
661
--[================================[ CODE ]================================]--
661
--[================================[ CODE ]================================]--
662
-- expand extra_files and similar
662
-- expand extra_files and similar
663
function expand_extra_files(files)
663
function expand_extra_files(files)
664
  local result = {}
664
  local result = {}
665
  for i,v in ipairs(files) do
665
  for i,v in ipairs(files) do
666
    if string.match(v[2], "%*")
666
    if string.match(v[2], "%*")
667
    then
667
    then
668
      local g = tup.glob(v[2])
668
      local g = tup.glob(v[2])
669
      for j,x in ipairs(g) do
669
      for j,x in ipairs(g) do
670
        table.insert(result, {v[1], x, group=v.group})
670
        table.insert(result, {v[1], x, group=v.group})
671
      end
671
      end
672
    else
672
    else
673
      if v.cp1251_from then
673
      if v.cp1251_from then
674
        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]}}
675
      end
675
      end
676
      table.insert(result, {v[1], v[2], group=v.group})
676
      table.insert(result, {v[1], v[2], group=v.group})
677
    end
677
    end
678
  end
678
  end
679
  return result
679
  return result
680
end
680
end
681
 
681
 
682
-- append skins to extra_files
682
-- append skins to extra_files
683
for i,v in ipairs(skinlist) do
683
for i,v in ipairs(skinlist) do
684
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
684
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
685
end
685
end
686
 
686
 
687
-- 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
688
extra_files = expand_extra_files(extra_files)
688
extra_files = expand_extra_files(extra_files)
689
distr_extra_files = expand_extra_files(distr_extra_files)
689
distr_extra_files = expand_extra_files(distr_extra_files)
690
iso_extra_files = expand_extra_files(iso_extra_files)
690
iso_extra_files = expand_extra_files(iso_extra_files)
691
tup.append_table(distr_extra_files, extra_files)
691
tup.append_table(distr_extra_files, extra_files)
692
tup.append_table(iso_extra_files, extra_files)
692
tup.append_table(iso_extra_files, extra_files)
693
 
693
 
694
-- generate list of directories to be created inside kolibri.img
694
-- generate list of directories to be created inside kolibri.img
695
img_dirs = {}
695
img_dirs = {}
696
input_deps = {}
696
input_deps = {}
697
for i,v in ipairs(img_files) do
697
for i,v in ipairs(img_files) do
698
  img_file = v[1]
698
  img_file = v[1]
699
  local_file = v[2]
699
  local_file = v[2]
700
 
700
 
701
  slash_pos = 0
701
  slash_pos = 0
702
  while true do
702
  while true do
703
    slash_pos = string.find(img_file, '/', slash_pos + 1)
703
    slash_pos = string.find(img_file, '/', slash_pos + 1)
704
    if not slash_pos then break end
704
    if not slash_pos then break end
705
    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))
706
  end
706
  end
707
 
707
 
708
  -- tup does not want to see hidden files as dependencies
708
  -- tup does not want to see hidden files as dependencies
709
  if not string.match(local_file, "/%.") then
709
  if not string.match(local_file, "/%.") then
710
    table.insert(input_deps, v.group or local_file)
710
    table.insert(input_deps, v.group or local_file)
711
  end
711
  end
712
end
712
end
713
 
713
 
714
-- create empty 1.44M file
714
-- create empty 1.44M file
715
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
716
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"
717
-- format it as a standard 1.44M floppy
717
-- format it as a standard 1.44M floppy
718
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 ::"
719
-- copy bootloader
719
-- copy bootloader
720
if tup.getconfig("NO_FASM") ~= "full" then
720
if tup.getconfig("NO_FASM") ~= "full" then
721
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
721
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
722
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"
723
table.insert(input_deps, bootloader)
723
table.insert(input_deps, bootloader)
724
end
724
end
725
-- make folders
725
-- make folders
726
table.sort(img_dirs)
726
table.sort(img_dirs)
727
for i,v in ipairs(img_dirs) do
727
for i,v in ipairs(img_dirs) do
728
  if v ~= img_dirs[i-1] then
728
  if v ~= img_dirs[i-1] then
729
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
729
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
730
  end
730
  end
731
end
731
end
732
-- copy files
732
-- copy files
733
for i,v in ipairs(img_files) do
733
for i,v in ipairs(img_files) do
734
  local_file = v[2]
734
  local_file = v[2]
735
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
735
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
736
  then
736
  then
737
    -- for kernel.mnt, insert autobuild revision identifier
737
    -- for kernel.mnt, insert autobuild revision identifier
738
    -- from .revision to .kernel.mnt
738
    -- from .revision to .kernel.mnt
739
    -- note that .revision and .kernel.mnt must begin with .
739
    -- note that .revision and .kernel.mnt must begin with .
740
    -- to prevent tup from tracking them
740
    -- to prevent tup from tracking them
741
    if build_type == "rus"
741
    if build_type == "rus"
742
    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)'
743
    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)]")'
744
    end
744
    end
745
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
745
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
746
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
746
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
747
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
747
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
748
    make_img_command = make_img_command .. " && str=" .. str
748
    make_img_command = make_img_command .. " && str=" .. str
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
    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'
750
    local_file = ".kernel.mnt"
750
    local_file = ".kernel.mnt"
751
  end
751
  end
752
  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] .. '"'
753
end
753
end
754
 
754
 
755
-- generate tup rule for kolibri.img
755
-- generate tup rule for kolibri.img
756
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"}}
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
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"}}
758
 
758
 
759
-- generate command and dependencies for mkisofs
759
-- generate command and dependencies for mkisofs
760
input_deps = {"kolibri.img"}
760
input_deps = {"kolibri.img"}
761
iso_files_list = ""
761
iso_files_list = ""
762
for i,v in ipairs(iso_extra_files) do
762
for i,v in ipairs(iso_extra_files) do
763
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
763
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
764
  table.insert(input_deps, v.group or v[2])
764
  table.insert(input_deps, v.group or v[2])
765
end
765
end
766
 
766
 
767
-- generate tup rule for kolibri.iso
767
-- generate tup rule for kolibri.iso
768
if tup.getconfig("INSERT_REVISION_ID") ~= ""
768
if tup.getconfig("INSERT_REVISION_ID") ~= ""
769
then volume_id = "KolibriOS r`cat .revision`"
769
then volume_id = "KolibriOS r`cat .revision`"
770
else volume_id = "KolibriOS"
770
else volume_id = "KolibriOS"
771
end
771
end
772
tup.definerule{inputs = input_deps, command =
772
tup.definerule{inputs = input_deps, command =
773
  '^ 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
774
  '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 ' ..
775
  '-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" ' ..
776
  '-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',
777
  outputs = {"kolibri.iso"}}
777
  outputs = {"kolibri.iso"}}
778
 
778
 
779
-- generate command and dependencies for distribution kit
779
-- generate command and dependencies for distribution kit
780
cp = 'cp "%f" "%o"'
780
cp = 'cp "%f" "%o"'
781
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"}}
782
for i,v in ipairs(distr_extra_files) do
782
for i,v in ipairs(distr_extra_files) do
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
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
784
  if string.sub(v[1], -1) == "/"
784
  if string.sub(v[1], -1) == "/"
785
  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])}}
786
  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]}}
787
  end
787
  end
788
end
788
end