Subversion Repositories Kolibri OS

Rev

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

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