All pastes #1525436 Raw Edit

Anonymous

public text v1 · immutable
#1525436 ·published 2009-08-11 18:54 UTC
rendered paste body
BIN_DIRS=	\
	guilib \
	guilib/common \
	guilib/tinyXML \
	xbmc \
	xbmc/cdrip \
	xbmc/cores \
	xbmc/cores/DllLoader \
	xbmc/cores/DllLoader/exports \
	xbmc/cores/DllLoader/exports/util \
	xbmc/cores/dvdplayer \
	xbmc/cores/dvdplayer/DVDCodecs \
	xbmc/cores/dvdplayer/DVDCodecs/Audio \
	xbmc/cores/dvdplayer/DVDCodecs/Overlay \
	xbmc/cores/dvdplayer/DVDCodecs/Video \
	xbmc/cores/dvdplayer/DVDDemuxers/ \
	xbmc/cores/dvdplayer/DVDInputStreams/ \
	xbmc/cores/dvdplayer/DVDSubtitles/ \
	xbmc/cores/paplayer \
	xbmc/cores/AudioRenderers \
	xbmc/cores/VideoRenderers \
	xbmc/cores/VideoRenderers/VideoShaders \
	xbmc/cores/ExternalPlayer \
	xbmc/FileSystem \
	xbmc/FileSystem/MusicDatabaseDirectory \
	xbmc/FileSystem/VideoDatabaseDirectory \
	xbmc/karaoke \
	xbmc/lib/libcmyth \
	xbmc/lib/libhts \
	xbmc/lib/libGoAhead \
	xbmc/lib/libPython \
	xbmc/lib/libPython/xbmcmodule \
	xbmc/lib/libRTMP \
	xbmc/lib/libRTV \
	xbmc/lib/libscrobbler \
	xbmc/lib/libshout \
	xbmc/lib/libUPnP \
	xbmc/lib/libXBMS \
	xbmc/lib/libXDAAP \
	xbmc/lib/sqLite \
	xbmc/lib/UnrarXLib \
	xbmc/visualizations \
	xbmc/screensavers \
	xbmc/utils \
	xbmc/settings \
	xbmc/linux \
	xbmc/xbox \
	xbmc/osx

EC_DIRS= \
	tools/EventClients

XBMCTEX_DIRS= \
	tools/XBMCTex

DVDPCODECS_DIRS= \
	xbmc/cores/dvdplayer/Codecs \
        xbmc/cores/dvdplayer/Codecs/libdvd
ifneq (0,1)
  DVDPCODECS_DIRS+=xbmc/lib/libass/xbmc
endif

PAPCODECS_DIRS= \
	xbmc/cores/paplayer/AC3Codec \
	xbmc/cores/paplayer/ADPCMCodec \
	xbmc/cores/paplayer/AACCodec \
	xbmc/cores/paplayer/NSFCodec \
	xbmc/cores/paplayer/timidity \
	xbmc/cores/paplayer/SIDCodec \
	xbmc/cores/paplayer/WavPackCodec \
	xbmc/cores/paplayer/GYMCodec \
	xbmc/cores/paplayer/YMCodec/StSoundLibrary \
	xbmc/cores/paplayer/ModuleCodec \
	xbmc/cores/paplayer/MPCCodec/xbmc \
	xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU \
	xbmc/cores/paplayer/vgmstream \
	xbmc/cores/paplayer/MP3Codec \
	xbmc/cores/paplayer/FLACCodec \
	xbmc/cores/paplayer/MACDll \
	xbmc/cores/paplayer/vorbisfile

LIB_DIRS=\
	xbmc/lib/cximage-6.0 \
	xbmc/lib/libexif \
	xbmc/lib/libhdhomerun \
	xbmc/lib/libid3tag \
	xbmc/lib/libPython/linux

SS_DIRS=\
	xbmc/screensavers/rsxs-0.9/xbmc

