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