1 AUTOGENERATED_MAKEFILES=@OUTPUT_FILES@
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/DVDDemuxers/ \
18 xbmc/cores/dvdplayer/DVDInputStreams/ \
19 xbmc/cores/dvdplayer/DVDSubtitles/ \
21 xbmc/cores/AudioRenderers \
22 xbmc/cores/VideoRenderers \
23 xbmc/cores/VideoRenderers/VideoShaders \
24 xbmc/cores/ExternalPlayer \
25 xbmc/cores/playercorefactory \
27 xbmc/filesystem/MusicDatabaseDirectory \
28 xbmc/filesystem/VideoDatabaseDirectory \
32 xbmc/music/infoscanner \
44 xbmc/powermanagement \
45 xbmc/powermanagement/linux \
51 xbmc/interfaces/http-api \
52 xbmc/interfaces/json-rpc \
53 xbmc/interfaces/python \
54 xbmc/interfaces/python/xbmcmodule \
56 xbmc/network/libscrobbler \
76 BIN_DIRS += xbmc/rendering/gl
78 ifeq (@USE_OPENGLES@,1)
79 BIN_DIRS += xbmc/rendering/gles
80 BIN_DIRS += xbmc/windowing/egl
83 ifeq ($(findstring osx,@ARCH@),osx)
84 BIN_DIRS += xbmc/windowing/osx
85 BIN_DIRS += xbmc/network/osx
86 BIN_DIRS += xbmc/storage/osx
87 BIN_DIRS += xbmc/powermanagement/osx
89 BIN_DIRS += xbmc/windowing/X11
107 lib/stsound/StSoundLibrary \
108 lib/snesapu/SNES/SNESAPU \
111 ifeq (@USE_ASAP_CODEC@,1)
124 lib/xbmc-dll-symbols \
125 lib/jsoncpp/src/lib_json
127 ifneq (@USE_EXTERNAL_PYTHON@,1)
128 LIB_DIRS+=xbmc/interfaces/python/linux
132 xbmc/screensavers/rsxs-0.9/xbmc
135 ifeq (@USE_OPENGL@,1)
137 xbmc/visualizations/OpenGLSpectrum \
138 xbmc/visualizations/WaveForm \
139 xbmc/visualizations/XBMCProjectM \
142 ifeq ($(findstring osx,@ARCH@), osx)
143 VIS_DIRS+=xbmc/visualizations/iTunes \
146 ifneq (@BUILD_GOOM@,1)
147 VIS_DIRS+=xbmc/visualizations/Goom \
151 CONFLUENCE_MEDIA=addons/skin.confluence/media
156 DIRS= $(BIN_DIRS) $(EC_DIRS) $(XBMCTEX_DIRS) $(DVDPCODECS_DIRS) $(PAPCODECS_DIRS) \
157 $(LIB_DIRS) $(SS_DIRS) $(VIS_DIRS) $(SKIN_DIRS)
163 INCLUDES=$(sort @INCLUDES@)
165 CLEAN_FILES=xbmc.bin xbmc-xrandr
167 DISTCLEAN_FILES=config.h config.log config.status tools/Linux/xbmc.sh \
168 tools/Linux/xbmc-standalone.sh autom4te.cache config.h.in~ \
169 lib/python/Include/pyconfig.h \
170 lib/python/configure.lineno \
171 lib/python/libpython2.4.so.1.0 \
172 system/libcpluff-@ARCH@.so
174 ifneq (@USE_EXTERNAL_PYTHON@,1)
180 all : Makefile externals xbmc.bin xbmc-xrandr skins
182 include Makefile.include
184 .PHONY : dllloader exports visualizations screensavers eventclients papcodecs \
185 dvdpcodecs imagelib codecs externals force skins
187 # hack targets to keep build system up to date
188 Makefile : config.status $(addsuffix .in, $(AUTOGENERATED_MAKEFILES))
189 @echo "Regenerating Makefiles..."
190 @./config.status &> /dev/null
193 config.status: configure
194 @echo "Build system configuration is stale."
195 @echo "Please (re)run configure."
196 @test -n "$$XBMC_IGNORE_STALE"
198 configure: configure.in
199 @echo 'configure is outdated, regenerating...'
203 ifneq ($(findstring arm,@ARCH@), arm)
204 skins: tools/TexturePacker/TexturePacker force
205 $(MAKE) -C $(CONFLUENCE_MEDIA)
211 xbmc/guilib/guilib.a: force
212 $(MAKE) -C xbmc/guilib
213 lib/tinyXML/tinyxml.a: force
214 $(MAKE) -C lib/tinyXML
217 xbmc/cdrip/cdrip.a: force
218 $(MAKE) -C xbmc/cdrip
219 xbmc/cores/cores.a: force
220 $(MAKE) -C xbmc/cores
221 xbmc/cores/DllLoader/dllloader.a: force
222 $(MAKE) -C xbmc/cores/DllLoader/
223 xbmc/cores/DllLoader/exports/exports.a: force
224 $(MAKE) -C xbmc/cores/DllLoader/exports
225 xbmc/cores/DllLoader/exports/util/exports_utils.a: force
226 $(MAKE) -C xbmc/cores/DllLoader/exports/util
227 xbmc/cores/dvdplayer/DVDPlayer.a: force
228 $(MAKE) -C xbmc/cores/dvdplayer
229 xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a: force
230 $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs
231 xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a: force
232 $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Audio
233 xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a: force
234 $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Overlay
235 xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a: force
236 $(MAKE) -C xbmc/cores/dvdplayer/DVDCodecs/Video
237 xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a: force
238 $(MAKE) -C xbmc/cores/dvdplayer/DVDDemuxers
239 xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a: force
240 $(MAKE) -C xbmc/cores/dvdplayer/DVDInputStreams
241 xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a: force
242 $(MAKE) -C xbmc/cores/dvdplayer/DVDSubtitles
243 xbmc/cores/paplayer/paplayer.a: force papcodecs
244 $(MAKE) -C xbmc/cores/paplayer
245 xbmc/cores/AudioRenderers/audiorenderers.a: force
246 $(MAKE) -C xbmc/cores/AudioRenderers
247 xbmc/cores/VideoRenderers/VideoRenderer.a: force
248 $(MAKE) -C xbmc/cores/VideoRenderers
249 xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a: force
250 $(MAKE) -C xbmc/cores/VideoRenderers/VideoShaders
251 xbmc/cores/ExternalPlayer/ExternalPlayer.a: force
252 $(MAKE) -C xbmc/cores/ExternalPlayer
253 xbmc/cores/playercorefactory/playercorefactory.a: force
254 $(MAKE) -C xbmc/cores/playercorefactory
255 xbmc/filesystem/filesystem.a: force
256 $(MAKE) -C xbmc/filesystem
257 xbmc/filesystem/MusicDatabaseDirectory/musicdatabasedirectory.a: force
258 $(MAKE) -C xbmc/filesystem/MusicDatabaseDirectory
259 xbmc/filesystem/VideoDatabaseDirectory/videodatabasedirectory.a: force
260 $(MAKE) -C xbmc/filesystem/VideoDatabaseDirectory
261 xbmc/input/input.a: force
262 $(MAKE) -C xbmc/input
263 xbmc/input/linux/input_linux.a: force
264 $(MAKE) -C xbmc/input/linux
265 xbmc/music/karaoke/karaoke.a: force
266 $(MAKE) -C xbmc/music/karaoke
267 xbmc/network/network.a: force
268 $(MAKE) -C xbmc/network
269 xbmc/network/osx/network.a: force
270 $(MAKE) -C xbmc/network/osx
271 xbmc/pictures/pictures.a: force
272 $(MAKE) -C xbmc/pictures
273 xbmc/programs/programs.a: force
274 $(MAKE) -C xbmc/programs
275 xbmc/network/linux/network_linux.a: force
276 $(MAKE) -C xbmc/network/linux
277 xbmc/playlists/playlists.a: force
278 $(MAKE) -C xbmc/playlists
279 xbmc/powermanagement/powermanagement.a: force
280 $(MAKE) -C xbmc/powermanagement
281 xbmc/powermanagement/linux/powermanagement_linux.a: force
282 $(MAKE) -C xbmc/powermanagement/linux
283 xbmc/powermanagement/osx/powermanagement.a: force
284 $(MAKE) -C xbmc/powermanagement/osx
285 xbmc/windowing/X11/windowing_X11.a: force
286 $(MAKE) -C xbmc/windowing/X11
287 xbmc/rendering/rendering.a: force
288 $(MAKE) -C xbmc/rendering
289 xbmc/rendering/gl/rendering_gl.a: force
290 $(MAKE) -C xbmc/rendering/gl
291 xbmc/rendering/gles/rendering_gles.a: force
292 $(MAKE) -C xbmc/rendering/gles
293 xbmc/windowing/windowing.a: force
294 $(MAKE) -C xbmc/windowing
295 xbmc/windowing/egl/windowing_egl.a: force
296 $(MAKE) -C xbmc/windowing/egl
297 xbmc/windowing/osx/windowing_osx.a: force
298 $(MAKE) -C xbmc/windowing/osx
299 xbmc/storage/storage.a: force
300 $(MAKE) -C xbmc/storage
301 xbmc/storage/linux/storage_linux.a: force
302 $(MAKE) -C xbmc/storage/linux
303 xbmc/storage/osx/storage.a: force
304 $(MAKE) -C xbmc/storage/osx
305 xbmc/threads/threads.a: force
306 $(MAKE) -C xbmc/threads
307 xbmc/music/music.a: force
308 $(MAKE) -C xbmc/music
309 xbmc/music/tags/musictags.a: force
310 $(MAKE) -C xbmc/music/tags
311 xbmc/music/dialogs/musicdialogs.a: force
312 $(MAKE) -C xbmc/music/dialogs
313 xbmc/music/windows/musicwindows.a: force
314 $(MAKE) -C xbmc/music/windows
315 xbmc/music/infoscanner/musicscanner.a: force
316 $(MAKE) -C xbmc/music/infoscanner
317 xbmc/video/video.a: force
318 $(MAKE) -C xbmc/video
319 xbmc/video/dialogs/videodialogs.a: force
320 $(MAKE) -C xbmc/video/dialogs
321 xbmc/video/windows/videowindows.a: force
322 $(MAKE) -C xbmc/video/windows
323 xbmc/dialogs/dialogs.a: force
324 $(MAKE) -C xbmc/dialogs
325 xbmc/windows/windows.a: force
326 $(MAKE) -C xbmc/windows
327 lib/libhts/libhts.a: force
328 $(MAKE) -C lib/libhts
329 xbmc/interfaces/interfaces.a: force
330 $(MAKE) -C xbmc/interfaces
331 xbmc/interfaces/python/python.a: force
332 $(MAKE) -C xbmc/interfaces/python
333 xbmc/interfaces/python/xbmcmodule/xbmcmodule.a: force
334 $(MAKE) -C xbmc/interfaces/python/xbmcmodule
335 xbmc/network/libscrobbler/scrobbler.a: force
336 $(MAKE) -C xbmc/network/libscrobbler
337 lib/libRTV/librtv.a: force
338 $(MAKE) -C lib/libRTV
339 lib/libUPnP/libupnp.a: force
340 $(MAKE) -C lib/libUPnP
341 lib/libXBMS/libxbms.a: force
342 $(MAKE) -C lib/libXBMS
343 lib/libXDAAP/libxdaap.a: force
344 $(MAKE) -C lib/libXDAAP
345 lib/jsoncpp/src/lib_json/libjsoncpp.a: force
346 $(MAKE) -C lib/jsoncpp/src/lib_json
347 xbmc/interfaces/http-api/http-api.a: force
348 $(MAKE) -C xbmc/interfaces/http-api
349 xbmc/interfaces/json-rpc/json-rpc.a: force
350 $(MAKE) -C xbmc/interfaces/json-rpc
351 xbmc/dbwrappers/dbwrappers.a: force
352 $(MAKE) -C xbmc/dbwrappers
353 lib/UnrarXLib/UnrarXLib.a: force
354 $(MAKE) -C lib/UnrarXLib
355 lib/libsquish/libsquish.a: force
356 $(MAKE) -C lib/libsquish
357 xbmc/linux/linux.a: force
358 $(MAKE) -C xbmc/linux
359 xbmc/threads/posix/threads_posix.a: force
360 $(MAKE) -C xbmc/threads/posix
361 xbmc/threads/darwin/threads_darwin.a: force
362 $(MAKE) -C xbmc/threads/darwin
363 xbmc/addons/addons.a: force
364 $(MAKE) -C xbmc/addons
365 xbmc/settings/settings.a: force
366 $(MAKE) -C xbmc/settings
367 xbmc/utils/utils.a: force
368 $(MAKE) -C xbmc/utils
369 xbmc/osx/osx.a: force
371 lib/libapetag/.libs/libapetag.a: force
372 $(MAKE) -C lib/libapetag
373 lib/cpluff/libcpluff/.libs/libcpluff.a: force
374 $(MAKE) -C lib/cpluff/libcpluff
375 system/libcpluff-@ARCH@.so: lib/cpluff/libcpluff/.libs/libcpluff.a
376 ifeq ($(findstring osx,@ARCH@), osx)
377 ifeq (@ARCH@, powerpc-osx)
378 $(CXX) $(LDFLAGS) -all_load -bundle -flat_namespace -undefined dynamic_lookup -arch @ARCHTYPE@ -lexpat -lbundle1.o -o $@ $<
380 ifeq (@ARCH@, x86-osx)
381 $(CXX) $(LDFLAGS) -all_load -bundle -flat_namespace -undefined dynamic_lookup -arch @ARCHTYPE@ -lexpat -o $@ $<
383 ifeq (@ARCH@, arm-osx)
384 $(CXX) $(LDFLAGS) -all_load -bundle -flat_namespace -undefined dynamic_lookup -read_only_relocs suppress -arch armv7 -o $@ $<
387 cp lib/cpluff/libcpluff/.libs/libcpluff.so $@
389 lib/xbmc-dll-symbols/dll-symbols.a: force
390 $(MAKE) -C lib/xbmc-dll-symbols
393 $(MAKE) xbmc/cores/DllLoader/exports/exports.a
394 $(MAKE) xbmc/cores/DllLoader/exports/util/exports_utils.a
395 $(MAKE) -C xbmc/cores/DllLoader/exports wrapper.def
397 $(MAKE) xbmc/cores/DllLoader/dllloader.a
398 visualizations: exports
399 ifneq ($(findstring arm,@ARCH@), arm)
400 $(MAKE) -C xbmc/visualizations/OpenGLSpectrum
401 $(MAKE) -C xbmc/visualizations/WaveForm
402 $(MAKE) -C xbmc/visualizations/XBMCProjectM
403 ifeq ($(findstring osx,@ARCH@), osx)
404 $(MAKE) -C xbmc/visualizations/iTunes
406 ifneq (@BUILD_GOOM@,1)
407 ifeq ($(or $(findstring powerpc-linux,@ARCH@),$(findstring powerpc64-linux,@ARCH@)),)
408 $(MAKE) -C xbmc/visualizations/Goom
412 screensavers: exports
413 ifneq ($(findstring arm,@ARCH@), arm)
414 $(MAKE) -C xbmc/screensavers/rsxs-0.9/xbmc
417 $(MAKE) -C xbmc/interfaces/python
418 $(MAKE) -C xbmc/interfaces/python/xbmcmodule
419 ifneq (@USE_EXTERNAL_PYTHON@,1)
421 $(MAKE) -C xbmc/interfaces/python/linux
423 dvdpcodecs: dllloader
425 $(MAKE) -C lib/libdvd
427 ifeq ($(findstring osx,@ARCH@), osx)
428 ifneq ($(findstring arm,@ARCH@), arm)
429 $(MAKE) -C tools/EventClients/Clients/OSXRemote
432 $(MAKE) -C tools/EventClients
435 $(MAKE) -C lib/libexif
438 libhdhomerun: dllloader
439 $(MAKE) -C lib/libhdhomerun
441 $(MAKE) -C lib/libid3tag
442 papcodecs: dllloader dvdpcodecs
443 test -d system/players/paplayer || mkdir system/players/paplayer
444 $(MAKE) -C lib/xbadpcm
445 $(MAKE) -C lib/vgmstream
446 $(MAKE) -C lib/timidity
447 $(MAKE) -C lib/nosefart
448 ifneq ($(findstring arm-osx,@ARCH@), arm-osx)
449 $(MAKE) -C lib/libsidplay2
451 ifeq (@USE_ASAP_CODEC@,1)
452 ifneq ($(findstring osx,@ARCH@), osx)
453 $(MAKE) -C lib/asap asap-xbmc
456 $(MAKE) -C lib/stsound/StSoundLibrary
457 ifeq ($(or $(findstring powerpc,@ARCH@),$(findstring x86_64-linux,@ARCH@),$(findstring arm, @ARCH@)),)
458 $(MAKE) -C lib/snesapu/SNES/SNESAPU
461 $(MAKE) -C lib/cximage-6.0
463 codecs: papcodecs dvdpcodecs
464 libs: cmyth libhdhomerun libid3tag imagelib libexif $(PYTHON_TARGET) system/libcpluff-@ARCH@.so
465 externals: codecs libs $(PYTHON_TARGET) visualizations screensavers
468 codecs libs $(PYTHON_TARGET) visualizations screensavers eventclients skins \
469 lib/libsquish/libsquish.a \
470 lib/libapetag/.libs/libapetag.a \
471 lib/libXBMS/libxbms.a \
472 lib/libRTV/librtv.a \
473 lib/libXDAAP/libxdaap.a \
474 lib/jsoncpp/src/lib_json/libjsoncpp.a
476 # platform independend objects
479 xbmc/addons/addons.a \
480 xbmc/cores/playercorefactory/playercorefactory.a \
481 xbmc/cores/dvdplayer/DVDPlayer.a \
482 xbmc/cores/paplayer/paplayer.a \
483 xbmc/cores/VideoRenderers/VideoRenderer.a \
484 xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a \
485 lib/tinyXML/tinyxml.a \
487 xbmc/interfaces/python/python.a \
488 xbmc/cores/DllLoader/dllloader.a \
489 xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a \
490 xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a \
491 xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a \
492 xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a \
493 xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a \
494 xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a \
495 xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a \
496 xbmc/cores/AudioRenderers/audiorenderers.a \
497 xbmc/cores/ExternalPlayer/ExternalPlayer.a \
498 xbmc/filesystem/filesystem.a \
499 xbmc/filesystem/MusicDatabaseDirectory/musicdatabasedirectory.a \
500 xbmc/filesystem/VideoDatabaseDirectory/videodatabasedirectory.a \
502 xbmc/dialogs/dialogs.a \
503 xbmc/music/karaoke/karaoke.a \
505 xbmc/music/dialogs/musicdialogs.a \
506 xbmc/music/infoscanner/musicscanner.a \
507 xbmc/music/tags/musictags.a \
508 xbmc/music/windows/musicwindows.a \
509 xbmc/video/dialogs/videodialogs.a \
510 xbmc/pictures/pictures.a \
511 xbmc/playlists/playlists.a \
512 xbmc/programs/programs.a \
513 xbmc/powermanagement/powermanagement.a \
514 xbmc/storage/storage.a \
515 xbmc/threads/threads.a \
516 xbmc/windows/windows.a \
517 xbmc/interfaces/python/xbmcmodule/xbmcmodule.a \
518 xbmc/network/libscrobbler/scrobbler.a \
519 lib/libRTV/librtv.a \
520 lib/libUPnP/libupnp.a \
521 lib/libXDAAP/libxdaap.a \
522 xbmc/interfaces/interfaces.a \
524 xbmc/interfaces/json-rpc/json-rpc.a \
525 lib/jsoncpp/src/lib_json/libjsoncpp.a \
526 xbmc/interfaces/http-api/http-api.a \
527 xbmc/dbwrappers/dbwrappers.a \
528 lib/libsquish/libsquish.a \
529 lib/libapetag/.libs/libapetag.a \
530 lib/xbmc-dll-symbols/dll-symbols.a \
531 xbmc/rendering/rendering.a \
532 xbmc/windowing/windowing.a \
534 ifeq (@USE_OPENGL@,1)
536 xbmc/rendering/gl/rendering_gl.a
538 ifeq (@USE_OPENGLES@,1)
540 xbmc/rendering/gles/rendering_gles.a \
541 xbmc/windowing/egl/windowing_egl.a
544 ifeq (@HAVE_XBMC_NONFREE@,1)
546 lib/libXBMS/libxbms.a \
547 lib/UnrarXLib/UnrarXLib.a
553 # platform dependend objects
554 ifeq ($(findstring osx,@ARCH@), osx)
557 xbmc/windowing/osx/windowing_osx.a \
558 xbmc/threads/darwin/threads_darwin.a \
559 xbmc/powermanagement/osx/powermanagement.a \
560 xbmc/network/osx/network.a \
561 xbmc/storage/osx/storage.a \
562 xbmc/network/linux/network_linux.a \
566 xbmc/threads/posix/threads_posix.a \
567 xbmc/input/linux/input_linux.a \
568 xbmc/network/linux/network_linux.a \
569 xbmc/powermanagement/linux/powermanagement_linux.a \
570 xbmc/storage/linux/storage_linux.a
571 ifeq (@USE_OPENGL@,1)
573 xbmc/windowing/X11/windowing_X11.a
579 xbmc/network/network.a \
580 xbmc/video/windows/videowindows.a \
582 xbmc/cores/DllLoader/exports/util/exports_utils.a \
583 xbmc/cores/DllLoader/exports/exports.a \
584 xbmc/settings/settings.a \
586 xbmc/guilib/guilib.a # must be dynamic to avoid linker errors
588 ifeq ($(findstring arm,@ARCH@), arm)
589 # Force external python2.6 for now!
593 ifeq (@USE_EXTERNAL_PYTHON@,1)
594 LIBS += @PYTHON_LDFLAGS@
597 xbmc.bin: $(OBJSXBMC) $(DYNOBJSXBMC)
598 ifeq ($(findstring osx,@ARCH@), osx)
599 $(CXX) $(LDFLAGS) -o xbmc.bin -Wl,-all_load,-ObjC $(DYNOBJSXBMC) $(OBJSXBMC) $(LIBS) -rdynamic
601 $(CXX) $(CXXFLAGS) $(LDFLAGS) -o xbmc.bin -Wl,--whole-archive $(DYNOBJSXBMC) $(OBJSXBMC) -Wl,--no-whole-archive $(LIBS) -rdynamic
604 xbmc-xrandr: xbmc-xrandr.c
605 ifeq ($(findstring osx,@ARCH@), osx)
606 # xbmc-xrandr.c gets picked up by the default make rules
607 # so only exclude it for osx builds
608 @echo "excluding xbmc-xrandr"
610 $(CC) $(CFLAGS) $(LDFLAGS) -o xbmc-xrandr xbmc-xrandr.c -lXrandr -lX11
613 tools/XBMCTex/XBMCTex:
614 ifeq ($(findstring osx,@ARCH@), osx)
616 $(MAKE) -C tools/XBMCTex -f Makefile.osx
618 $(MAKE) -C tools/XBMCTex/
621 tools/TexturePacker/TexturePacker: xbmc/guilib/guilib.a lib/libsquish/libsquish.a
622 $(MAKE) -C tools/TexturePacker/
625 install-bin: xbmc.bin # developement convenience target
626 sudo install -d $(DESTDIR)$(libdir)
627 sudo install xbmc.bin $(DESTDIR)$(libdir)/xbmc
629 ifeq ($(findstring osx,@ARCH@), osx)
630 # TODO: add osx install
632 install: install-binaries install-arch install-datas
634 install-binaries: install-scripts
635 @echo "Copying XBMC binary to $(DESTDIR)$(libdir)/xbmc/xbmc.bin"
636 @install -d $(DESTDIR)$(libdir)/xbmc
637 @install xbmc.bin $(DESTDIR)$(libdir)/xbmc/xbmc.bin
638 @install xbmc-xrandr $(DESTDIR)$(libdir)/xbmc/xbmc-xrandr
639 @echo "You can run XBMC with the command 'xbmc'"
643 @# Arch dependent files
644 ifeq ($(findstring freebsd,@ARCH@), freebsd)
645 @find -E system addons -type f -not -iregex ".*svn.*|.*script\.module\..*" \
646 -iregex ".*@ARCH@.*|.*\.vis|.*\.xbs|.*python.*\.zip" \
647 -exec sh -c "install -d \"$(DESTDIR)$(libdir)/xbmc/\`dirname '{}'\`\"" \; \
649 -exec install "{}" $(DESTDIR)$(libdir)/xbmc/"{}" \; \
650 -exec printf " -- %-75.75s\r" "{}" \;
652 @find system addons -regextype posix-extended -type f -not -iregex ".*svn.*|.*script\.module\..*" -iregex ".*@ARCH@.*|.*\.vis|.*\.xbs|.*python.*\.zip" -exec install -D "{}" $(DESTDIR)$(libdir)/xbmc/"{}" \; -printf " -- %-75.75f\r"
654 @cp -r addons/script.module.pil $(DESTDIR)$(libdir)/xbmc/addons/
655 @cp -r addons/script.module.pysqlite $(DESTDIR)$(libdir)/xbmc/addons/
658 @install -d $(DESTDIR)$(bindir)
659 @install tools/Linux/xbmc.sh $(DESTDIR)$(bindir)/xbmc
660 @install tools/Linux/xbmc-standalone.sh $(DESTDIR)$(bindir)/xbmc-standalone
661 @install -d $(DESTDIR)$(datarootdir)/xbmc
662 @install -m 0644 tools/Linux/FEH.py $(DESTDIR)$(datarootdir)/xbmc/FEH.py
663 @install -d $(DESTDIR)$(datarootdir)/xsessions
664 @install -m 0644 tools/Linux/xbmc-xsession.desktop $(DESTDIR)$(datarootdir)/xsessions/XBMC.desktop
666 install-datas: install-scripts
667 @echo "Copying support and legal files..."
668 @install -d $(DESTDIR)$(docdir)
669 @for FILE in `ls README.linux LICENSE.GPL *.txt`; do \
670 install -m 0644 "$$FILE" "$(DESTDIR)$(docdir)/$$FILE"; done
672 @echo "Copying system files to $(DESTDIR)$(datarootdir)/xbmc"
673 @install -d $(DESTDIR)$(datarootdir)/xbmc
674 @# Arch independent files
675 ifeq ($(findstring bsd,@ARCH@), bsd)
676 @find -E addons language media sounds userdata system -type f \
677 -not -iregex ".*script\.module\..*|.*@ARCH@.*|.*\.vis|.*\.xbs|.*svn.*|.*\.so|.*\.dll|.*\.pyd|.*python.*\.zip" \
678 -exec sh -c "install -d \"$(DESTDIR)$(datarootdir)/xbmc/\`dirname '{}'\`\"" \; \
680 -exec install -m 0644 "{}" $(DESTDIR)$(datarootdir)/xbmc/"{}" \; \
681 -exec printf " -- %-75.75s\r" "{}" \;
683 @find addons language media sounds userdata system -regextype posix-extended -type f -not -iregex ".*script\.module\..*|.*@ARCH@.*|.*\.vis|.*\.xbs|.*svn.*|.*\.so|.*\.dll|.*\.pyd|.*python.*\.zip" -exec install -D -m 0644 "{}" $(DESTDIR)$(datarootdir)/xbmc/"{}" \; -printf " -- %-75.75f\r"
686 @install -d $(DESTDIR)$(datarootdir)/applications
687 @install tools/Linux/xbmc.desktop $(DESTDIR)$(datarootdir)/applications/xbmc.desktop
688 @install -d $(DESTDIR)$(datadir)/icons/hicolor/48x48/apps
689 @install -m 0644 tools/Linux/xbmc-48x48.png $(DESTDIR)$(datadir)/icons/hicolor/48x48/apps/xbmc.png
690 @install -d $(DESTDIR)$(datadir)/icons/hicolor/256x256/apps
691 @install -m 0644 media/icon.png $(DESTDIR)$(datadir)/icons/hicolor/256x256/apps/xbmc.png
692 @test -z "$(DESTDIR)" && gtk-update-icon-cache -f -q -t $(datadir)/icons/hicolor || :
695 @echo "Removing XBMC..."
696 @rm -rf $(DESTDIR)$(libdir)/xbmc
697 @rm -rf $(DESTDIR)$(datarootdir)/xbmc $(DESTDIR)$(bindir)/xbmc
698 @rm -rf $(DESTDIR)$(bindir)/xbmc-standalone
699 @rm -rf $(DESTDIR)$(datarootdir)/xsessions/XBMC.desktop
703 @echo " This will delete ALL unversioned files in"; \
704 echo " your XBMC source tree. If you aren't sure"; \
705 echo " you want to do this, answer anything but"; \
706 echo " 'Y' (case sensitive) to the following."; \
707 echo " DISCLAIMER: Team XBMC is NOT responsible"; \
708 echo " for ANYTHING lost if you execute this command!"; \
709 echo -n " Damnserious? (Y/*) "; \
711 if [[ "$$PROMPT" = "Y" ]]; then \
712 SVNV=$$(svnversion -n | cut -d':' -f1); _IFS=$$IFS; IFS=$$'\t\n'; \
713 for i in `svn st --no-ignore | grep ^[I\?] | cut -d' ' -f7-`; do \
714 if [[ $${i:(-4)} != "diff" && $${i:(-5)} != "patch" ]]; then \
715 echo " Deleting $$i"; \
720 echo " Recovering any missing files."; \
721 svn up -r $${SVNV/M/} | sed -e "s/.*'\(.*\)'/ \1/p" -e d; \
723 echo " The following files may need reverted (svn revert <file>)"; \
724 svn st | sed -e "s/^M */ /p" -e d; \
731 for d in $(BIN_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
733 for d in $(EC_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
735 for d in $(XBMCTEX_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
737 for d in $(DVDPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
739 for d in $(PAPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
741 for d in $(LIB_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
743 for d in $(SS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
744 clean-visualisations:
745 for d in $(VIS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
747 clean-codecs: clean-dvdpcodecs clean-papcodecs
749 clean-externals: clean-codecs clean-eventclients clean-xbmctex clean-libs \
750 clean-screensavers clean-visualisations