VIS_DIRS=\
	xbmc/visualizations/OpenGLSpectrum \
	xbmc/visualizations/WaveForm \
	xbmc/visualizations/XBMCProjectM \
	xbmc/visualizations/Goom

PM3_MEDIA=skin/Project\ Mayhem\ III/media
PM3HD_MEDIA=skin/PM3.HD/media

SKIN_DIRS=\
	$(PM3_MEDIA) \
	$(PM3HD_MEDIA)

DIRS= $(BIN_DIRS) $(EC_DIRS) $(XBMCTEX_DIRS) $(DVDPCODECS_DIRS) $(PAPCODECS_DIRS) \
	$(LIB_DIRS) $(SS_DIRS) $(VIS_DIRS) $(SKIN_DIRS)

LIBS=-lXrandr  -lavahi-client  -lavahi-common -lfaac -lhal-storage -ldbus-1 -lcurl -lXinerama -lXmu -lXtst -lXt -lmms -ljasper -lenca -lresolv -ldl -lSDL_mixer -lSDL_image -lSDL -lz -lsamplerate -lcdio -llzo -lpthread -lpcre -ljpeg -lpng12 -lrt -lasound -lmysqlclient -lsqlite3 -lfribidi -lbz2 -lfontconfig -lfreetype -lvorbisfile -lvorbisenc -lvorbis -logg -lmad -lGLU -lGLEW -lGL 
CFLAGS= -O2
CXXFLAGS= -O2
LDFLAGS=
INCLUDES= -I$(abs_top_srcdir) -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -DHAS_AVAHI

CLEAN_FILES=xbmc.bin xbmc-xrandr

DISTCLEAN_FILES=config.h config.log config.status tools/Linux/xbmc.sh \
        autom4te.cache config.h.in~

AUTOGENERATED_MAKEFILES = guilib/common/Makefile \
        tools/EventClients/Clients/OSXRemote/Makefile \
        tools/XBMCTex/Makefile \
        xbmc/cores/AudioRenderers/Makefile \
        xbmc/cores/dvdplayer/Codecs/Makefile \
        xbmc/cores/dvdplayer/Codecs/libdvd/Makefile \
        xbmc/cores/paplayer/AACCodec/Makefile \
        xbmc/cores/paplayer/AC3Codec/Makefile \
        xbmc/cores/paplayer/ADPCMCodec/Makefile \
        xbmc/cores/paplayer/FLACCodec/Makefile \
        xbmc/cores/paplayer/GYMCodec/Makefile \
        xbmc/cores/paplayer/MACDll/Makefile \
        xbmc/cores/paplayer/MP3Codec/Makefile \
        xbmc/cores/paplayer/MPCCodec/xbmc/Makefile \
        xbmc/cores/paplayer/Makefile \
        xbmc/cores/paplayer/ModuleCodec/Makefile \
        xbmc/cores/paplayer/NSFCodec/Makefile \
        xbmc/cores/paplayer/SIDCodec/Makefile \
        xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU/Makefile \
        xbmc/cores/paplayer/WavPackCodec/Makefile \
        xbmc/cores/paplayer/YMCodec/StSoundLibrary/Makefile \
        xbmc/cores/paplayer/timidity/Makefile \
        xbmc/cores/paplayer/vgmstream/Makefile \
        xbmc/cores/paplayer/vorbisfile/Makefile \
        xbmc/lib/cximage-6.0/Makefile \
        xbmc/lib/libGoAhead/Makefile \
        xbmc/lib/libPython/linux/Makefile \
        xbmc/lib/libRTV/Makefile \
        xbmc/lib/libUPnP/Makefile \
        xbmc/lib/libXBMS/Makefile \
        xbmc/lib/libXDAAP/Makefile \
        xbmc/lib/libass/xbmc/Makefile \
        xbmc/lib/libexif/Makefile \
        xbmc/lib/libhdhomerun/Makefile \
        xbmc/lib/libid3tag/Makefile \
        xbmc/lib/libshout/Makefile \
        xbmc/linux/Makefile \
        xbmc/screensavers/Makefile \
        xbmc/screensavers/rsxs-0.9/xbmc/Makefile \
        xbmc/visualizations/Goom/Makefile \
        xbmc/visualizations/OpenGLSpectrum/Makefile \
        xbmc/visualizations/WaveForm/Makefile \
        xbmc/visualizations/XBMCProjectM/Makefile \
        xbmc/visualizations/iTunes/Makefile

