Subversion Repositories Kolibri OS

Rev

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

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