Subversion Repositories Kolibri OS

Rev

Rev 7900 | Rev 7928 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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