Subversion Repositories Kolibri OS

Rev

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

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