Subversion Repositories Kolibri OS

Rev

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

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