all : externals xbmc.bin xbmc-xrandr skins

include Makefile.include

.PHONY : dllloader exports visualizations screensavers eventclients papcodecs \
	dvdpcodecs imagelib codecs externals force skins

# skin textures
skins: tools/XBMCTex/XBMCTex force
	 $(MAKE) -C $(PM3_MEDIA)
	 $(MAKE) -C $(PM3HD_MEDIA)

guilib/guilib.a: force
	$(MAKE) -C guilib
guilib/common/gui_common.a: force
	$(MAKE) -C guilib/common
guilib/tinyXML/tinyxml.a: force
	$(MAKE) -C guilib/tinyXML
xbmc/xbmc.a: force
	$(MAKE) -C xbmc
xbmc/cdrip/cdrip.a: force
	$(MAKE) -C xbmc/cdrip
xbmc/cores/cores.a: force
	$(MAKE) -C xbmc/cores
xbmc/cores/DllLoader/dllloader.a: force
	$(MAKE) -C xbmc/cores/DllLoader/
xbmc/cores/DllLoader/exports/exports.a: force
	$(MAKE) -C xbmc/cores/DllLoader/exports
xbmc/cores/DllLoader/exports/util/exports_utils.a: force
	$(MAKE) -C xbmc/cores/DllLoader/exports/util
xbmc/cores/dvdplayer/DVDPlayer.a: force
	$(MAKE) -C xbmc/cores/dvdplayer
xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a: force
	$(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs
xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a: force
	$(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Audio
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a: force
	$(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Overlay
xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a: force
	$(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Video
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a: force
	$(MAKE) -C xbmc/cores/dvdplayer/DVDDemuxers
xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a: force
	$(MAKE) -C xbmc/cores/dvdplayer/DVDInputStreams
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a: force
	$(MAKE) -C xbmc/cores/dvdplayer/DVDSubtitles
xbmc/cores/paplayer/paplayer.a: force
	$(MAKE) -C xbmc/cores/paplayer
xbmc/cores/AudioRenderers/audiorenderers.a: force
	$(MAKE) -C xbmc/cores/AudioRenderers
xbmc/cores/VideoRenderers/VideoRenderer.a: force
	$(MAKE) -C xbmc/cores/VideoRenderers
xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a: force
	$(MAKE) -C xbmc/cores/VideoRenderers/VideoShaders
xbmc/cores/ExternalPlayer/ExternalPlayer.a: force
	$(MAKE) -C xbmc/cores/ExternalPlayer
xbmc/FileSystem/filesystem.a: force
	$(MAKE) -C xbmc/FileSystem
xbmc/FileSystem/MusicDatabaseDirectory/musicdatabasedirectory.a: force
	$(MAKE) -C xbmc/FileSystem/MusicDatabaseDirectory
xbmc/FileSystem/VideoDatabaseDirectory/videodatabasedirectory.a: force
	$(MAKE) -C xbmc/FileSystem/VideoDatabaseDirectory
xbmc/karaoke/karaoke.a: force
	$(MAKE) -C xbmc/karaoke
xbmc/lib/libcmyth/libcmyth.a: force
	$(MAKE) -C xbmc/lib/libcmyth
xbmc/lib/libhts/libhts.a: force
	$(MAKE) -C xbmc/lib/libhts
xbmc/lib/libPython/python.a: force
	$(MAKE) -C xbmc/lib/libPython
xbmc/lib/libPython/xbmcmodule/xbmcmodule.a: force
	$(MAKE) -C xbmc/lib/libPython/xbmcmodule
xbmc/lib/libRTMP/librtmp.a: force
	$(MAKE) -C xbmc/lib/libRTMP
xbmc/lib/libscrobbler/scrobbler.a: force
	$(MAKE) -C xbmc/lib/libscrobbler
xbmc/lib/libRTV/librtv-i486-linux.a: force
	$(MAKE) -C xbmc/lib/libRTV
xbmc/lib/libshout/libshout-i486-linux.a: force
	$(MAKE) -C xbmc/lib/libshout
xbmc/lib/libUPnP/libupnp-i486-linux.a: force
	$(MAKE) -C xbmc/lib/libUPnP
xbmc/lib/libXBMS/libxbms-i486-linux.a: force
	$(MAKE) -C xbmc/lib/libXBMS
xbmc/lib/libXDAAP/libxdaap-i486-linux.a: force
	$(MAKE) -C xbmc/lib/libXDAAP
xbmc/lib/libGoAhead/libGoAhead-i486-linux.a: force
	$(MAKE) -C xbmc/lib/libGoAhead
xbmc/lib/sqLite/sqllite.a: force
	$(MAKE) -C xbmc/lib/sqLite
xbmc/lib/UnrarXLib/UnrarXLib.a: force
	$(MAKE) -C xbmc/lib/UnrarXLib
xbmc/linux/linux.a: force
	$(MAKE) -C xbmc/linux
xbmc/screensavers/screensaver.a: force
	$(MAKE) -C xbmc/screensavers
xbmc/settings/settings.a: force
	$(MAKE) -C xbmc/settings
xbmc/utils/utils.a: force
	$(MAKE) -C xbmc/utils
xbmc/visualizations/visualization.a: force
	$(MAKE) -C xbmc/visualizations
xbmc/xbox/xbox.a: force
	$(MAKE) -C xbmc/xbox
xbmc/osx/osx.a: force
	$(MAKE) -C xbmc/osx
xbmc/cores/paplayer/MPCCodec/xbmc/libmpcdec-i486-linux.a: force
	$(MAKE) -C xbmc/cores/paplayer/MPCCodec/xbmc

exports:
	$(MAKE) xbmc/cores/DllLoader/exports/exports.a
	$(MAKE) xbmc/cores/DllLoader/exports/util/exports_utils.a
	$(MAKE) -C xbmc/cores/DllLoader/exports wrapper.def
dllloader: exports
	$(MAKE) xbmc/cores/DllLoader/dllloader.a
visualizations: exports
	$(MAKE) -C xbmc/visualizations/OpenGLSpectrum
	$(MAKE) -C xbmc/visualizations/WaveForm
	$(MAKE) -C xbmc/visualizations/XBMCProjectM
ifeq ($(or $(findstring powerpc-linux,$(ARCH)),$(findstring powerpc64-linux,$(ARCH))),)
	$(MAKE) -C xbmc/visualizations/Goom
endif
screensavers: exports
	$(MAKE) -C xbmc/screensavers/rsxs-0.9/xbmc
libpython: dllloader
	$(MAKE) -C xbmc/lib/libPython
	$(MAKE) -C xbmc/lib/libPython/xbmcmodule
python: dllloader
	$(MAKE) -C xbmc/lib/libPython/linux
dvdpcodecs: dllloader
	$(MAKE) -C xbmc/cores/dvdplayer/Codecs
	$(MAKE) -C xbmc/cores/dvdplayer/Codecs/libdvd
ifneq (0,1)
	$(MAKE) -C xbmc/lib/libass/xbmc
endif
eventclients:
ifeq ($(findstring osx,$(ARCH)), osx)
	$(MAKE) -C tools/EventClients/Clients/OSXRemote
else
	$(MAKE) -C tools/EventClients
endif
libexif: dllloader
	$(MAKE) -C xbmc/lib/libexif
libhdhomerun: dllloader
	$(MAKE) -C xbmc/lib/libhdhomerun
libid3tag: dllloader
	$(MAKE) -C xbmc/lib/libid3tag
papcodecs: dllloader dvdpcodecs
	$(MAKE) -C xbmc/cores/paplayer/AACCodec
	$(MAKE) -C xbmc/cores/paplayer/AC3Codec
	$(MAKE) -C xbmc/cores/paplayer/ADPCMCodec
	$(MAKE) -C xbmc/cores/paplayer/FLACCodec
	$(MAKE) -C xbmc/cores/paplayer/GYMCodec
	$(MAKE) -C xbmc/cores/paplayer/vgmstream
	$(MAKE) -C xbmc/cores/paplayer/timidity
	$(MAKE) -C xbmc/cores/paplayer/MPCCodec/xbmc
	$(MAKE) -C xbmc/cores/paplayer/MP3Codec
	$(MAKE) -C xbmc/cores/paplayer/NSFCodec
	$(MAKE) -C xbmc/cores/paplayer/SIDCodec
	$(MAKE) -C xbmc/cores/paplayer/vorbisfile
	$(MAKE) -C xbmc/cores/paplayer/ModuleCodec
ifneq (0,1)
	$(MAKE) -C xbmc/cores/paplayer/WavPackCodec
endif
	$(MAKE) -C xbmc/cores/paplayer/YMCodec/StSoundLibrary	
ifeq ($(findstring powerpc,$(ARCH)),)
	$(MAKE) -C xbmc/cores/paplayer/MACDll
endif
ifeq ($(or $(findstring powerpc,$(ARCH)),$(findstring x86_64-linux,$(ARCH))),)
	$(MAKE) -C xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU
endif
imagelib: dllloader
	$(MAKE) -C xbmc/lib/cximage-6.0

codecs: papcodecs dvdpcodecs
libs: libhdhomerun libid3tag imagelib libexif python
externals: codecs libs python visualizations screensavers

xcode_depends: \
	codecs libs python visualizations screensavers eventclients skins \
	xbmc/lib/libRTMP/librtmp.a \
	xbmc/lib/libXBMS/libxbms-i486-linux.a \
	xbmc/lib/libRTV/librtv-i486-linux.a \
	xbmc/lib/libXDAAP/libxdaap-i486-linux.a \
	xbmc/lib/libshout/libshout-i486-linux.a \
	xbmc/lib/libGoAhead/libGoAhead-i486-linux.a

# platform independend objects
OBJSXBMC=	\
	guilib/guilib.a \
	guilib/common/gui_common.a \
	guilib/tinyXML/tinyxml.a \
	xbmc/xbmc.a \
	xbmc/cdrip/cdrip.a \
	xbmc/cores/cores.a \
	xbmc/cores/DllLoader/dllloader.a \
	xbmc/cores/DllLoader/exports/exports.a \
	xbmc/cores/DllLoader/exports/util/exports_utils.a \
	xbmc/cores/dvdplayer/DVDPlayer.a \
	xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a \
	xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a \
	xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a \
	xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a \
	xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a \
	xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a \
	xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a \
	xbmc/cores/paplayer/paplayer.a \
	xbmc/cores/AudioRenderers/audiorenderers.a \
	xbmc/cores/VideoRenderers/VideoRenderer.a \
	xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a \
	xbmc/cores/ExternalPlayer/ExternalPlayer.a \
	xbmc/FileSystem/filesystem.a \
	xbmc/FileSystem/MusicDatabaseDirectory/musicdatabasedirectory.a \
	xbmc/FileSystem/VideoDatabaseDirectory/videodatabasedirectory.a \
	xbmc/karaoke/karaoke.a \
	xbmc/lib/libcmyth/libcmyth.a \
	xbmc/lib/libhts/libhts.a \
	xbmc/lib/libPython/python.a \
	xbmc/lib/libPython/xbmcmodule/xbmcmodule.a \
	xbmc/lib/libRTMP/librtmp.a \
	xbmc/lib/libscrobbler/scrobbler.a \
	xbmc/lib/libRTV/librtv-i486-linux.a \
	xbmc/lib/libshout/libshout-i486-linux.a \
	xbmc/lib/libUPnP/libupnp-i486-linux.a \
	xbmc/lib/libXBMS/libxbms-i486-linux.a \
	xbmc/lib/libXDAAP/libxdaap-i486-linux.a \
	xbmc/lib/libGoAhead/libGoAhead-i486-linux.a \
	xbmc/lib/sqLite/sqllite.a \
	xbmc/lib/UnrarXLib/UnrarXLib.a \
	xbmc/linux/linux.a \
	xbmc/screensavers/screensaver.a \
	xbmc/settings/settings.a \
	xbmc/utils/utils.a \
	xbmc/visualizations/visualization.a \
	xbmc/xbox/xbox.a

# platform dependend objects
ifeq ($(findstring osx,$(ARCH)), osx)
OBJSXBMC += \
	xbmc/osx/osx.a \
	xbmc/lib/libSDL-OSX/libSDL-i486-linux.a \
	xbmc/lib/libSDL-OSX/libSDL_image-i486-linux.a \
	xbmc/lib/libSDL-OSX/libSDL_mixer-i486-linux.a
endif

# TODO: XBPythonDLLFuncs.S not implemented on PowerPC
ifeq ($(ARCH), powerpc64-linux)
	# For some reason the XBMC version of libpython gets linker errors - use system version instead
	#OBJSXBMC += xbmc/lib/libPython/Python/libpython2.4.a
	LIBS += -lpython2.4
endif

# If using external libmpcdec
ifeq (0,1)
	OBJSXBMC += xbmc/cores/paplayer/MPCCodec/xbmc/libmpcdec-i486-linux.a
endif

xbmc.bin: $(OBJSXBMC)
ifeq ($(findstring osx,$(ARCH)), osx)
	$(CXX) $(CXXFLAGS) -o xbmc.bin -Wl,-all_load,-ObjC $(OBJSXBMC) $(LIBS) $(LDFLAGS) -rdynamic
else
	$(CXX) $(CXXFLAGS) -o xbmc.bin -Wl,--whole-archive $(OBJSXBMC) -Wl,--no-whole-archive $(LIBS) $(LDFLAGS) -rdynamic
endif

xbmc-xrandr: xbmc-xrandr.c
ifeq ($(findstring osx,$(ARCH)), osx)
	# xbmc-xrandr.c gets picked up by the default make rules
	#  so only exclude it for osx builds
	@echo "excluding xbmc-xrandr"
else
	$(CC) $(CFLAGS) -o xbmc-xrandr xbmc-xrandr.c -lXrandr -lXrender -lX11 
endif

tools/XBMCTex/XBMCTex:
ifeq ($(findstring osx,$(ARCH)), osx)
	# hack this for now
	$(MAKE) -C tools/XBMCTex -f Makefile.osx
else
	$(MAKE) -C tools/XBMCTex/
endif

install-bin: xbmc.bin # developement convenience target
	sudo install -D xbmc.bin $(prefix)/share/xbmc

ifeq ($(findstring osx,$(ARCH)), osx)
	# TODO: add osx install
else
install: install-datas install-web
	@echo "Copying XBMC binary to $(prefix)/share/xbmc/xbmc.bin"
	@install -D xbmc.bin $(prefix)/share/xbmc/xbmc.bin
	@install -D xbmc-xrandr $(prefix)/share/xbmc/xbmc-xrandr
	@install -D tools/Linux/xbmc.sh $(prefix)/bin/xbmc
	@install -D tools/Linux/xbmc-standalone.sh $(prefix)/bin/xbmc-standalone
	@install -D -m 0644 tools/Linux/FEH.py $(prefix)/share/xbmc/FEH.py
	@install -D -m 0644 tools/Linux/xbmc-xsession.desktop $(prefix)/share/xsessions/XBMC.desktop
	@echo "Copying support and legal files,,,"
	@for FILE in `ls README.linux LICENSE.GPL *.txt`; do \
		install -D -m 0644 "$$FILE" $(prefix)/share/xbmc/; done
	@echo "Done!"
	@echo "You can run XBMC with the command 'xbmc'"
endif

install-datas:
	@echo "Copying system files to $(prefix)/share/xbmc"
	@# Arch independent files
	@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 " -- %f                           \r"
	@# Arch dependent files
	@find system screensavers visualisations -regextype posix-extended -type f -not -iregex ".*svn.*|.*win32\.vis|.*osx\.vis" -iregex ".*i486-linux.*|.*\.vis|.*\.xbs" -exec install -D "{}" $(prefix)/share/xbmc/"{}" \; -printf " -- %f                           \r"
	@# Skins
	@find skin -regextype posix-extended -type f -not -iregex ".*svn.*|.*\.png|.*\.gif" -exec install -D -m 0644 '{}' $(prefix)/share/xbmc/'{}' \; -printf " -- %f                            \r"

install-livedatas:
	@echo "Install Live CD datas in $(prefix) ..."
	@install -D tools/XBMCLive/diskmounter $(prefix)/bin
	@install -D tools/XBMCLive/installXBMC $(prefix)/bin
	@install -D tools/XBMCLive/runXBMC $(prefix)/bin
	@install -D tools/XBMCLive/setAlsaVolumes $(prefix)/bin

install-web:
	@mkdir -p $(prefix)/share/xbmc/web
	@unzip -oq web/Project_Mayhem_III_webserver_v1.0.zip \
		-d $(prefix)/share/xbmc/web -x "*/Thumbs.db"

uninstall:
	@echo "Removing XBMC..."
	@rm -rf $(prefix)/share/xbmc $(prefix)/bin/xbmc
	@rm -rf $(prefix)/bin/xbmc-standalone
	@rm -rf $(prefix)/share/xsessions/XBMC.desktop
	@echo "Done!"

reallyclean:
	@echo " This will delete ALL unversioned files in"; \
	 echo " your XBMC source tree. If you aren't sure"; \
	 echo " you want to do this, answer anything but"; \
	 echo " 'Y' (case sensitive) to the following."; \
	 echo " DISCLAIMER: Team XBMC is NOT responsible"; \
	 echo " for ANYTHING lost if you execute this command!"; \
	 echo -n " Damnserious? (Y/*) "; \
	 read -n1 PROMPT; \
	 if [[ "$$PROMPT" = "Y" ]]; then \
		SVNV=$$(svnversion -n | cut -d':' -f1); _IFS=$$IFS; IFS=$$'\t\n'; \
		for i in `svn st --no-ignore | grep ^[I\?] | cut -d' ' -f7-`; do \
			if [[ $${i:(-4)} != "diff" && $${i:(-5)} != "patch" ]]; then \
				echo "  Deleting $$i"; \
				rm -rf "$$i"; \
			fi; \
		done; \
		IFS=$$_IFS; \
		echo " Recovering any missing files."; \
		svn up -r $${SVNV/M/} | cut -d' ' -f7- | awk '{print "  "$$0}'; \
		echo " Done."; \
		echo " The following files may need reverted (svn revert <file>)"; \
		svn st | grep ^M | cut -d' ' -f7- | awk '{print "  "$$0}'; \
	 else \
	 	echo; \
	 fi

clean-xbmc.bin:
	rm -f xbmc.bin
	for d in $(BIN_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
clean-eventclients:
	for d in $(EC_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
clean-xbmctex:
	for d in $(XBMCTEX_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
clean-dvdpcodecs: 
	for d in $(DVDPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
clean-papcodecs:
	for d in $(PAPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
clean-libs: 
	for d in $(LIB_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
clean-screensavers: 
	for d in $(SS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
clean-visualisations:
	for d in $(VIS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done

clean-codecs: clean-dvdpcodecs clean-papcodecs

clean-externals: clean-codecs clean-eventclients clean-xbmctex clean-libs \
	clean-screensavers clean-visualisations