added: ticket #8540 - Enable visualizer when playing audio-only files via DVDPlayer...
[xbmc:xbmc-antiquated.git] / Makefile.in
1 AUTOGENERATED_MAKEFILES=@OUTPUT_FILES@
2 BIN_DIRS=       \
3         guilib \
4         guilib/common \
5         guilib/tinyXML \
6         xbmc \
7         xbmc/cdrip \
8         xbmc/cores \
9         xbmc/cores/DllLoader \
10         xbmc/cores/DllLoader/exports \
11         xbmc/cores/DllLoader/exports/util \
12         xbmc/cores/dvdplayer \
13         xbmc/cores/dvdplayer/DVDCodecs \
14         xbmc/cores/dvdplayer/DVDCodecs/Audio \
15         xbmc/cores/dvdplayer/DVDCodecs/Overlay \
16         xbmc/cores/dvdplayer/DVDCodecs/Video \
17         xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD \
18         xbmc/cores/dvdplayer/DVDDemuxers/ \
19         xbmc/cores/dvdplayer/DVDInputStreams/ \
20         xbmc/cores/dvdplayer/DVDSubtitles/ \
21         xbmc/cores/paplayer \
22         xbmc/cores/AudioRenderers \
23         xbmc/cores/VideoRenderers \
24         xbmc/cores/VideoRenderers/VideoShaders \
25         xbmc/cores/ExternalPlayer \
26         xbmc/cores/playercorefactory \
27         xbmc/FileSystem \
28         xbmc/FileSystem/MusicDatabaseDirectory \
29         xbmc/FileSystem/VideoDatabaseDirectory \
30         xbmc/karaoke \
31         xbmc/lib/cmyth/libcmyth \
32         xbmc/lib/cmyth/librefmem \
33         xbmc/lib/libhts \
34         xbmc/lib/libGoAhead \
35         xbmc/lib/libPython \
36         xbmc/lib/libPython/xbmcmodule \
37         xbmc/lib/libRTMP \
38         xbmc/lib/libRTV \
39         xbmc/lib/libscrobbler \
40         xbmc/lib/libshout \
41         xbmc/lib/libUPnP \
42         xbmc/lib/libXBMS \
43         xbmc/lib/libXDAAP \
44         xbmc/lib/sqLite \
45         xbmc/lib/UnrarXLib \
46         xbmc/lib/libsquish \
47         xbmc/visualizations \
48         xbmc/screensavers \
49         xbmc/utils \
50         xbmc/settings \
51         xbmc/linux \
52         xbmc/osx \
53         xbmc/posix
54
55 EC_DIRS= \
56         tools/EventClients
57
58 XBMCTEX_DIRS= \
59         tools/TexturePacker
60
61 DVDPCODECS_DIRS= \
62         xbmc/cores/dvdplayer/Codecs \
63         xbmc/cores/dvdplayer/Codecs/libdvd
64 ifneq (@USE_EXTERNAL_LIBASS@,1)
65   DVDPCODECS_DIRS+=xbmc/lib/libass/xbmc
66 endif
67
68 PAPCODECS_DIRS= \
69         xbmc/cores/paplayer/AC3Codec \
70         xbmc/cores/paplayer/ADPCMCodec \
71         xbmc/cores/paplayer/NSFCodec \
72         xbmc/cores/paplayer/timidity \
73         xbmc/cores/paplayer/SIDCodec \
74         xbmc/cores/paplayer/GYMCodec \
75         xbmc/cores/paplayer/YMCodec/StSoundLibrary \
76         xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU \
77         xbmc/cores/paplayer/vgmstream \
78
79 ifeq (@USE_ASAP_CODEC@,1)
80 PAPCODEC_DIRS+= \
81         xbmc/cores/paplayer/asap
82 endif
83
84 ifeq ($(findstring osx,$(ARCH)),osx)
85 PAPCODEC_DIRS+= \
86         xbmc/cores/paplayer/FLACCodec
87 endif
88
89 LIB_DIRS=\
90         xbmc/lib/cximage-6.0 \
91         xbmc/lib/libexif \
92         xbmc/lib/libhdhomerun \
93         xbmc/lib/libid3tag \
94         xbmc/lib/libapetag \
95         xbmc/lib/libPython/linux \
96         lib/libmodplug \
97         lib/xbmc-dll-symbols
98
99 SS_DIRS=\
100         xbmc/screensavers/rsxs-0.9/xbmc
101
102 VIS_DIRS=\
103         xbmc/visualizations/OpenGLSpectrum \
104         xbmc/visualizations/WaveForm \
105         xbmc/visualizations/XBMCProjectM
106 ifneq (@BUILD_GOOM@,1)
107 VIS_DIRS+=xbmc/visualizations/Goom
108 endif
109
110 CONFLUENCE_MEDIA=skin/Confluence/media
111 PM3HD_MEDIA=skin/PM3.HD/media
112
113 SKIN_DIRS=\
114         $(CONFLUENCE_MEDIA) \
115         $(PM3HD_MEDIA)
116
117 DIRS= $(BIN_DIRS) $(EC_DIRS) $(XBMCTEX_DIRS) $(DVDPCODECS_DIRS) $(PAPCODECS_DIRS) \
118         $(LIB_DIRS) $(SS_DIRS) $(VIS_DIRS) $(SKIN_DIRS)
119
120 LIBS=@LIBS@
121 CFLAGS=@CFLAGS@
122 CXXFLAGS=@CXXFLAGS@
123 LDFLAGS=@LDFLAGS@
124 INCLUDES=@INCLUDES@
125
126 CLEAN_FILES=xbmc.bin xbmc-xrandr
127
128 DISTCLEAN_FILES=config.h config.log config.status tools/Linux/xbmc.sh \
129         autom4te.cache config.h.in~ \
130         xbmc/lib/libPython/Python/Include/pyconfig.h \
131         xbmc/lib/libPython/Python/configure.lineno \
132         xbmc/lib/libPython/Python/libpython2.4.so.1.0
133
134 all : Makefile externals xbmc.bin xbmc-xrandr skins
135
136 include Makefile.include
137
138 .PHONY : dllloader exports visualizations screensavers eventclients papcodecs \
139         dvdpcodecs imagelib codecs externals force skins
140
141 # hack targets to keep build system up to date
142 Makefile : configure $(addsuffix .in, $(AUTOGENERATED_MAKEFILES))
143         @echo 'The build system is stale'
144         @echo 'ATTN: Please (re)run configure...'
145         @echo "The following line isn't really an error!"
146         @false
147
148 configure: configure.in
149         @echo 'configure is outdated, regenerating...'
150         @./bootstrap
151         @echo "The following line isn't really an error!"
152         @false
153
154 # skin textures
155 skins: tools/TexturePacker/TexturePacker force
156          $(MAKE) -C $(CONFLUENCE_MEDIA)
157          $(MAKE) -C $(PM3HD_MEDIA)
158
159 guilib/guilib.a: force
160         $(MAKE) -C guilib
161 guilib/common/gui_common.a: force
162         $(MAKE) -C guilib/common
163 guilib/tinyXML/tinyxml.a: force
164         $(MAKE) -C guilib/tinyXML
165 xbmc/xbmc.a: force
166         $(MAKE) -C xbmc
167 xbmc/cdrip/cdrip.a: force
168         $(MAKE) -C xbmc/cdrip
169 xbmc/cores/cores.a: force
170         $(MAKE) -C xbmc/cores
171 xbmc/cores/DllLoader/dllloader.a: force
172         $(MAKE) -C xbmc/cores/DllLoader/
173 xbmc/cores/DllLoader/exports/exports.a: force
174         $(MAKE) -C xbmc/cores/DllLoader/exports
175 xbmc/cores/DllLoader/exports/util/exports_utils.a: force
176         $(MAKE) -C xbmc/cores/DllLoader/exports/util
177 xbmc/cores/dvdplayer/DVDPlayer.a: force
178         $(MAKE) -C xbmc/cores/dvdplayer
179 xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a: force
180         $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs
181 xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a: force
182         $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Audio
183 xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a: force
184         $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Overlay
185 xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a: force
186         $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Video
187 xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD/CrystalHD.a: force
188         $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD
189 xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a: force
190         $(MAKE) -C xbmc/cores/dvdplayer/DVDDemuxers
191 xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a: force
192         $(MAKE) -C xbmc/cores/dvdplayer/DVDInputStreams
193 xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a: force
194         $(MAKE) -C xbmc/cores/dvdplayer/DVDSubtitles
195 xbmc/cores/paplayer/paplayer.a: force papcodecs
196         $(MAKE) -C xbmc/cores/paplayer
197 xbmc/cores/AudioRenderers/audiorenderers.a: force
198         $(MAKE) -C xbmc/cores/AudioRenderers
199 xbmc/cores/VideoRenderers/VideoRenderer.a: force
200         $(MAKE) -C xbmc/cores/VideoRenderers
201 xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a: force
202         $(MAKE) -C xbmc/cores/VideoRenderers/VideoShaders
203 xbmc/cores/ExternalPlayer/ExternalPlayer.a: force
204         $(MAKE) -C xbmc/cores/ExternalPlayer
205 xbmc/cores/playercorefactory/playercorefactory.a: force
206         $(MAKE) -C xbmc/cores/playercorefactory
207 xbmc/FileSystem/filesystem.a: force
208         $(MAKE) -C xbmc/FileSystem
209 xbmc/FileSystem/MusicDatabaseDirectory/musicdatabasedirectory.a: force
210         $(MAKE) -C xbmc/FileSystem/MusicDatabaseDirectory
211 xbmc/FileSystem/VideoDatabaseDirectory/videodatabasedirectory.a: force
212         $(MAKE) -C xbmc/FileSystem/VideoDatabaseDirectory
213 xbmc/karaoke/karaoke.a: force
214         $(MAKE) -C xbmc/karaoke
215 xbmc/lib/cmyth/libcmyth/libcmyth.a: force
216         $(MAKE) -C xbmc/lib/cmyth/libcmyth
217 xbmc/lib/cmyth/librefmem/librefmem.a: force
218         $(MAKE) -C xbmc/lib/cmyth/librefmem
219 xbmc/lib/libhts/libhts.a: force
220         $(MAKE) -C xbmc/lib/libhts
221 xbmc/lib/libPython/python.a: force
222         $(MAKE) -C xbmc/lib/libPython
223 xbmc/lib/libPython/xbmcmodule/xbmcmodule.a: force
224         $(MAKE) -C xbmc/lib/libPython/xbmcmodule
225 xbmc/lib/libRTMP/librtmp.a: force
226         $(MAKE) -C xbmc/lib/libRTMP
227 xbmc/lib/libscrobbler/scrobbler.a: force
228         $(MAKE) -C xbmc/lib/libscrobbler
229 xbmc/lib/libRTV/librtv-@ARCH@.a: force
230         $(MAKE) -C xbmc/lib/libRTV
231 xbmc/lib/libshout/libshout-@ARCH@.a: force
232         $(MAKE) -C xbmc/lib/libshout
233 xbmc/lib/libUPnP/libupnp-@ARCH@.a: force
234         $(MAKE) -C xbmc/lib/libUPnP
235 xbmc/lib/libXBMS/libxbms-@ARCH@.a: force
236         $(MAKE) -C xbmc/lib/libXBMS
237 xbmc/lib/libXDAAP/libxdaap-@ARCH@.a: force
238         $(MAKE) -C xbmc/lib/libXDAAP
239 xbmc/lib/libGoAhead/libGoAhead-@ARCH@.a: force
240         $(MAKE) -C xbmc/lib/libGoAhead
241 xbmc/lib/sqLite/sqllite.a: force
242         $(MAKE) -C xbmc/lib/sqLite
243 xbmc/lib/UnrarXLib/UnrarXLib.a: force
244         $(MAKE) -C xbmc/lib/UnrarXLib
245 xbmc/lib/libsquish/libsquish-@ARCH@.a: force
246         $(MAKE) -C xbmc/lib/libsquish
247 xbmc/linux/linux.a: force
248         $(MAKE) -C xbmc/linux
249 xbmc/posix/posix.a: force
250         $(MAKE) -C xbmc/posix
251 xbmc/screensavers/screensaver.a: force
252         $(MAKE) -C xbmc/screensavers
253 xbmc/settings/settings.a: force
254         $(MAKE) -C xbmc/settings
255 xbmc/utils/utils.a: force
256         $(MAKE) -C xbmc/utils
257 xbmc/visualizations/visualization.a: force
258         $(MAKE) -C xbmc/visualizations
259 xbmc/osx/osx.a: force
260         $(MAKE) -C xbmc/osx
261 xbmc/cores/dvdplayer/Codecs/libbdnav/src/libbdnav/.libs/libbdnav.a: force
262         $(MAKE) -C xbmc/cores/dvdplayer/Codecs/libbdnav
263 xbmc/lib/libapetag/.libs/libapetag.a: force
264         $(MAKE) -C xbmc/lib/libapetag
265 lib/libmodplug/src/.libs/libmodplug.a: force
266         $(MAKE) -C lib/libmodplug
267 lib/xbmc-dll-symbols/dll-symbols.a: force
268         $(MAKE) -C lib/xbmc-dll-symbols
269
270 exports:
271         $(MAKE) xbmc/cores/DllLoader/exports/exports.a
272         $(MAKE) xbmc/cores/DllLoader/exports/util/exports_utils.a
273         $(MAKE) -C xbmc/cores/DllLoader/exports wrapper.def
274 dllloader: exports
275         $(MAKE) xbmc/cores/DllLoader/dllloader.a
276 visualizations: exports
277         $(MAKE) -C xbmc/visualizations/OpenGLSpectrum
278         $(MAKE) -C xbmc/visualizations/WaveForm
279         $(MAKE) -C xbmc/visualizations/XBMCProjectM
280 ifneq (@BUILD_GOOM@,1)
281 ifeq ($(or $(findstring powerpc-linux,$(ARCH)),$(findstring powerpc64-linux,$(ARCH))),)
282         $(MAKE) -C xbmc/visualizations/Goom
283 endif
284 endif
285 screensavers: exports
286         $(MAKE) -C xbmc/screensavers/rsxs-0.9/xbmc
287 libpython: dllloader
288         $(MAKE) -C xbmc/lib/libPython
289         $(MAKE) -C xbmc/lib/libPython/xbmcmodule
290 python: dllloader
291         $(MAKE) -C xbmc/lib/libPython/linux
292 dvdpcodecs: dllloader
293         $(MAKE) -C xbmc/cores/dvdplayer/Codecs
294         $(MAKE) -C xbmc/cores/dvdplayer/Codecs/libdvd
295 ifneq (@USE_EXTERNAL_LIBASS@,1)
296         $(MAKE) -C xbmc/lib/libass/xbmc
297 endif
298 eventclients:
299 ifeq ($(findstring osx,$(ARCH)), osx)
300         $(MAKE) -C tools/EventClients/Clients/OSXRemote
301 else
302         $(MAKE) -C tools/EventClients
303 endif
304 libexif: dllloader
305         $(MAKE) -C xbmc/lib/libexif
306 libhdhomerun: dllloader
307         $(MAKE) -C xbmc/lib/libhdhomerun
308 libid3tag: dllloader
309         $(MAKE) -C xbmc/lib/libid3tag
310 papcodecs: dllloader dvdpcodecs
311         $(MAKE) -C xbmc/cores/paplayer/AC3Codec
312         $(MAKE) -C xbmc/cores/paplayer/ADPCMCodec
313 ifeq ($(findstring osx,$(ARCH)), osx)
314         $(MAKE) -C xbmc/cores/paplayer/FLACCodec
315 endif
316         $(MAKE) -C xbmc/cores/paplayer/GYMCodec
317         $(MAKE) -C xbmc/cores/paplayer/vgmstream
318         $(MAKE) -C xbmc/cores/paplayer/timidity
319         $(MAKE) -C xbmc/cores/paplayer/NSFCodec
320         $(MAKE) -C xbmc/cores/paplayer/SIDCodec
321 ifeq (@USE_ASAP_CODEC@,1)
322   ifneq ($(findstring osx,$(ARCH)), osx)
323           $(MAKE) -C xbmc/cores/paplayer/asap asap-xbmc
324   endif
325 endif
326         $(MAKE) -C xbmc/cores/paplayer/YMCodec/StSoundLibrary   
327 ifeq ($(or $(findstring powerpc,$(ARCH)),$(findstring x86_64-linux,$(ARCH))),)
328         $(MAKE) -C xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU
329 endif
330 imagelib: dllloader
331         $(MAKE) -C xbmc/lib/cximage-6.0
332
333 codecs: papcodecs dvdpcodecs
334 libs: libhdhomerun libid3tag imagelib libexif python
335 externals: codecs libs python visualizations screensavers
336
337 xcode_depends: \
338         codecs libs python visualizations screensavers eventclients \
339         xbmc/lib/libsquish/libsquish-@ARCH@.a \
340         skins \
341         xbmc/cores/dvdplayer/Codecs/libbdnav/src/libbdnav/.libs/libbdnav.a \
342         xbmc/lib/libapetag/.libs/libapetag.a \
343         lib/libmodplug/src/.libs/libmodplug.a \
344         xbmc/lib/cmyth/libcmyth/libcmyth.a \
345         xbmc/lib/cmyth/librefmem/librefmem.a \
346         xbmc/lib/libRTMP/librtmp.a \
347         xbmc/lib/libXBMS/libxbms-@ARCH@.a \
348         xbmc/lib/libRTV/librtv-@ARCH@.a \
349         xbmc/lib/libXDAAP/libxdaap-@ARCH@.a \
350         xbmc/lib/libshout/libshout-@ARCH@.a \
351         xbmc/lib/libGoAhead/libGoAhead-@ARCH@.a
352
353 # platform independend objects
354 OBJSXBMC=       \
355         xbmc/xbmc.a \
356         xbmc/cores/playercorefactory/playercorefactory.a \
357         xbmc/cores/dvdplayer/DVDPlayer.a \
358         xbmc/cores/paplayer/paplayer.a \
359         xbmc/cores/VideoRenderers/VideoRenderer.a \
360         xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a \
361         guilib/guilib.a \
362         guilib/common/gui_common.a \
363         guilib/tinyXML/tinyxml.a \
364         xbmc/cdrip/cdrip.a \
365         xbmc/cores/cores.a \
366         xbmc/lib/libPython/python.a \
367         xbmc/cores/DllLoader/dllloader.a \
368         xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a \
369         xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a \
370         xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a \
371         xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a \
372         xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD/CrystalHD.a \
373         xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a \
374         xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a \
375         xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a \
376         xbmc/cores/dvdplayer/Codecs/libbdnav/src/libbdnav/.libs/libbdnav.a \
377         xbmc/cores/AudioRenderers/audiorenderers.a \
378         xbmc/cores/ExternalPlayer/ExternalPlayer.a \
379         xbmc/FileSystem/filesystem.a \
380         xbmc/FileSystem/MusicDatabaseDirectory/musicdatabasedirectory.a \
381         xbmc/FileSystem/VideoDatabaseDirectory/videodatabasedirectory.a \
382         xbmc/karaoke/karaoke.a \
383         xbmc/lib/libhts/libhts.a \
384         xbmc/lib/libPython/xbmcmodule/xbmcmodule.a \
385         xbmc/lib/libRTMP/librtmp.a \
386         xbmc/lib/libscrobbler/scrobbler.a \
387         xbmc/lib/libRTV/librtv-@ARCH@.a \
388         xbmc/lib/libshout/libshout-@ARCH@.a \
389         xbmc/lib/libUPnP/libupnp-@ARCH@.a \
390         xbmc/lib/libXDAAP/libxdaap-@ARCH@.a \
391         xbmc/lib/libGoAhead/libGoAhead-@ARCH@.a \
392         xbmc/lib/sqLite/sqllite.a \
393         xbmc/lib/libsquish/libsquish-@ARCH@.a \
394         xbmc/lib/libapetag/.libs/libapetag.a \
395         lib/libmodplug/src/.libs/libmodplug.a \
396         xbmc/screensavers/screensaver.a \
397         xbmc/settings/settings.a \
398         xbmc/visualizations/visualization.a
399
400 ifeq (@HAVE_XBMC_NONFREE@,1)
401 OBJSXBMC+= \
402         xbmc/lib/libXBMS/libxbms-@ARCH@.a \
403         xbmc/lib/UnrarXLib/UnrarXLib.a
404 endif
405
406 DYNOBJSXBMC= \
407         xbmc/lib/cmyth/libcmyth/libcmyth.a \
408         xbmc/lib/cmyth/librefmem/librefmem.a \
409         xbmc/linux/linux.a \
410         xbmc/utils/utils.a \
411         xbmc/cores/DllLoader/exports/util/exports_utils.a \
412         xbmc/cores/DllLoader/exports/exports.a
413
414 # platform dependend objects
415 ifeq ($(findstring osx,$(ARCH)), osx)
416 OBJSXBMC += \
417         xbmc/osx/osx.a \
418         lib/libSDL-OSX/libSDL-@ARCH@.a \
419         lib/libSDL-OSX/libSDL_mixer-@ARCH@.a
420 else
421 OBJSXBMC += \
422         xbmc/posix/posix.a
423 endif
424
425 OBJSXBMC += lib/xbmc-dll-symbols/dll-symbols.a
426
427 xbmc.bin: $(OBJSXBMC) $(DYNOBJSXBMC)
428 ifeq ($(findstring osx,$(ARCH)), osx)
429         $(CXX) $(CXXFLAGS) -o xbmc.bin -Wl,-all_load,-ObjC $(DYNOBJSXBMC) $(OBJSXBMC) $(LIBS) $(LDFLAGS) -rdynamic
430 else
431         $(CXX) $(CXXFLAGS) -o xbmc.bin -Wl,--whole-archive $(DYNOBJSXBMC) -Wl,--no-whole-archive $(OBJSXBMC) $(LIBS) $(LDFLAGS) -rdynamic
432 endif
433
434 xbmc-xrandr: xbmc-xrandr.c
435 ifeq ($(findstring osx,$(ARCH)), osx)
436         # xbmc-xrandr.c gets picked up by the default make rules
437         #  so only exclude it for osx builds
438         @echo "excluding xbmc-xrandr"
439 else
440         $(CC) $(CFLAGS) -o xbmc-xrandr xbmc-xrandr.c -lXrandr -lXrender -lX11 
441 endif
442
443 tools/XBMCTex/XBMCTex:
444 ifeq ($(findstring osx,$(ARCH)), osx)
445         # hack this for now
446         $(MAKE) -C tools/XBMCTex -f Makefile.osx
447 else
448         $(MAKE) -C tools/XBMCTex/
449 endif
450
451 tools/TexturePacker/TexturePacker:
452         $(MAKE) -C tools/TexturePacker/
453
454 install-bin: xbmc.bin # developement convenience target
455         sudo install -D xbmc.bin $(prefix)/share/xbmc
456
457 ifeq ($(findstring osx,$(ARCH)), osx)
458         # TODO: add osx install
459 else
460 install: install-binaries install-arch install-datas install-web
461
462 install-binaries: install-scripts
463         @echo "Copying XBMC binary to $(prefix)/share/xbmc/xbmc.bin"
464         @install -D xbmc.bin $(prefix)/share/xbmc/xbmc.bin
465         @install -D xbmc-xrandr $(prefix)/share/xbmc/xbmc-xrandr
466         @echo "You can run XBMC with the command 'xbmc'"
467 endif
468
469 install-arch:
470         @# Arch dependent files
471         @find system screensavers visualisations -regextype posix-extended -type f -not -iregex ".*svn.*|.*win32(dx)?\.vis|.*osx\.vis" -iregex ".*$(ARCH).*|.*\.vis|.*\.xbs" -exec install -D "{}" $(prefix)/share/xbmc/"{}" \; -printf " -- %-75.75f\r"        
472
473 install-scripts:
474         @install -D tools/Linux/xbmc.sh $(prefix)/bin/xbmc
475         @install -D tools/Linux/xbmc-standalone.sh $(prefix)/bin/xbmc-standalone
476         @install -D -m 0644 tools/Linux/FEH.py $(prefix)/share/xbmc/FEH.py
477         @install -D -m 0644 tools/Linux/xbmc-xsession.desktop $(prefix)/share/xsessions/XBMC.desktop
478
479 install-datas: install-scripts
480         @echo "Copying support and legal files..."
481         @for FILE in `ls README.linux LICENSE.GPL *.txt`; do \
482                 install -D -m 0644 "$$FILE" $(prefix)/share/xbmc/; done
483         @echo "Done!"
484         @echo "Copying system files to $(prefix)/share/xbmc"
485         @# Arch independent files
486         @find language media scripts sounds userdata visualisations system -regextype posix-extended -type f -not -iregex ".*svn.*|.*\.so|.*\.dll|.*\.pyd|.*python/.*\.zlib|.*\.vis" -exec install -D -m 0644 "{}" $(prefix)/share/xbmc/"{}" \; -printf " -- %-75.75f\r"
487         @# Skins
488         @find skin -regextype posix-extended -type f -not -iregex '.*/\.svn/.*|^skin/[^/]*/media/.*[^x][^b][^t]' -exec install -D -m 0644 '{}' $(prefix)/share/xbmc/'{}' \; -printf " -- %-75.75f\r"
489         @# Icons and links
490         @mkdir -p $(prefix)/share/applications $(prefix)/share/pixmaps
491         @cp -a tools/Linux/xbmc.png $(prefix)/share/pixmaps/
492         @cp -a tools/Linux/xbmc.desktop $(prefix)/share/applications/
493
494 install-livedatas:
495         @echo "Install Live CD datas in $(prefix) ..."
496         @mkdir -p $(prefix)/bin
497         @install -D tools/XBMCLive/diskmounter $(prefix)/bin
498         @install -D tools/XBMCLive/installXBMC $(prefix)/bin
499         @install -D tools/XBMCLive/runXBMC $(prefix)/bin
500         @install -D tools/XBMCLive/setAlsaVolumes $(prefix)/bin
501
502 install-web:
503         @mkdir -p $(prefix)/share/xbmc/web
504         @cp -r web/Project_Mayhem_III/* $(prefix)/share/xbmc/web
505         @find $(prefix)/share/xbmc/web -depth -name .svn -exec rm -rf {} \;
506
507 uninstall:
508         @echo "Removing XBMC..."
509         @rm -rf $(prefix)/share/xbmc $(prefix)/bin/xbmc
510         @rm -rf $(prefix)/bin/xbmc-standalone
511         @rm -rf $(prefix)/share/xsessions/XBMC.desktop
512         @echo "Done!"
513
514 reallyclean:
515         @echo " This will delete ALL unversioned files in"; \
516          echo " your XBMC source tree. If you aren't sure"; \
517          echo " you want to do this, answer anything but"; \
518          echo " 'Y' (case sensitive) to the following."; \
519          echo " DISCLAIMER: Team XBMC is NOT responsible"; \
520          echo " for ANYTHING lost if you execute this command!"; \
521          echo -n " Damnserious? (Y/*) "; \
522          read -n1 PROMPT; \
523          if [[ "$$PROMPT" = "Y" ]]; then \
524                 SVNV=$$(svnversion -n | cut -d':' -f1); _IFS=$$IFS; IFS=$$'\t\n'; \
525                 for i in `svn st --no-ignore | grep ^[I\?] | cut -d' ' -f7-`; do \
526                         if [[ $${i:(-4)} != "diff" && $${i:(-5)} != "patch" ]]; then \
527                                 echo "  Deleting $$i"; \
528                                 rm -rf "$$i"; \
529                         fi; \
530                 done; \
531                 IFS=$$_IFS; \
532                 echo " Recovering any missing files."; \
533                 svn up -r $${SVNV/M/} | sed -e "s/.*'\(.*\)'/  \1/p" -e d; \
534                 echo " Done."; \
535                 echo " The following files may need reverted (svn revert <file>)"; \
536                 svn st | sed -e "s/^M */  /p" -e d; \
537          else \
538                 echo; \
539          fi
540
541 clean-xbmc.bin:
542         rm -f xbmc.bin
543         for d in $(BIN_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
544 clean-eventclients:
545         for d in $(EC_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
546 clean-xbmctex:
547         for d in $(XBMCTEX_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
548 clean-dvdpcodecs: 
549         for d in $(DVDPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
550 clean-papcodecs:
551         for d in $(PAPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
552 clean-libs: 
553         for d in $(LIB_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
554 clean-screensavers: 
555         for d in $(SS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
556 clean-visualisations:
557         for d in $(VIS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
558
559 clean-codecs: clean-dvdpcodecs clean-papcodecs
560
561 clean-externals: clean-codecs clean-eventclients clean-xbmctex clean-libs \
562         clean-screensavers clean-visualisations
563
564