Advertisement
Guest User

Untitled

a guest
Jan 2nd, 2013
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.37 KB | None | 0 0
  1. include bootstrap.mk
  2.  
  3. AUTOGENERATED_MAKEFILES=Makefile Makefile.include addons/skin.confluence/media/Makefile xbmc/Makefile xbmc/cdrip/Makefile xbmc/cores/Makefile xbmc/cores/VideoRenderers/Makefile xbmc/cores/dvdplayer/Makefile lib/Makefile lib/libdvd/Makefile xbmc/cores/DllLoader/Makefile xbmc/cores/DllLoader/exports/Makefile xbmc/cores/dvdplayer/DVDCodecs/Makefile xbmc/cores/dvdplayer/DVDCodecs/Audio/Makefile xbmc/cores/dvdplayer/DVDCodecs/Overlay/Makefile xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile xbmc/cores/dvdplayer/DVDDemuxers/Makefile xbmc/cores/dvdplayer/DVDSubtitles/Makefile xbmc/cores/AudioEngine/Makefile xbmc/cores/paplayer/Makefile xbmc/cores/amlplayer/Makefile xbmc/cores/omxplayer/Makefile lib/timidity/Makefile lib/xbadpcm/Makefile lib/asap/Makefile lib/nosefart/Makefile lib/libsidplay2/Makefile lib/vgmstream/Makefile lib/snesapu/SNES/SNESAPU/Makefile lib/stsound/StSoundLibrary/Makefile xbmc/cores/playercorefactory/Makefile xbmc/music/karaoke/Makefile xbmc/osx/Makefile xbmc/guilib/Makefile xbmc/interfaces/Makefile xbmc/network/Makefile xbmc/network/upnp/Makefile lib/libRTV/Makefile lib/libexif/Makefile lib/libXDAAP/Makefile lib/cmyth/Makefile lib/libhdhomerun/Makefile lib/libsquish/Makefile lib/cximage-6.0/Makefile lib/addons/script.module.pil/Makefile lib/libUPnP/Makefile xbmc/DllPaths_generated.h xbmc/DllPaths_generated_android.h xbmc/freebsd/Makefile xbmc/linux/Makefile xbmc/filesystem/Makefile xbmc/screensavers/rsxs-0.9/xbmc/Makefile xbmc/visualizations/XBMCProjectM/Makefile xbmc/visualizations/Goom/Makefile xbmc/visualizations/OpenGLSpectrum/Makefile xbmc/visualizations/WaveForm/Makefile lib/addons/library.xbmc.addon/Makefile lib/addons/library.xbmc.gui/Makefile lib/addons/library.xbmc.pvr/Makefile xbmc/visualizations/EGLHelpers/Makefile tools/Linux/xbmc.sh tools/Linux/xbmc-standalone.sh tools/TexturePacker/Makefile tools/EventClients/Clients/OSXRemote/Makefile xbmc/peripherals/bus/Makefile xbmc/peripherals/devices/Makefile xbmc/android/activity/Makefile xbmc/android/loader/Makefile xbmc/main/Makefile xbmc/interfaces/python/Makefile xbmc/interfaces/python/test/Makefile .dummy
  4.  
  5. EC_DIRS= \
  6. tools/EventClients
  7.  
  8. XBMCTEX_DIRS= \
  9. tools/TexturePacker
  10.  
  11. DVDPCODECS_DIRS= \
  12. lib \
  13. lib/libdvd
  14.  
  15. DVDPLAYER_ARCHIVES=xbmc/cores/dvdplayer/DVDPlayer.a \
  16. xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a \
  17. xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a \
  18. xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a \
  19. xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a \
  20. xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a \
  21. xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a \
  22. xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a
  23.  
  24. DIRECTORY_ARCHIVES=$(DVDPLAYER_ARCHIVES) \
  25. lib/SlingboxLib/SlingboxLib.a \
  26. lib/libRTV/librtv.a \
  27. lib/libXDAAP/libxdaap.a \
  28. lib/libhts/libhts.a \
  29. lib/libsquish/libsquish.a \
  30. lib/xbmc-dll-symbols/dll-symbols.a \
  31. xbmc/addons/addons.a \
  32. xbmc/cdrip/cdrip.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 \
  40. xbmc/cores/cores.a \
  41. xbmc/cores/paplayer/paplayer.a \
  42. xbmc/cores/playercorefactory/playercorefactory.a \
  43. xbmc/dbwrappers/dbwrappers.a \
  44. xbmc/dialogs/dialogs.a \
  45. xbmc/epg/epg.a \
  46. xbmc/filesystem/MusicDatabaseDirectory/musicdatabasedirectory.a \
  47. xbmc/filesystem/VideoDatabaseDirectory/videodatabasedirectory.a \
  48. xbmc/filesystem/filesystem.a \
  49. xbmc/guilib/guilib.a \
  50. xbmc/input/input.a \
  51. xbmc/interfaces/info/info.a \
  52. xbmc/interfaces/interfaces.a \
  53. xbmc/interfaces/json-rpc/json-rpc.a \
  54. xbmc/linux/linux.a \
  55. xbmc/music/dialogs/musicdialogs.a \
  56. xbmc/music/infoscanner/musicscanner.a \
  57. xbmc/music/karaoke/karaoke.a \
  58. xbmc/music/music.a \
  59. xbmc/music/tags/musictags.a \
  60. xbmc/music/windows/musicwindows.a \
  61. xbmc/network/libscrobbler/scrobbler.a \
  62. xbmc/network/websocket/websocket.a \
  63. xbmc/network/network.a \
  64. xbmc/peripherals/bus/peripheral-bus.a \
  65. xbmc/peripherals/devices/peripheral-devices.a \
  66. xbmc/peripherals/dialogs/peripheral-dialogs.a \
  67. xbmc/peripherals/peripherals.a \
  68. xbmc/pictures/pictures.a \
  69. xbmc/playlists/playlists.a \
  70. xbmc/powermanagement/powermanagement.a \
  71. xbmc/programs/programs.a \
  72. xbmc/pvr/addons/pvraddons.a \
  73. xbmc/pvr/channels/pvrchannels.a \
  74. xbmc/pvr/dialogs/pvrdialogs.a \
  75. xbmc/pvr/pvr.a \
  76. xbmc/pvr/recordings/pvrrecordings.a \
  77. xbmc/pvr/timers/pvrtimers.a \
  78. xbmc/pvr/windows/pvrwindows.a \
  79. xbmc/rendering/rendering.a \
  80. xbmc/settings/settings.a \
  81. xbmc/storage/storage.a \
  82. xbmc/utils/utils.a \
  83. xbmc/video/dialogs/videodialogs.a \
  84. xbmc/video/video.a \
  85. xbmc/video/windows/videowindows.a \
  86. xbmc/windowing/windowing.a \
  87. xbmc/windows/windows.a \
  88. xbmc/xbmc.a \
  89.  
  90.  
  91. NWAOBJSXBMC= xbmc/threads/threads.a \
  92. xbmc/commons/commons.a
  93.  
  94.  
  95. ifeq (1,1)
  96. DIRECTORY_ARCHIVES += xbmc/network/httprequesthandler/httprequesthandlers.a
  97. endif
  98.  
  99. DIRECTORY_ARCHIVES += xbmc/interfaces/legacy/legacy.a
  100. DIRECTORY_ARCHIVES += xbmc/interfaces/python/python_binding.a
  101.  
  102. ifeq (1,1)
  103. DIRECTORY_ARCHIVES += xbmc/rendering/gl/rendering_gl.a
  104. endif
  105.  
  106. ifeq (0,1)
  107. DIRECTORY_ARCHIVES += xbmc/rendering/gles/rendering_gles.a
  108. DIRECTORY_ARCHIVES += xbmc/windowing/egl/windowing_egl.a
  109. DIRECTORY_ARCHIVES += xbmc/visualizations/EGLHelpers/eglhelpers.a
  110. endif
  111.  
  112. ifeq (1,1)
  113. DIRECTORY_ARCHIVES += lib/libUPnP/libupnp.a \
  114. xbmc/network/upnp/upnp.a
  115. endif
  116.  
  117. ifeq ($(findstring osx,x86-osx),osx)
  118. DIRECTORY_ARCHIVES += xbmc/osx/osx.a
  119. DIRECTORY_ARCHIVES += xbmc/network/osx/network.a
  120. DIRECTORY_ARCHIVES += xbmc/network/linux/network_linux.a
  121. DIRECTORY_ARCHIVES += xbmc/powermanagement/osx/powermanagement.a
  122. DIRECTORY_ARCHIVES += xbmc/storage/osx/storage.a
  123. DIRECTORY_ARCHIVES += xbmc/windowing/osx/windowing_osx.a
  124. else
  125. ifeq (,1)
  126. DIRECTORY_ARCHIVES += xbmc/input/linux/input_linux.a
  127. DIRECTORY_ARCHIVES += xbmc/network/linux/network_linux.a
  128. DIRECTORY_ARCHIVES += xbmc/powermanagement/android/powermanagement_android.a
  129. DIRECTORY_ARCHIVES += xbmc/storage/android/storage_android.a
  130. DIRECTORY_ARCHIVES += xbmc/windowing/X11/windowing_X11.a
  131. else
  132. DIRECTORY_ARCHIVES += xbmc/input/linux/input_linux.a
  133. DIRECTORY_ARCHIVES += xbmc/network/linux/network_linux.a
  134. DIRECTORY_ARCHIVES += xbmc/powermanagement/linux/powermanagement_linux.a
  135. DIRECTORY_ARCHIVES += xbmc/storage/linux/storage_linux.a
  136. DIRECTORY_ARCHIVES += xbmc/windowing/X11/windowing_X11.a
  137. endif
  138. endif
  139.  
  140. ifeq ($(findstring freebsd,x86-osx),freebsd)
  141. DIRECTORY_ARCHIVES += xbmc/freebsd/freebsd.a
  142. endif
  143.  
  144. ifeq (1,1)
  145. DIRECTORY_ARCHIVES += lib/UnrarXLib/UnrarXLib.a
  146. endif
  147.  
  148. BIN_DIRS = $(dir $(DIRECTORY_ARCHIVES)) $(dir $(NWAOBJSXBMC))
  149.  
  150. ifeq (,1)
  151. DIRECTORY_ARCHIVES += xbmc/android/loader/AndroidDyload.a
  152. DIRECTORY_ARCHIVES += xbmc/windowing/android/windowing_android.a
  153. DIRECTORY_ARCHIVES += xbmc/android/activity/activity.a
  154. DIRECTORY_ARCHIVES += xbmc/android/bionic_supplement/bionic_supplement.a
  155. endif
  156.  
  157. ifeq (,1)
  158. DIRECTORY_ARCHIVES += xbmc/cores/amlplayer/amlplayer.a
  159. endif
  160.  
  161. ifeq (,1)
  162. DIRECTORY_ARCHIVES += xbmc/cores/omxplayer/omxplayer.a
  163. endif
  164.  
  165. PAPCODECS_DIRS= \
  166. lib/xbadpcm \
  167. lib/nosefart \
  168. lib/timidity \
  169. lib/libsidplay2 \
  170. lib/stsound/StSoundLibrary \
  171. lib/snesapu/SNES/SNESAPU \
  172. lib/vgmstream
  173.  
  174. ifeq (0,1)
  175. PAPCODECS_DIRS+= \
  176. lib/asap
  177. endif
  178.  
  179. LIB_DIRS=\
  180. lib/cximage-6.0 \
  181. lib/libexif \
  182. lib/libhdhomerun \
  183. lib/cpluff \
  184. lib/xbmc-dll-symbols
  185.  
  186. ifeq (1,1)
  187. LIB_DIRS += lib/cmyth
  188. CMYTH=cmyth
  189. endif
  190.  
  191. SS_DIRS=
  192. ifneq (0,1)
  193. SS_DIRS+= xbmc/screensavers/rsxs-0.9/xbmc
  194. endif
  195.  
  196. VIS_DIRS=xbmc/visualizations/OpenGLSpectrum \
  197. xbmc/visualizations/WaveForm
  198.  
  199. ifneq (0,1)
  200. VIS_DIRS+= xbmc/visualizations/XBMCProjectM
  201. endif
  202.  
  203. ifneq (1,1)
  204. VIS_DIRS+=xbmc/visualizations/Goom
  205. endif
  206.  
  207. LIBADDON_DIRS=\
  208. lib/addons/library.xbmc.addon \
  209. lib/addons/library.xbmc.pvr \
  210. lib/addons/library.xbmc.gui \
  211.  
  212. CONFLUENCE_MEDIA=addons/skin.confluence/media
  213. SKIN_DIRS=$(CONFLUENCE_MEDIA)
  214.  
  215. ifeq (0,1)
  216. TOUCHED_MEDIA=addons/skin.touched/media
  217. SKIN_DIRS+=$(TOUCHED_MEDIA)
  218. endif
  219.  
  220. DIRS= $(BIN_DIRS) $(EC_DIRS) $(XBMCTEX_DIRS) $(DVDPCODECS_DIRS) $(PAPCODECS_DIRS) \
  221. $(LIB_DIRS) $(SS_DIRS) $(VIS_DIRS) $(LIBADDON_DIRS) $(SKIN_DIRS)
  222.  
  223. LIBS=-lsmbclient -lssh -lmicrohttpd -lSDL -liconv -ltinyxml -lyajl -lmysqlclient -lssl -lcrypto -lz -llzo2 -lpthread -ltiff -ljpeg -lbz2 -lgcrypt -lgpg-error -lGLEW -framework ApplicationServices -framework AudioUnit -framework AudioToolbox -framework Cocoa -framework CoreAudio -framework CoreVideo -framework CoreServices -framework CoreFoundation -framework DiskArbitration -framework IOKit -framework IOSurface -framework QuartzCore -framework SystemConfiguration -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lpython2.6 -framework OpenGL -mmacosx-version-min=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -arch x86_64 -Wl,-arch,x86_64 -no_compact_linkedit -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib/mysql -lmysqlclient -lz -lm -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lfribidi -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lsqlite3 -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lpng15 -lz -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lpcre -lpcrecpp -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lpcre -Wl,-framework,CoreFoundation -Wl,-framework,IOKit -Wl,-framework,DiskArbitration -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lcdio -lm -liconv -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lsamplerate -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -lfreetype -lz -lbz2 -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib -ltag -L$(abs_top_srcdir)/lib/ffmpeg/libavcodec -lavcodec -L$(abs_top_srcdir)/lib/ffmpeg/libavfilter -lavfilter -L$(abs_top_srcdir)/lib/ffmpeg/libswresample -lswresample -L$(abs_top_srcdir)/lib/ffmpeg/libavformat -lavformat -L$(abs_top_srcdir)/lib/ffmpeg/libavutil -lavutil -L$(abs_top_srcdir)/lib/ffmpeg/libpostproc -lpostproc -L$(abs_top_srcdir)/lib/ffmpeg/libswscale -lswscale
  224. CFLAGS=-O2 -std=gnu99 -no-cpp-precomp -mmacosx-version-min=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -arch x86_64 -no_compact_linkedit -g -D_DEBUG -Wall
  225. CXXFLAGS=-O2 -mmacosx-version-min=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -arch x86_64 -no_compact_linkedit -g -D_DEBUG -Wall
  226. LDFLAGS= -mmacosx-version-min=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -arch x86_64 -Wl,-arch,x86_64 -no_compact_linkedit -L/Users/Shared/xbmc-depends/macosx10.8_x86_64/lib
  227. INCLUDES=$(sort -I$(abs_top_srcdir) -I$(abs_top_srcdir)/xbmc/osx -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include/mysql -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include/fribidi -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include/libpng15 -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include/freetype2 -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include/taglib -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include -I/Users/Shared/xbmc-depends/macosx10.8_x86_64/include/libcec )
  228.  
  229. CLEAN_FILES=xbmc.bin xbmc-xrandr libxbmc.so
  230.  
  231. DISTCLEAN_FILES=config.h config.log config.status tools/Linux/xbmc.sh \
  232. tools/Linux/xbmc-standalone.sh autom4te.cache config.h.in~ \
  233. system/libcpluff-x86-osx.so
  234.  
  235. ifeq (,1)
  236. FINAL_TARGETS+=libxbmc.so
  237. ifeq (,1)
  238. FINAL_TARGETS+=skins
  239. endif
  240. else
  241. FINAL_TARGETS=xbmc.bin skins xbmc-xrandr
  242. endif
  243. FINAL_TARGETS+=Makefile externals
  244.  
  245. GTEST_DIR = lib/gtest
  246. GTEST_INCLUDES = -I$(GTEST_DIR)/include
  247. GTEST_LIBS = $(GTEST_DIR)/lib/.libs/libgtest.a
  248.  
  249. CHECK_DIRS = xbmc/filesystem/test \
  250. xbmc/utils/test \
  251. xbmc/threads/test \
  252. xbmc/interfaces/python/test \
  253. xbmc/test
  254. CHECK_LIBS = xbmc/filesystem/test/filesystemTest.a \
  255. xbmc/utils/test/utilsTest.a \
  256. xbmc/threads/test/threadTest.a \
  257. xbmc/interfaces/python/test/pythonSwigTest.a \
  258. xbmc/test/xbmc-test.a
  259. CHECK_PROGRAMS = xbmc-test
  260.  
  261. CLEAN_FILES += $(CHECK_PROGRAMS)
  262.  
  263. all : $(FINAL_TARGETS)
  264. @echo '-----------------------'
  265. @echo 'XBMC built successfully'
  266. @echo '-----------------------'
  267.  
  268. include Makefile.include
  269.  
  270. .PHONY : dllloader exports visualizations screensavers eventclients papcodecs \
  271. dvdpcodecs imagelib codecs externals force skins libaddon check \
  272. testframework testsuite
  273.  
  274. # hack targets to keep build system up to date
  275. Makefile : config.status $(addsuffix .in, $(AUTOGENERATED_MAKEFILES))
  276. @echo "Regenerating Makefiles..."
  277. @./config.status &> /dev/null
  278. @echo "done"
  279.  
  280. config.status: configure
  281.  
  282. # skin textures
  283. ifeq (1,1)
  284. skins: tools/TexturePacker/TexturePacker force
  285. $(MAKE) -C $(CONFLUENCE_MEDIA)
  286. ifeq (0,1)
  287. $(MAKE) -C $(TOUCHED_MEDIA)
  288. endif
  289. else
  290. skins:
  291. endif
  292.  
  293. # Setup some dependencies for subdir makes
  294. xbmc/cores/paplayer/paplayer.a: papcodecs
  295. $(DVDPLAYER_ARCHIVES) : dvdpcodecs
  296.  
  297. $(NWAOBJSXBMC): force
  298. @$(MAKE) $(if $(V),,-s) -C $(@D)
  299.  
  300. $(DIRECTORY_ARCHIVES): force
  301. @$(MAKE) $(if $(V),,-s) -C $(@D)
  302.  
  303. lib/cpluff/libcpluff/.libs/libcpluff.a: force
  304. $(MAKE) -C lib/cpluff/libcpluff
  305. system/libcpluff-x86-osx.so: lib/cpluff/libcpluff/.libs/libcpluff.a exports
  306. ifeq ($(findstring osx,x86-osx), osx)
  307. ifeq (x86-osx, arm-osx)
  308. $(CXX) $(LDFLAGS) -all_load -bundle -flat_namespace -undefined dynamic_lookup -read_only_relocs suppress -o $@ $<
  309. else
  310. $(CXX) $(LDFLAGS) -all_load -bundle -flat_namespace -undefined dynamic_lookup -lexpat $(BUNDLE1_O) -o $@ $<
  311. endif
  312. else
  313. $(CXX) $(LDFLAGS) -shared -o $@ -Wl,--whole-archive $< \
  314. -Wl,--no-whole-archive \
  315. `cat xbmc/cores/DllLoader/exports/wrapper.def` xbmc/cores/DllLoader/exports/wrapper.o -lexpat
  316. endif
  317.  
  318. exports: xbmc/cores/DllLoader/exports/exports.a xbmc/cores/DllLoader/exports/util/exports_utils.a
  319. $(MAKE) -C xbmc/cores/DllLoader/exports wrapper.def
  320. dllloader: exports xbmc/cores/DllLoader/dllloader.a
  321.  
  322. ifeq (0,1)
  323. EGLHELPERS=xbmc/visualizations/EGLHelpers/eglhelpers.a
  324. endif
  325.  
  326. $(VIS_DIRS): force exports $(EGLHELPERS)
  327. $(MAKE) -C $@
  328.  
  329. $(SS_DIRS): force exports
  330. $(MAKE) -C $@
  331.  
  332. visualizations: $(VIS_DIRS)
  333.  
  334. screensavers: $(SS_DIRS)
  335.  
  336. libaddon: exports
  337. $(MAKE) -C lib/addons/library.xbmc.addon
  338. $(MAKE) -C lib/addons/library.xbmc.gui
  339. $(MAKE) -C lib/addons/library.xbmc.pvr
  340. dvdpcodecs: dllloader
  341. $(MAKE) -C lib
  342. $(MAKE) -C lib/libdvd
  343. eventclients:
  344. ifeq ($(findstring osx,x86-osx), osx)
  345. ifneq ($(findstring arm,x86-osx), arm)
  346. $(MAKE) -C tools/EventClients/Clients/OSXRemote
  347. endif
  348. else
  349. $(MAKE) -C tools/EventClients
  350. endif
  351. libexif: dllloader
  352. $(MAKE) -C lib/libexif
  353. cmyth: dllloader
  354. $(MAKE) -C lib/cmyth
  355. libhdhomerun: dllloader
  356. $(MAKE) -C lib/libhdhomerun
  357. papcodecs: dllloader dvdpcodecs
  358. test -d system/players/paplayer || mkdir system/players/paplayer
  359. $(MAKE) -C lib/xbadpcm
  360. $(MAKE) -C lib/vgmstream
  361. $(MAKE) -C lib/timidity
  362. $(MAKE) -C lib/nosefart
  363. ifneq ($(findstring arm-osx,x86-osx), arm-osx)
  364. $(MAKE) -C lib/libsidplay2
  365. endif
  366. ifeq (0,1)
  367. ifneq ($(findstring osx,x86-osx), osx)
  368. $(MAKE) -C lib/asap asap-xbmc
  369. endif
  370. endif
  371. $(MAKE) -C lib/stsound/StSoundLibrary
  372. ifeq ($(or $(findstring powerpc,x86-osx),$(findstring x86_64-linux,x86-osx),$(findstring arm, x86-osx),$(findstring freebsd,x86-osx)),)
  373. $(MAKE) -C lib/snesapu/SNES/SNESAPU
  374. endif
  375. imagelib: dllloader
  376. $(MAKE) -C lib/cximage-6.0
  377.  
  378. pvraddons: exports
  379. ifeq (0,1)
  380. $(MAKE) -C pvr-addons
  381. endif
  382.  
  383. codecs: papcodecs dvdpcodecs
  384.  
  385. libs: libhdhomerun imagelib libexif system/libcpluff-x86-osx.so $(CMYTH)
  386.  
  387. externals: codecs libs visualizations screensavers libaddon pvraddons
  388.  
  389. xcode_depends: \
  390. codecs libs visualizations screensavers eventclients skins libaddon \
  391. lib/libsquish/libsquish.a \
  392. lib/libRTV/librtv.a \
  393. lib/libXDAAP/libxdaap.a \
  394. lib/SlingboxLib/SlingboxLib.a
  395.  
  396. OBJSXBMC =$(DIRECTORY_ARCHIVES)
  397.  
  398. DYNOBJSXBMC= \
  399. xbmc/linux/linux.a \
  400. xbmc/network/network.a \
  401. xbmc/video/windows/videowindows.a \
  402. xbmc/utils/utils.a \
  403. xbmc/cores/DllLoader/exports/util/exports_utils.a \
  404. xbmc/cores/DllLoader/exports/exports.a \
  405. xbmc/settings/settings.a \
  406. xbmc/video/video.a \
  407. xbmc/pvr/addons/pvraddons.a \
  408. xbmc/pvr/windows/pvrwindows.a \
  409. xbmc/guilib/guilib.a # must be dynamic to avoid linker errors
  410.  
  411. ifeq ($(findstring freebsd,x86-osx),freebsd)
  412. DYNOBJSXBMC+= xbmc/freebsd/freebsd.a
  413. endif
  414.  
  415. OBJSXBMC:=$(filter-out $(DYNOBJSXBMC), $(OBJSXBMC))
  416.  
  417. libxbmc.so: $(OBJSXBMC) $(DYNOBJSXBMC) $(NWAOBJSXBMC)
  418. ifeq ($(findstring osx,x86-osx), osx)
  419. $(SILENT_LD) $(CXX) $(LDFLAGS) -bundle -o $@ -Wl,-all_load,-ObjC $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(OBJSXBMC) $(LIBS)
  420. else
  421. $(SILENT_LD) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -o $@ -Wl,--whole-archive $(DYNOBJSXBMC) $(OBJSXBMC) -Wl,--no-whole-archive -Wl,--no-undefined $(NWAOBJSXBMC) $(LIBS)
  422. endif
  423.  
  424. xbmc.bin: xbmc/main/main.a $(OBJSXBMC) $(DYNOBJSXBMC) $(NWAOBJSXBMC)
  425.  
  426. ifeq ($(findstring osx,x86-osx), osx)
  427. $(SILENT_LD) $(CXX) $(LDFLAGS) -o xbmc.bin -Wl,-all_load,-ObjC $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(OBJSXBMC) xbmc/main/main.a $(LIBS) -rdynamic
  428. else
  429. $(SILENT_LD) $(CXX) $(CXXFLAGS) $(LDFLAGS) -o xbmc.bin -Wl,--whole-archive $(DYNOBJSXBMC) $(OBJSXBMC) xbmc/main/main.a -Wl,--no-whole-archive $(NWAOBJSXBMC) $(LIBS) -rdynamic
  430. endif
  431.  
  432. xbmc/main/main.a: force
  433. $(MAKE) -C xbmc/main
  434.  
  435. xbmc-xrandr: xbmc-xrandr.c
  436. ifneq (1,0)
  437. # xbmc-xrandr.c gets picked up by the default make rules
  438. @echo "excluding xbmc-xrandr"
  439. else
  440. $(SILENT_LD) $(CC) $(CFLAGS) $(LDFLAGS) -o xbmc-xrandr xbmc-xrandr.c -lXrandr -lX11 -lm
  441. endif
  442.  
  443. tools/TexturePacker/TexturePacker: lib/libsquish/libsquish.a xbmc/guilib/XBTF.h
  444. $(MAKE) -C tools/TexturePacker/
  445.  
  446.  
  447. install-bin: xbmc.bin # developement convenience target
  448. sudo install -d $(DESTDIR)$(libdir)
  449. sudo install xbmc.bin $(DESTDIR)$(libdir)/xbmc
  450.  
  451. ifeq ($(findstring osx,x86-osx), osx)
  452. # TODO: add osx install
  453. else
  454. install: install-binaries install-arch install-datas
  455.  
  456. apk: install
  457. make -C tools/android/packaging
  458.  
  459. install-binaries: install-scripts
  460. @echo "Copying XBMC binary to $(DESTDIR)$(libdir)/xbmc/"
  461. @install -d $(DESTDIR)$(libdir)/xbmc
  462. ifeq (1,0)
  463. @install xbmc-xrandr $(DESTDIR)$(libdir)/xbmc/xbmc-xrandr
  464. endif
  465. ifeq (,1)
  466. @install libxbmc.so $(DESTDIR)$(libdir)/xbmc/libxbmc.so
  467. else
  468. @install xbmc.bin $(DESTDIR)$(libdir)/xbmc/xbmc.bin
  469. @echo "You can run XBMC with the command 'xbmc'"
  470. endif
  471. endif
  472.  
  473. install-arch:
  474. @# Arch dependent files
  475. ifeq (0,1)
  476. $(MAKE) -C pvr-addons install
  477. endif
  478. ifeq ($(findstring freebsd,x86-osx), freebsd)
  479. @find -E system addons -type f -not -iregex ".*svn.*" \
  480. -iregex ".*x86-osx.*|.*\.vis|.*\.xbs" \
  481. -exec sh -c "install -d \"$(DESTDIR)$(libdir)/xbmc/\`dirname '{}'\`\"" \; \
  482. -and \
  483. -exec install "{}" $(DESTDIR)$(libdir)/xbmc/"{}" \; \
  484. -exec printf " -- %-75.75s\r" "{}" \;
  485. else
  486. ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
  487. @find -E system addons -type f -not -iregex ".*svn.*" \
  488. -iregex ".*x86-osx.*|.*\.vis|.*\.xbs" \
  489. -exec sh -c "install -d \"$(DESTDIR)$(libdir)/xbmc/\`dirname '{}'\`\"" \; \
  490. -and \
  491. -exec install "{}" $(DESTDIR)$(libdir)/xbmc/"{}" \; \
  492. -exec printf " -- %-75.75s\r" "{}" \;
  493. else
  494. @find system addons -regextype posix-extended -type f -not -iregex ".*svn.*" -iregex ".*\.so|.*\.vis|.*\.xbs|.*\.pvr" -exec install -D "{}" $(DESTDIR)$(libdir)/xbmc/"{}" \; -printf " -- %-75.75f\r"
  495. endif
  496. endif
  497.  
  498. install-scripts:
  499. @install -d $(DESTDIR)$(bindir)
  500. @install tools/Linux/xbmc.sh $(DESTDIR)$(bindir)/xbmc
  501. @install tools/Linux/xbmc-standalone.sh $(DESTDIR)$(bindir)/xbmc-standalone
  502. @install -d $(DESTDIR)$(datarootdir)/xbmc
  503. @install -m 0644 tools/Linux/FEH.py $(DESTDIR)$(datarootdir)/xbmc/FEH.py
  504. @install -d $(DESTDIR)$(datarootdir)/xsessions
  505. @install -m 0644 tools/Linux/xbmc-xsession.desktop $(DESTDIR)$(datarootdir)/xsessions/XBMC.desktop
  506.  
  507. install-datas: install-scripts
  508. @echo "Copying support and legal files..."
  509. @install -d $(DESTDIR)$(docdir)
  510. @for FILE in `ls LICENSE.GPL *.txt`; do \
  511. install -m 0644 "$$FILE" "$(DESTDIR)$(docdir)/$$FILE"; done
  512. @install -m 0644 "docs/README.linux" "$(DESTDIR)$(docdir)/README.linux"
  513. @echo "Done!"
  514. @echo "Copying system files to $(DESTDIR)$(datarootdir)/xbmc"
  515. @install -d $(DESTDIR)$(datarootdir)/xbmc
  516. @# Arch independent files
  517. ifeq ($(findstring bsd,x86-osx), bsd)
  518. @find -E addons language media sounds userdata system -type f \
  519. -not -iregex ".*x86-osx.*|.*\.vis|.*\.xbs|.*svn.*|.*\.so|.*\.dll" \
  520. -exec sh -c "install -d \"$(DESTDIR)$(datarootdir)/xbmc/\`dirname '{}'\`\"" \; \
  521. -and \
  522. -exec install -m 0644 "{}" $(DESTDIR)$(datarootdir)/xbmc/"{}" \; \
  523. -exec printf " -- %-75.75s\r" "{}" \;
  524. else
  525. ifeq ($(findstring Darwin,$(shell uname -s)),Darwin)
  526. @find -E addons language media sounds userdata system -type f \
  527. -not -iregex ".*x86-osx.*|.*\.vis|.*\.xbs|.*svn.*|.*\.so|.*\.dll" \
  528. -exec sh -c "install -d \"$(DESTDIR)$(datarootdir)/xbmc/\`dirname '{}'\`\"" \; \
  529. -and \
  530. -exec install -m 0644 "{}" $(DESTDIR)$(datarootdir)/xbmc/"{}" \; \
  531. -exec printf " -- %-75.75s\r" "{}" \;
  532. else
  533. @find addons language media sounds userdata system -regextype posix-extended -type f -not -iregex ".*x86-osx.*|.*\.vis|.*\.xbs|.*svn.*|.*\.so|.*\.dll|.*\.pvr" -exec install -D -m 0644 "{}" $(DESTDIR)$(datarootdir)/xbmc/"{}" \; -printf " -- %-75.75f\r"
  534. endif
  535. endif
  536. @# Icons and links
  537. @install -d $(DESTDIR)$(datarootdir)/applications
  538. @install tools/Linux/xbmc.desktop $(DESTDIR)$(datarootdir)/applications/xbmc.desktop
  539. @install -d $(DESTDIR)$(datadir)/icons/hicolor/48x48/apps
  540. @install -m 0644 tools/Linux/xbmc-48x48.png $(DESTDIR)$(datadir)/icons/hicolor/48x48/apps/xbmc.png
  541. @install -d $(DESTDIR)$(datadir)/icons/hicolor/256x256/apps
  542. @install -m 0644 media/icon.png $(DESTDIR)$(datadir)/icons/hicolor/256x256/apps/xbmc.png
  543. @test -z "$(DESTDIR)" && gtk-update-icon-cache -f -q -t $(datadir)/icons/hicolor || :
  544.  
  545. uninstall:
  546. @echo "Removing XBMC..."
  547. @rm -rf $(DESTDIR)$(libdir)/xbmc
  548. @rm -rf $(DESTDIR)$(datarootdir)/xbmc $(DESTDIR)$(bindir)/xbmc
  549. @rm -rf $(DESTDIR)$(bindir)/xbmc-standalone
  550. @rm -rf $(DESTDIR)$(datarootdir)/xsessions/XBMC.desktop
  551. @rm -rf $(libdir)/libXBMC_*
  552. @rm -rf $(prefix)/include/xbmc
  553. @echo "Done!"
  554.  
  555. clean-xbmc.bin:
  556. rm -f xbmc.bin
  557. for d in $(BIN_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  558. clean-eventclients:
  559. for d in $(EC_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  560. clean-xbmctex:
  561. for d in $(XBMCTEX_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  562. clean-dvdpcodecs:
  563. for d in $(DVDPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  564. clean-papcodecs:
  565. for d in $(PAPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  566. clean-libs:
  567. for d in $(LIB_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  568. clean-screensavers:
  569. for d in $(SS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  570. clean-visualisations:
  571. for d in $(VIS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  572. clean-libaddons:
  573. for d in $(LIBADDON_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done
  574. clean-pvraddons:
  575. ifeq (0,1)
  576. if test -f pvr-addons/Makefile; then $(MAKE) -C pvr-addons clean; fi;
  577. endif
  578.  
  579. clean-codecs: clean-dvdpcodecs clean-papcodecs
  580.  
  581. clean-externals: clean-codecs clean-eventclients clean-xbmctex clean-libs \
  582. clean-screensavers clean-visualisations clean-libaddons clean-pvraddons
  583.  
  584. ifeq (1,1)
  585. check: testsuite
  586. for check_program in $(CHECK_PROGRAMS); do $(CURDIR)/$$check_program; done
  587.  
  588. testsuite: $(CHECK_PROGRAMS)
  589.  
  590. testframework: $(GTEST_LIBS)
  591.  
  592. $(GTEST_LIBS): $(GTEST_DIR)/Makefile
  593.  
  594. $(GTEST_DIR)/Makefile: force
  595. $(MAKE) -C $(GTEST_DIR)
  596.  
  597. $(CHECK_LIBS): force
  598. @$(MAKE) $(if $(V),,-s) -C $(@D)
  599.  
  600. xbmc-test: $(CHECK_LIBS) $(OBJSXBMC) $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(GTEST_LIBS)
  601. ifeq ($(findstring osx,x86-osx), osx)
  602. $(SILENT_LD) $(CXX) $(LDFLAGS) $(GTEST_INCLUDES) -o $@ -Wl,-all_load,-ObjC $(CHECK_LIBS) $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(OBJSXBMC) $(GTEST_LIBS) $(LIBS) -rdynamic
  603. else
  604. $(SILENT_LD) $(CXX) $(CXXFLAGS) $(LDFLAGS) $(GTEST_INCLUDES) -o $@ -Wl,--whole-archive $(CHECK_LIBS) $(DYNOBJSXBMC) $(OBJSXBMC) -Wl,--no-whole-archive $(NWAOBJSXBMC) $(GTEST_LIBS) $(LIBS) -rdynamic
  605. endif
  606. else
  607. # Give a message that the framework is not configured, but don't fail.
  608. check testsuite testframework:
  609. @echo "Google Test Framework not configured, skipping testsuite check."
  610. endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement