4 space
:= ${null} ${null}
7 AUTOGENERATED_MAKEFILES
=@OUTPUT_FILES@
16 ifeq (@USE_LIBSTAGEFRIGHT@
,1)
17 DVDPCODECS_DIRS
+= xbmc
/cores
/dvdplayer
/DVDCodecs
/Video
/libstagefrightICS
20 DVDPLAYER_ARCHIVES
=xbmc
/cores
/dvdplayer
/DVDPlayer.a \
21 xbmc
/cores
/dvdplayer
/DVDCodecs
/DVDCodecs.a \
22 xbmc
/cores
/dvdplayer
/DVDCodecs
/Audio
/Audio.a \
23 xbmc
/cores
/dvdplayer
/DVDCodecs
/Overlay
/Overlay.a \
24 xbmc
/cores
/dvdplayer
/DVDCodecs
/Video
/Video.a \
25 xbmc
/cores
/dvdplayer
/DVDDemuxers
/DVDDemuxers.a \
26 xbmc
/cores
/dvdplayer
/DVDInputStreams
/DVDInputStreams.a \
27 xbmc
/cores
/dvdplayer
/DVDSubtitles
/DVDSubtitles.a
29 DIRECTORY_ARCHIVES
=$(DVDPLAYER_ARCHIVES
) \
30 xbmc
/addons
/addons.a \
32 xbmc
/contrib
/kissfft
/kissfft.a \
33 xbmc
/cores
/AudioEngine
/audioengine.a \
34 xbmc
/cores
/DllLoader
/dllloader.a \
35 xbmc
/cores
/DllLoader
/exports
/exports.a \
36 xbmc
/cores
/DllLoader
/exports
/util
/exports_utils.a \
37 xbmc
/cores
/ExternalPlayer
/ExternalPlayer.a \
38 xbmc
/cores
/VideoRenderers
/VideoRenderer.a \
39 xbmc
/cores
/VideoRenderers
/VideoShaders
/VideoShaders.a \
41 xbmc
/cores
/paplayer
/paplayer.a \
42 xbmc
/cores
/playercorefactory
/playercorefactory.a \
43 xbmc
/dbwrappers
/dbwrappers.a \
44 xbmc
/dialogs
/dialogs.a \
46 xbmc
/events
/events.a \
47 xbmc
/filesystem
/MusicDatabaseDirectory
/musicdatabasedirectory.a \
48 xbmc
/filesystem
/VideoDatabaseDirectory
/videodatabasedirectory.a \
49 xbmc
/filesystem
/filesystem.a \
50 xbmc
/guilib
/guilib.a \
52 xbmc
/interfaces
/generic
/interfaces-generic.a \
53 xbmc
/interfaces
/info/info.a \
54 xbmc
/interfaces
/interfaces.a \
55 xbmc
/interfaces
/json-rpc
/json-rpc.a \
56 xbmc
/interfaces
/legacy
/legacy.a \
57 xbmc
/interfaces
/python
/python_binding.a \
59 xbmc
/listproviders
/listproviders.a \
60 xbmc
/main
/posix
/MessagePrinter.a \
62 xbmc
/messaging
/messaging.a \
63 xbmc
/music
/dialogs
/musicdialogs.a \
64 xbmc
/music
/infoscanner
/musicscanner.a \
65 xbmc
/music
/karaoke
/karaoke.a \
67 xbmc
/music
/tags/musictags.a \
68 xbmc
/music
/windows
/musicwindows.a \
69 xbmc
/network
/dacp
/dacp.a \
70 xbmc
/network
/websocket
/websocket.a \
71 xbmc
/network
/network.a \
72 xbmc
/peripherals
/bus
/peripheral-bus.a \
73 xbmc
/peripherals
/devices
/peripheral-devices.a \
74 xbmc
/peripherals
/dialogs
/peripheral-dialogs.a \
75 xbmc
/peripherals
/peripherals.a \
76 xbmc
/pictures
/pictures.a \
77 xbmc
/playlists
/playlists.a \
78 xbmc
/powermanagement
/powermanagement.a \
79 xbmc
/profiles
/profiles.a \
80 xbmc
/profiles
/dialogs
/profiles_dialogs.a \
81 xbmc
/profiles
/windows
/profiles_windows.a \
82 xbmc
/programs
/programs.a \
83 xbmc
/pvr
/addons
/pvraddons.a \
84 xbmc
/pvr
/channels
/pvrchannels.a \
85 xbmc
/pvr
/dialogs
/pvrdialogs.a \
87 xbmc
/pvr
/recordings
/pvrrecordings.a \
88 xbmc
/pvr
/timers
/pvrtimers.a \
89 xbmc
/pvr
/windows
/pvrwindows.a \
90 xbmc
/rendering
/rendering.a \
91 xbmc
/settings
/settings.a \
92 xbmc
/settings
/dialogs
/settings_dialogs.a \
93 xbmc
/settings
/lib
/settings_lib.a \
94 xbmc
/settings
/windows
/settings_windows.a \
95 xbmc
/storage
/storage.a \
97 xbmc
/video
/dialogs
/videodialogs.a \
98 xbmc
/video
/jobs
/video-jobs.a \
99 xbmc
/video
/videosync
/videosync.a \
101 xbmc
/video
/windows
/videowindows.a \
103 xbmc
/windowing
/windowing.a \
104 xbmc
/windows
/windows.a \
107 NWAOBJSXBMC
= xbmc
/threads
/threads.a \
108 xbmc
/commons
/commons.a
111 ifeq (@USE_WEB_SERVER@
,1)
112 DIRECTORY_ARCHIVES
+= xbmc
/interfaces
/legacy
/wsgi
/legacy-wsgi.a
113 DIRECTORY_ARCHIVES
+= xbmc
/network
/httprequesthandler
/httprequesthandlers.a
114 DIRECTORY_ARCHIVES
+= xbmc
/network
/httprequesthandler
/python
/httprequesthandlers-python.a
117 ifeq (@USE_OPENGL@
,1)
118 DIRECTORY_ARCHIVES
+= xbmc
/rendering
/gl
/rendering_gl.a
121 ifeq (@USE_OPENGLES@
,1)
122 DIRECTORY_ARCHIVES
+= xbmc
/rendering
/gles
/rendering_gles.a
123 DIRECTORY_ARCHIVES
+= xbmc
/windowing
/egl
/windowing_egl.a
124 DIRECTORY_ARCHIVES
+= xbmc
/visualizations
/EGLHelpers
/eglhelpers.a
128 DIRECTORY_ARCHIVES
+= lib
/libUPnP
/libupnp.a \
129 xbmc
/network
/upnp
/upnp.a
132 ifeq (@USE_MDNSEMBEDDED@
,1)
133 DIRECTORY_ARCHIVES
+= xbmc
/network
/mdns
/mdns.a
136 INSTALL_FILTER
= .
*visualization\.dxspectrum.
*
137 INSTALL_FILTER
+= .
*visualization\.milkdrop.
*
139 ifeq ($(findstring osx
,@ARCH@
),osx
)
140 DIRECTORY_ARCHIVES
+= xbmc
/osx
/osx.a
141 DIRECTORY_ARCHIVES
+= xbmc
/network
/osx
/network.a
142 DIRECTORY_ARCHIVES
+= xbmc
/network
/linux
/network_linux.a
143 DIRECTORY_ARCHIVES
+= xbmc
/powermanagement
/osx
/powermanagement.a
144 DIRECTORY_ARCHIVES
+= xbmc
/storage
/osx
/storage.a
145 DIRECTORY_ARCHIVES
+= xbmc
/windowing
/osx
/windowing_osx.a
146 INSTALL_FILTER
+= .
*repository\.pvr-android\.xbmc\.org.
*
147 INSTALL_FILTER
+= .
*repository\.pvr-ios\.xbmc\.org.
*
148 INSTALL_FILTER
+= .
*repository\.pvr-win32\.xbmc\.org.
*
150 INSTALL_FILTER
+= .
*repository\.pvr-ios\.xbmc\.org.
*
151 INSTALL_FILTER
+= .
*repository\.pvr-win32\.xbmc\.org.
*
152 INSTALL_FILTER
+= .
*repository\.pvr-osx.
*\.xbmc\.org.
*
153 ifeq (@USE_ANDROID@
,1)
154 DIRECTORY_ARCHIVES
+= xbmc
/input
/linux
/input_linux.a
155 DIRECTORY_ARCHIVES
+= xbmc
/input
/touch
/input_touch.a
156 DIRECTORY_ARCHIVES
+= xbmc
/input
/touch
/generic
/input_touch_generic.a
157 DIRECTORY_ARCHIVES
+= xbmc
/network
/linux
/network_linux.a
158 DIRECTORY_ARCHIVES
+= xbmc
/powermanagement
/android
/powermanagement_android.a
159 DIRECTORY_ARCHIVES
+= xbmc
/storage
/android
/storage_android.a
160 DIRECTORY_ARCHIVES
+= xbmc
/windowing
/X11
/windowing_X11.a
162 DIRECTORY_ARCHIVES
+= xbmc
/input
/linux
/input_linux.a
163 DIRECTORY_ARCHIVES
+= xbmc
/network
/linux
/network_linux.a
164 DIRECTORY_ARCHIVES
+= xbmc
/powermanagement
/linux
/powermanagement_linux.a
165 DIRECTORY_ARCHIVES
+= xbmc
/storage
/linux
/storage_linux.a
166 DIRECTORY_ARCHIVES
+= xbmc
/windowing
/X11
/windowing_X11.a
167 INSTALL_FILTER
+= .
*repository\.pvr-android\.xbmc\.org.
*
171 ifeq ($(findstring freebsd
,@ARCH@
),freebsd
)
172 DIRECTORY_ARCHIVES
+= xbmc
/freebsd
/freebsd.a
175 ifeq (@HAVE_XBMC_NONFREE@
,1)
176 DIRECTORY_ARCHIVES
+= lib
/UnrarXLib
/UnrarXLib.a
179 ifeq (@USE_ANDROID@
,1)
180 DIRECTORY_ARCHIVES
+= xbmc
/android
/loader
/AndroidDyload.a
181 DIRECTORY_ARCHIVES
+= xbmc
/windowing
/android
/windowing_android.a
182 DIRECTORY_ARCHIVES
+= xbmc
/android
/bionic_supplement
/bionic_supplement.a
183 DIRECTORY_ARCHIVES
+= xbmc
/android
/jni
/jni.a
186 ifeq (@USE_OMXPLAYER@
,1)
187 DIRECTORY_ARCHIVES
+= xbmc
/cores
/omxplayer
/omxplayer.a
197 ifneq (@DISABLE_RSXS@
,1)
198 SS_DIRS
+= xbmc
/screensavers
/rsxs-0.9
/xbmc
200 INSTALL_FILTER
+= .
*screensaver\.rsxs.
*
203 ifneq (@DISABLE_SPECTRUM@
,1)
204 VIS_DIRS
+= xbmc
/visualizations
/OpenGLSpectrum
206 INSTALL_FILTER
+= .
*visualization\.glspectrum.
*
209 ifneq (@DISABLE_WAVEFORM@
,1)
210 VIS_DIRS
+= xbmc
/visualizations
/WaveForm
212 INSTALL_FILTER
+= .
*visualization\.waveform.
*
215 ifneq (@DISABLE_FISHBMC@
,1)
216 VIS_DIRS
+= xbmc
/visualizations
/fishBMC
218 INSTALL_FILTER
+= .
*visualization\.fishbmc.
*
221 ifneq (@DISABLE_PROJECTM@
,1)
222 VIS_DIRS
+= xbmc
/visualizations
/XBMCProjectM
224 INSTALL_FILTER
+= .
*visualization\.projectm.
*
227 ifneq (@DISABLE_GOOM@
,1)
228 VIS_DIRS
+=xbmc
/visualizations
/Goom
230 INSTALL_FILTER
+= .
*visualization\.goom.
*
234 lib
/addons
/library.xbmc.addon \
235 lib
/addons
/library.kodi.adsp \
236 lib
/addons
/library.xbmc.codec \
237 lib
/addons
/library.xbmc.pvr \
238 lib
/addons
/library.kodi.guilib \
240 CONFLUENCE_MEDIA
=addons
/skin.confluence
/media
241 SKIN_DIRS
=$(CONFLUENCE_MEDIA
)
243 ifeq (@USE_TOUCH_SKIN@
,1)
244 TOUCH_SKIN_MEDIA
=addons
/skin.re-touched
/media
245 SKIN_DIRS
+=$(TOUCH_SKIN_MEDIA
)
252 INCLUDES
=$(sort @INCLUDES@
)
254 CLEAN_FILES
=@APP_NAME_LC@.bin @APP_NAME_LC@
-xrandr lib@APP_NAME_LC@.so
256 DISTCLEAN_FILES
=config.h config.log config.status tools
/Linux
/@APP_NAME_LC@.sh \
257 tools
/Linux
/@APP_NAME_LC@
-standalone.sh autom4te.cache config.h.in~ \
258 system
/libcpluff-@ARCH@.so
260 ifeq (@USE_LIBXBMC@
,1)
261 FINAL_TARGETS
+=lib@APP_NAME_LC@.so
262 ifeq (@USE_ANDROID@
,1)
266 FINAL_TARGETS
=@APP_NAME_LC@.bin skins @APP_NAME_LC@
-xrandr
268 FINAL_TARGETS
+=Makefile externals
270 GTEST_DIR
= lib
/gtest
271 GTEST_INCLUDES
= -I
$(GTEST_DIR
)/include
272 GTEST_LIBS
= $(GTEST_DIR
)/lib
/.libs
/libgtest.a
274 CHECK_DIRS
= xbmc
/addons
/test \
275 xbmc
/filesystem
/test \
276 xbmc
/music
/tags/test \
281 xbmc
/interfaces
/python
/test \
282 xbmc
/cores
/AudioEngine
/Sinks
/test \
284 CHECK_LIBS
= xbmc
/addons
/test/addonsTest.a \
285 xbmc
/filesystem
/test/filesystemTest.a \
286 xbmc
/music
/tags/test/tagsTest.a \
287 xbmc
/network
/test/networkTest.a \
288 xbmc
/utils
/test/utilsTest.a \
289 xbmc
/video
/test/videoTest.a \
290 xbmc
/threads
/test/threadTest.a \
291 xbmc
/interfaces
/python
/test/pythonSwigTest.a \
292 xbmc
/cores
/AudioEngine
/Sinks
/test/AESinkTest.a \
293 xbmc
/test/xbmc-test.a
295 ifeq (@USE_WAYLAND@
,1)
296 CHECK_LIBS
+= xbmc
/windowing
/tests
/wayland
/test_wayland.a
298 ifeq (@USE_WAYLAND_TEST_EXTENSION@
,1)
299 WAYLAND_TEST_MODULE
= xbmc
/windowing
/tests
/wayland
/xbmc-wayland-test-extension.so
300 $(WAYLAND_TEST_MODULE
): force
301 $(MAKE
) -C
$(@D
) $(@F
)
302 CHECK_EXTENSIONS
= $(WAYLAND_TEST_MODULE
)
303 CHECK_LIBADD
=@WAYLAND_TEST_LIBS@
310 $(MAKE
) -C xbmc
/linux
/sse4
313 CHECK_PROGRAMS
= @APP_NAME_LC@
-test
315 CLEAN_FILES
+= $(CHECK_PROGRAMS
) $(CHECK_EXTENSIONS
)
317 all : $(FINAL_TARGETS
)
318 @echo
'-----------------------'
319 @echo
'@APP_NAME@ built successfully'
320 @echo
'-----------------------'
322 include Makefile.
include
324 .PHONY
: dllloader exports visualizations screensavers eventclients \
325 dvdpcodecs dvdpextcodecs imagelib codecs externals
force skins libaddon
check \
326 testframework testsuite
328 # hack targets to keep build system up to date
329 Makefile
: config.status
$(addsuffix .in
, $(AUTOGENERATED_MAKEFILES
))
330 @echo
"Regenerating Makefiles..."
331 @.
/config.status
&> /dev
/null
334 config.status
: configure
337 ifeq (@USE_TEXTUREPACKER@
,1)
338 skins
: @TEXTUREPACKER@
339 $(MAKE
) -C
$(CONFLUENCE_MEDIA
)
340 ifeq (@USE_TOUCH_SKIN@
,1)
341 $(MAKE
) -C
$(TOUCH_SKIN_MEDIA
)
347 # Setup some dependencies for subdir makes
348 xbmc
/cores
/paplayer
/paplayer.a
:
349 $(DVDPLAYER_ARCHIVES
) : dvdpcodecs
351 lib
/cpluff
/libcpluff
/.libs
/libcpluff.a
: force
352 $(MAKE
) -C lib
/cpluff
/libcpluff
353 system
/libcpluff-@ARCH@.so
: lib
/cpluff
/libcpluff
/.libs
/libcpluff.a exports
354 ifeq ($(findstring osx
,@ARCH@
), osx
)
355 ifeq (@ARCH@
, arm-osx
)
356 $(CXX
) $(LDFLAGS
) -all_load
-bundle
-flat_namespace
-undefined dynamic_lookup
-read_only_relocs suppress
-o
$@
$<
358 $(CXX
) $(LDFLAGS
) -all_load
-bundle
-flat_namespace
-undefined dynamic_lookup
-lexpat
$(BUNDLE1_O
) -o
$@
$<
361 $(CXX
) $(LDFLAGS
) -shared
-o
$@
-Wl
,--whole-archive
$< \
362 -Wl
,--no-whole-archive \
363 `cat xbmc/cores/DllLoader/exports/wrapper.def` xbmc
/cores
/DllLoader
/exports
/wrapper.o
-lexpat
366 exports
: xbmc
/cores
/DllLoader
/exports
/exports.a xbmc
/cores
/DllLoader
/exports
/util
/exports_utils.a
367 $(MAKE
) -C xbmc
/cores
/DllLoader
/exports wrapper.def
368 dllloader
: exports xbmc
/cores
/DllLoader
/dllloader.a
370 ifeq (@USE_OPENGLES@
,1)
371 EGLHELPERS
=xbmc
/visualizations
/EGLHelpers
/eglhelpers.a
374 $(VIS_DIRS
): force exports
$(EGLHELPERS
)
377 $(SS_DIRS
): force exports
380 visualizations
: $(VIS_DIRS
)
382 screensavers
: $(SS_DIRS
)
385 $(MAKE
) -C lib
/addons
/library.xbmc.addon
386 $(MAKE
) -C lib
/addons
/library.kodi.adsp
387 $(MAKE
) -C lib
/addons
/library.xbmc.codec
388 $(MAKE
) -C lib
/addons
/library.kodi.guilib
389 $(MAKE
) -C lib
/addons
/library.xbmc.pvr
390 dvdpcodecs
: dllloader
391 $(MAKE
) -C lib
/libdvd
393 ifeq (@USE_LIBSTAGEFRIGHT@
,1)
394 dvdpextcodecs
: lib@APP_NAME_LC@.so
395 $(MAKE
) -C xbmc
/cores
/dvdplayer
/DVDCodecs
/Video
/libstagefrightICS
401 ifeq ($(findstring osx
,@ARCH@
), osx
)
402 ifneq ($(findstring arm
,@ARCH@
), arm
)
403 $(MAKE
) -C tools
/EventClients
/Clients
/OSXRemote
406 $(MAKE
) -C tools
/EventClients
409 $(MAKE
) -C lib
/libexif
412 $(MAKE
) -C lib
/cximage-6.0
414 codecs
: dvdpcodecs dvdpextcodecs
416 libs
: $(LIBSSE4
) imagelib libexif system
/libcpluff-@ARCH@.so
418 externals
: codecs libs visualizations screensavers libaddon
421 codecs libs visualizations screensavers eventclients skins libaddon
425 xbmc
/network
/network.a \
426 xbmc
/video
/windows
/videowindows.a \
428 xbmc
/cores
/DllLoader
/exports
/util
/exports_utils.a \
429 xbmc
/cores
/DllLoader
/exports
/exports.a \
430 xbmc
/settings
/settings.a \
432 xbmc
/pvr
/addons
/pvraddons.a \
433 xbmc
/pvr
/windows
/pvrwindows.a \
434 xbmc
/guilib
/guilib.a
# must be dynamic to avoid linker errors
436 ifeq ($(findstring freebsd
,@ARCH@
),freebsd
)
437 DYNOBJSXBMC
+= xbmc
/freebsd
/freebsd.a
440 ifeq (@USE_STATIC_FFMPEG@
,1)
441 FFMPEGOBJS
= @FFMPEG_LIBDIR@
/libavcodec.a \
442 @FFMPEG_LIBDIR@
/libavfilter.a \
443 @FFMPEG_LIBDIR@
/libswresample.a \
444 @FFMPEG_LIBDIR@
/libavformat.a \
445 @FFMPEG_LIBDIR@
/libavutil.a \
446 @FFMPEG_LIBDIR@
/libpostproc.a \
447 @FFMPEG_LIBDIR@
/libswscale.a
448 DYNOBJSXBMC
+= $(FFMPEGOBJS
)
449 LIBS
+= @GNUTLS_ALL_LIBS@ @VORBISENC_ALL_LIBS@
451 $(FFMPEGOBJS
): dvdpcodecs
454 ifeq (@USE_ANDROID@
,1)
455 MAINOBJS
+=xbmc
/android
/activity
/activity.a
457 MAINOBJS
+=xbmc
/main
/main.a
461 OBJSXBMC
=$(DIRECTORY_ARCHIVES
)
462 OBJSXBMC
:=$(filter-out $(DYNOBJSXBMC
), $(OBJSXBMC
))
464 BIN_DIRS
= $(dir $(DIRECTORY_ARCHIVES
)) $(dir $(NWAOBJSXBMC
)) $(dir $(MAINOBJS
))
466 DIRS
= $(BIN_DIRS
) $(EC_DIRS
) $(DVDPCODECS_DIRS
) \
467 $(LIB_DIRS
) $(SS_DIRS
) $(VIS_DIRS
) $(LIBADDON_DIRS
) $(SKIN_DIRS
) xbmc
/main
469 $(NWAOBJSXBMC
) $(DIRECTORY_ARCHIVES
) $(MAINOBJS
): force
470 @
$(MAKE
) $(if
$(V
),,-s
) -C
$(@D
)
472 # Binary Addon bindings
473 include xbmc
/addons
/addon-bindings.mk
475 lib@APP_NAME_LC@.so
: $(OBJSXBMC
) $(DYNOBJSXBMC
) $(NWAOBJSXBMC
) $(MAINOBJS
)
476 ifeq ($(findstring osx
,@ARCH@
), osx
)
477 $(SILENT_LD
) $(CXX
) $(LDFLAGS
) -bundle
-o
$@
$(MAINOBJS
) -Wl
,-all_load
,-ObjC
$(MAINOBJS
) $(DYNOBJSXBMC
) $(NWAOBJSXBMC
) $(OBJSXBMC
) $(LIBS
) -read_only_relocs suppress
479 $(SILENT_LD
) $(CXX
) $(CXXFLAGS
) $(LDFLAGS
) -shared
-o
$@
-Wl
,--whole-archive
$(MAINOBJS
) -Wl
,--no-whole-archive
,--start-group
$(MAINOBJS
) $(DYNOBJSXBMC
) $(OBJSXBMC
) -Wl
,--end-group
-Wl
,--no-undefined
$(NWAOBJSXBMC
) $(LIBS
) -Wl
,-Bsymbolic
482 @APP_NAME_LC@.bin
: $(OBJSXBMC
) $(DYNOBJSXBMC
) $(NWAOBJSXBMC
) $(MAINOBJS
)
484 ifeq ($(findstring osx
,@ARCH@
), osx
)
485 $(SILENT_LD
) $(CXX
) $(LDFLAGS
) -o @APP_NAME_LC@.bin
$(MAINOBJS
) -Wl
,-all_load
,-ObjC
$(MAINOBJS
) $(DYNOBJSXBMC
) $(NWAOBJSXBMC
) $(OBJSXBMC
) $(LIBS
) -rdynamic
487 $(SILENT_LD
) $(CXX
) $(CXXFLAGS
) $(LDFLAGS
) -o @APP_NAME_LC@.bin
$(MAINOBJS
) -Wl
,--start-group
$(MAINOBJS
) $(DYNOBJSXBMC
) $(OBJSXBMC
) -Wl
,--end-group
$(NWAOBJSXBMC
) $(LIBS
) -rdynamic
490 @APP_NAME_LC@
-xrandr
: xbmc-xrandr.c
492 # xbmc-xrandr.c gets picked up by the default make rules
493 @echo
"excluding @APP_NAME_LC@-xrandr"
495 $(SILENT_LD
) $(CC
) $(CFLAGS
) $(LDFLAGS
) -o @APP_NAME_LC@
-xrandr xbmc-xrandr.c
-lXrandr
-lX11
-lm
499 install-bin
: @APP_NAME_LC@.bin
# developement convenience target
500 sudo
install -d
$(DESTDIR
)$(libdir)
501 sudo
install @APP_NAME_LC@.bin
$(DESTDIR
)$(libdir)/@APP_NAME_LC@
503 ifeq ($(findstring osx
,@ARCH@
), osx
)
504 # TODO: add osx install
506 install: install-binaries install-arch install-datas
508 apk obb apk-unsigned apk-obb apk-obb-unsigned apk-noobb
: install
509 make
-C tools
/android
/packaging
$@
512 make
-C tools
/android
/packaging
$@
514 install-binaries
: install-scripts
515 @echo
"Copying @APP_NAME_LC@ binary to $(DESTDIR)$(libdir)/@APP_NAME_LC@/"
516 @
install -d
$(DESTDIR
)$(libdir)/@APP_NAME_LC@
517 @cd
$(DESTDIR
)$(libdir); [ -L xbmc
] ||
[ -d xbmc
] || ln
-s @APP_NAME_LC@ xbmc
519 @
install @APP_NAME_LC@
-xrandr
$(DESTDIR
)$(libdir)/@APP_NAME_LC@
/@APP_NAME_LC@
-xrandr
521 ifeq (@USE_LIBXBMC@
,1)
522 @
install lib@APP_NAME_LC@.so
$(DESTDIR
)$(libdir)/@APP_NAME_LC@
/lib@APP_NAME_LC@.so
524 @
install @APP_NAME_LC@.bin
$(DESTDIR
)$(libdir)/@APP_NAME_LC@
/@APP_NAME_LC@.bin
525 @echo
"You can run @APP_NAME_LC@ with the command '@APP_NAME_LC@'"
530 @
# Arch dependent files
531 ifeq ($(findstring freebsd
,@ARCH@
), freebsd
)
532 @find
-E system addons
-type f
-not
-iregex
".*\.git.*" \
533 -iregex
".*@ARCH@.*|.*\.vis|.*\.xbs" \
534 -exec sh
-c
"install -d \"$(DESTDIR)$(libdir)/@APP_NAME_LC@/\`dirname '{}'\`\"" \
; \
536 -exec
install "{}" $(DESTDIR
)$(libdir)/@APP_NAME_LC@
/"{}" \
; \
537 -exec printf
" -- %-75.75s\r" "{}" \
;
539 ifeq ($(findstring Darwin
,$(shell uname
-s
)),Darwin
)
540 @find
-E system addons
-type f
-not
-iregex
".*\.git.*" \
541 -iregex
".*@ARCH@.*|.*\.vis|.*\.xbs" \
542 -exec sh
-c
"install -d \"$(DESTDIR)$(libdir)/@APP_NAME_LC@/\`dirname '{}'\`\"" \
; \
544 -exec
install "{}" $(DESTDIR
)$(libdir)/xbmc
/"{}" \
; \
545 -exec printf
" -- %-75.75s\r" "{}" \
;
547 @find system addons
-regextype posix-extended
-type f
-not
-iregex
".*\.git.*" -iregex
".*\.so|.*\.so\.[0-9].*|.*\.vis|.*\.xbs" -exec
install -D
"{}" $(DESTDIR
)$(libdir)/@APP_NAME_LC@
/"{}" \
; -printf
" -- %-75.75f\r"
548 @find
-L addons
-regextype posix-extended
-type f
-not
-iregex
".*\.git.*" -iregex
".*\.so|.*\.so\.[0-9].*" -exec cp
-d
"{}" $(DESTDIR
)$(libdir)/@APP_NAME_LC@
/"{}" \
; -printf
" -- %-75.75f\r"
553 @
install -d
$(DESTDIR
)$(bindir)
554 @
install tools
/Linux
/@APP_NAME_LC@.sh
$(DESTDIR
)$(bindir)/@APP_NAME_LC@
555 @cd
$(DESTDIR
)$(bindir); [ -L xbmc
] ||
[ -f xbmc
] || ln
-s @APP_NAME_LC@ xbmc
556 @
install tools
/Linux
/@APP_NAME_LC@
-standalone.sh
$(DESTDIR
)$(bindir)/@APP_NAME_LC@
-standalone
557 @cd
$(DESTDIR
)$(bindir); [ -L xbmc-standalone
] ||
[ -f xbmc-standalone
] || ln
-s @APP_NAME_LC@
-standalone xbmc-standalone
558 @
install -d
$(DESTDIR
)$(datarootdir
)/@APP_NAME_LC@
559 @cd
$(DESTDIR
)$(datarootdir
); [ -L xbmc
] ||
[ -d xbmc
] || ln
-s @APP_NAME_LC@ xbmc
560 @
install -d
$(DESTDIR
)$(datarootdir
)/xsessions
561 @
install -m
0644 tools
/Linux
/@APP_NAME_LC@
-xsession.desktop
$(DESTDIR
)$(datarootdir
)/xsessions
/@APP_NAME_LC@.desktop
562 @cd
$(DESTDIR
)$(datarootdir
)/xsessions
; [ -L xbmc.desktop
] ||
[ -f xbmc.desktop
] || ln
-s @APP_NAME_LC@.desktop xbmc.desktop
564 install-datas
: install-scripts
565 @echo
"Copying support and legal files..."
566 @
install -d
$(DESTDIR
)$(docdir
)
567 @for FILE in
`ls LICENSE.GPL *.txt`; do \
568 install -m
0644 "$$FILE" "$(DESTDIR)$(docdir)/$$FILE"; done
569 @
install -m
0644 "docs/README.linux" "$(DESTDIR)$(docdir)/README.linux"
571 @echo
"Copying system files to $(DESTDIR)$(datarootdir)/@APP_NAME_LC@"
572 @
install -d
$(DESTDIR
)$(datarootdir
)/@APP_NAME_LC@
573 @
# Arch independent files
574 ifeq ($(findstring bsd
,@ARCH@
), bsd
)
575 @find
-E addons media userdata system
-type f \
576 -not
-iregex
".*-@ARCH@.*|.*\.vis|.*\.xbs|.*\.git.*|.*\.so|.*\.so\.[0-9].*|.*\.dll|$(subst ${space},|,$(INSTALL_FILTER))" \
577 -exec sh
-c
"install -d \"$(DESTDIR)$(datarootdir)/@APP_NAME_LC@/\`dirname '{}'\`\"" \
; \
579 -exec
install -m
0644 "{}" $(DESTDIR
)$(datarootdir
)/@APP_NAME_LC@
/"{}" \
; \
580 -exec printf
" -- %-75.75s\r" "{}" \
;
582 ifeq ($(findstring Darwin
,$(shell uname
-s
)),Darwin
)
583 @find
-E addons media userdata system
-type f \
584 -not
-iregex
".*-@ARCH@.*|.*\.vis|.*\.xbs|.*\.git.*|.*\.so|.*\.so\.[0-9].*|.*\.dll|$(subst ${space},|,$(INSTALL_FILTER))" \
585 -exec sh
-c
"install -d \"$(DESTDIR)$(datarootdir)/xbmc/\`dirname '{}'\`\"" \
; \
587 -exec
install -m
0644 "{}" $(DESTDIR
)$(datarootdir
)/xbmc
/"{}" \
; \
588 -exec printf
" -- %-75.75s\r" "{}" \
;
590 @find addons media userdata system
-regextype posix-extended
-type f
-not
-iregex
".*-@ARCH@.*|.*\.vis|.*\.xbs|.*\.git.*|.*\.so|.*\.so\.[0-9].*|.*\.dll|$(subst ${space},|,$(INSTALL_FILTER))" -exec
install -D
-m
0644 "{}" $(DESTDIR
)$(datarootdir
)/@APP_NAME_LC@
/"{}" \
; -printf
" -- %-75.75f\r"
594 @
install -d
$(DESTDIR
)$(datarootdir
)/applications
595 @
install -m
0644 tools
/Linux
/@APP_NAME_LC@.desktop
$(DESTDIR
)$(datarootdir
)/applications
/@APP_NAME_LC@.desktop
597 @
install -d
$(DESTDIR
)$(datadir)/icons
/hicolor
/16x16
/apps
598 @
install -m
0644 tools
/Linux
/packaging
/media
/icon16x16.png
$(DESTDIR
)$(datadir)/icons
/hicolor
/16x16
/apps
/@APP_NAME_LC@.png
599 @
install -d
$(DESTDIR
)$(datadir)/icons
/hicolor
/22x22
/apps
600 @
install -m
0644 tools
/Linux
/packaging
/media
/icon22x22.png
$(DESTDIR
)$(datadir)/icons
/hicolor
/22x22
/apps
/@APP_NAME_LC@.png
601 @
install -d
$(DESTDIR
)$(datadir)/icons
/hicolor
/24x24
/apps
602 @
install -m
0644 tools
/Linux
/packaging
/media
/icon24x24.png
$(DESTDIR
)$(datadir)/icons
/hicolor
/24x24
/apps
/@APP_NAME_LC@.png
603 @
install -d
$(DESTDIR
)$(datadir)/icons
/hicolor
/32x32
/apps
604 @
install -m
0644 tools
/Linux
/packaging
/media
/icon32x32.png
$(DESTDIR
)$(datadir)/icons
/hicolor
/32x32
/apps
/@APP_NAME_LC@.png
605 @
install -d
$(DESTDIR
)$(datadir)/icons
/hicolor
/48x48
/apps
606 @
install -m
0644 tools
/Linux
/packaging
/media
/icon48x48.png
$(DESTDIR
)$(datadir)/icons
/hicolor
/48x48
/apps
/@APP_NAME_LC@.png
607 @
install -d
$(DESTDIR
)$(datadir)/icons
/hicolor
/64x64
/apps
608 @
install -m
0644 tools
/Linux
/packaging
/media
/icon64x64.png
$(DESTDIR
)$(datadir)/icons
/hicolor
/64x64
/apps
/@APP_NAME_LC@.png
609 @
install -d
$(DESTDIR
)$(datadir)/icons
/hicolor
/128x128
/apps
610 @
install -m
0644 tools
/Linux
/packaging
/media
/icon128x128.png
$(DESTDIR
)$(datadir)/icons
/hicolor
/128x128
/apps
/@APP_NAME_LC@.png
611 @
install -d
$(DESTDIR
)$(datadir)/icons
/hicolor
/256x256
/apps
612 @
install -m
0644 tools
/Linux
/packaging
/media
/icon256x256.png
$(DESTDIR
)$(datadir)/icons
/hicolor
/256x256
/apps
/@APP_NAME_LC@.png
614 @
test -z
"$(DESTDIR)" && gtk-update-icon-cache
-f
-q
-t
$(datadir)/icons
/hicolor ||
:
616 @echo
"Copying bindings to $(DESTDIR)$(includedir)/@APP_NAME_LC@"
617 @
install -d
$(DESTDIR
)$(includedir)/@APP_NAME_LC@
618 @for f in
$(BINDINGS
); do \
619 install -m
0644 $$f $(DESTDIR
)$(includedir)/@APP_NAME_LC@
; \
621 @for f in project
/cmake
/*.cmake
; do \
622 install -m
0644 $$f $(DESTDIR
)$(libdir)/@APP_NAME_LC@
; \
624 @for f in project
/cmake
/scripts
/common
/*.cmake
; do \
625 install -m
0644 $$f $(DESTDIR
)$(libdir)/@APP_NAME_LC@
; \
627 @cd
$(DESTDIR
)$(includedir); [ -L xbmc
] ||
[ -d xbmc
] || ln
-s @APP_NAME_LC@ xbmc
630 @echo
"Removing @APP_NAME@..."
631 @
rm -rf
$(DESTDIR
)$(libdir)/@APP_NAME_LC@
632 @
rm -rf
$(DESTDIR
)$(datarootdir
)/@APP_NAME_LC@
$(DESTDIR
)$(bindir)/@APP_NAME_LC@
633 @
rm -rf
$(DESTDIR
)$(bindir)/@APP_NAME_LC@
-standalone
634 @
rm -rf
$(DESTDIR
)$(datarootdir
)/xsessions
/@APP_NAME_LC@.desktop
635 @
rm -rf
$(libdir)/lib@APP_NAME_LC@_
*
636 @
rm -rf
$(prefix)/include/@APP_NAME_LC@
639 clean-@APP_NAME_LC@.bin
:
640 rm -f @APP_NAME_LC@.bin
641 for d in
$(BIN_DIRS
); do if
test -f
$$d/Makefile
; then
$(MAKE
) -C
$$d clean; fi
; done
643 for d in
$(EC_DIRS
); do if
test -f
$$d/Makefile
; then
$(MAKE
) -C
$$d clean; fi
; done
645 for d in
$(DVDPCODECS_DIRS
); do if
test -f
$$d/Makefile
; then
$(MAKE
) -C
$$d clean; fi
; done
647 for d in
$(LIB_DIRS
); do if
test -f
$$d/Makefile
; then
$(MAKE
) -C
$$d clean; fi
; done
649 for d in
$(SS_DIRS
); do if
test -f
$$d/Makefile
; then
$(MAKE
) -C
$$d clean; fi
; done
650 clean-visualisations
:
651 for d in
$(VIS_DIRS
); do if
test -f
$$d/Makefile
; then
$(MAKE
) -C
$$d clean; fi
; done
653 for d in
$(LIBADDON_DIRS
); do if
test -f
$$d/Makefile
; then
$(MAKE
) -C
$$d clean; fi
; done
655 clean-codecs
: clean-dvdpcodecs
657 clean-externals
: clean-codecs clean-eventclients clean-libs \
658 clean-screensavers clean-visualisations clean-libaddons
660 ifeq (1,@GTEST_CONFIGURED@
)
662 for check_program in
$(CHECK_PROGRAMS
); do
$(CURDIR
)/$$check_program; done
664 testsuite
: $(CHECK_EXTENSIONS
) $(CHECK_PROGRAMS
)
666 testframework
: $(GTEST_LIBS
)
668 $(GTEST_LIBS
): $(GTEST_DIR
)/Makefile
670 $(GTEST_DIR
)/Makefile
: force
671 $(MAKE
) CXXFLAGS
="$(CXXFLAGS) -DGTEST_USE_OWN_TR1_TUPLE=1" -C
$(GTEST_DIR
)
674 @
$(MAKE
) CXXFLAGS
="$(CXXFLAGS) -DGTEST_USE_OWN_TR1_TUPLE=1" $(if
$(V
),,-s
) -C
$(@D
)
676 @APP_NAME_LC@
-test: $(CHECK_LIBS
) $(OBJSXBMC
) $(DYNOBJSXBMC
) $(NWAOBJSXBMC
) $(GTEST_LIBS
)
677 ifeq ($(findstring osx
,@ARCH@
), osx
)
678 $(SILENT_LD
) $(CXX
) $(CXXFLAGS
) $(LDFLAGS
) $(GTEST_INCLUDES
) -o
$@
-Wl
,-all_load
,-ObjC
$(DYNOBJSXBMC
) $(NWAOBJSXBMC
) $(OBJSXBMC
) $(GTEST_LIBS
) $(CHECK_LIBS
) $(LIBS
) $(CHECK_LIBADD
) -rdynamic
680 $(SILENT_LD
) $(CXX
) $(CXXFLAGS
) $(LDFLAGS
) $(GTEST_INCLUDES
) -o
$@
-Wl
,--whole-archive
$(DYNOBJSXBMC
) $(OBJSXBMC
) $(GTEST_LIBS
) $(CHECK_LIBS
) -Wl
,--no-whole-archive
$(NWAOBJSXBMC
) $(LIBS
) $(CHECK_LIBADD
) -rdynamic
683 # Give a message that the framework is not configured, but don't fail.
684 check testsuite testframework
:
685 @echo
"Google Test Framework not configured, skipping testsuite check."