Subversion Repositories Kolibri OS

Rev

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

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