Makefile 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include $(ADK_TOPDIR)/rules.mk
  4. PKG_NAME:= mpd
  5. PKG_VERSION:= 0.24.7
  6. PKG_RELEASE:= 1
  7. PKG_HASH:= 47c4f146f39a09979ca65d232063d7df566b101c5b36ca8895083f9f278b0460
  8. PKG_DESCR:= music player daemon
  9. PKG_SECTION:= mm/audio
  10. PKG_DEPENDS:= libmpdclient boost libncurses libexpat libsqlite libfmt libxcb
  11. PKG_DEPENDS+= libxau libxdmcp
  12. PKG_BUILDDEP:= libmpdclient boost ncurses expat sqlite fmt libxcb
  13. PKG_BUILDDEP+= libXau libXdmcp
  14. PKG_FDEPENDS:= libmpdclient
  15. PKG_NEEDS:= threads c++ data
  16. PKG_URL:= http://www.musicpd.org/
  17. PKG_SITES:= http://www.musicpd.org/download/mpd/0.24/
  18. PKG_FLAVOURS_MPD:= WITH_ALSA WITH_AO WITH_MP3 WITH_MP4
  19. PKG_FLAVOURS_MPD+= WITH_OGG WITH_FLAC WITH_WAV WITH_MMS WITH_FFMPEG
  20. PKG_FLAVOURS_MPD+= WITH_SHOUT WITH_CURL WITH_SAMPLERATE WITH_HTTPD
  21. PKG_FLAVOURS_MPD+= WITH_SNDFILE WITH_OPUS WITH_PULSE WITH_AVAHI
  22. PKGFD_WITH_ALSA:= enable ALSA output
  23. PKGFS_WITH_ALSA:= alsa-lib
  24. PKGFB_WITH_ALSA:= alsa-lib
  25. ifeq ($(ADK_PACKAGE_MPD_WITH_ALSA),y)
  26. PKG_FDEPENDS+= alsa-lib
  27. endif
  28. PKGFD_WITH_AO:= enable Libao/ESD output
  29. PKGFS_WITH_AO:= libao
  30. PKGFB_WITH_AO:= libao
  31. ifeq ($(ADK_PACKAGE_MPD_WITH_AO),y)
  32. PKG_FDEPENDS+= libao
  33. endif
  34. PKGFD_WITH_MP3:= enable MP3 support
  35. PKGFS_WITH_MP3:= libid3tag libmad
  36. PKGFB_WITH_MP3:= libid3tag libmad
  37. ifeq ($(ADK_PACKAGE_MPD_WITH_MP3),y)
  38. PKG_FDEPENDS+= libid3tag libmad
  39. endif
  40. PKGFD_WITH_MP4:= enable MP4 support
  41. PKGFS_WITH_MP4:= libfaad2
  42. PKGFB_WITH_MP4:= faad2
  43. ifeq ($(ADK_PACKAGE_MPD_WITH_MP4),y)
  44. PKG_FDEPENDS+= libfaad2
  45. endif
  46. PKGFD_WITH_OGG:= enable OGG support
  47. PKGFS_WITH_OGG:= libvorbis libogg
  48. PKGFB_WITH_OGG:= libvorbis libogg
  49. ifeq ($(ADK_PACKAGE_MPD_WITH_OGG),y)
  50. PKG_FDEPENDS+= libvorbis libogg
  51. endif
  52. PKGFD_WITH_FLAC:= enable FLAC support
  53. PKGFS_WITH_FLAC:= libflac
  54. PKGFB_WITH_FLAC:= flac
  55. ifeq ($(ADK_PACKAGE_MPD_WITH_FLAC),y)
  56. PKG_FDEPENDS+= libflac
  57. endif
  58. PKGFD_WITH_WAV:= enable WAVE support
  59. PKGFS_WITH_WAV:= libaudiofile
  60. PKGFB_WITH_WAV:= libaudiofile
  61. ifeq ($(ADK_PACKAGE_MPD_WITH_WAV),y)
  62. PKG_FDEPENDS+= libaudiofile
  63. endif
  64. PKGFD_WITH_MMS:= enable MMS support
  65. PKGFS_WITH_MMS:= libmms
  66. PKGFB_WITH_MMS:= libmms
  67. ifeq ($(ADK_PACKAGE_MPD_WITH_MMS),y)
  68. PKG_FDEPENDS+= libmms
  69. endif
  70. PKGFD_WITH_FFMPEG:= enable FFMPEG support
  71. PKGFS_WITH_FFMPEG:= libffmpeg
  72. PKGFB_WITH_FFMPEG:= ffmpeg
  73. ifeq ($(ADK_PACKAGE_MPD_WITH_FFMPEG),y)
  74. PKG_FDEPENDS+= libffmpeg
  75. endif
  76. PKGFD_WITH_SHOUT:= enable Shoutcast output support
  77. PKGFS_WITH_SHOUT:= libshout libmp3lame libvorbisenc
  78. PKGFB_WITH_SHOUT:= lame libvorbis libshout
  79. ifeq ($(ADK_PACKAGE_MPD_WITH_SHOUT),y)
  80. PKG_FDEPENDS+= libshout libmp3lame libvorbisenc
  81. endif
  82. PKGFD_WITH_CURL:= enable CURL support
  83. PKGFS_WITH_CURL:= libcurl
  84. PKGFB_WITH_CURL:= curl
  85. ifeq ($(ADK_PACKAGE_MPD_WITH_CURL),y)
  86. PKG_FDEPENDS+= curl
  87. endif
  88. PKGFD_WITH_SAMPLERATE:= enable samplerate support
  89. PKGFS_WITH_SAMPLERATE:= libsamplerate
  90. PKGFB_WITH_SAMPLERATE:= libsamplerate
  91. ifeq ($(ADK_PACKAGE_MPD_WITH_SAMPLERATE),y)
  92. PKG_FDEPENDS+= libsamplerate
  93. endif
  94. PKGFD_WITH_OPUS:= enable OPUS support
  95. PKGFS_WITH_OPUS:= libopus
  96. PKGFB_WITH_OPUS:= opus
  97. ifeq ($(ADK_PACKAGE_MPD_WITH_OPUS),y)
  98. PKG_FDEPENDS+= libopus
  99. endif
  100. PKGFD_WITH_SNDFILE:= enable sndfile support
  101. PKGFS_WITH_SNDFILE:= libsndfile
  102. PKGFB_WITH_SNDFILE:= libsndfile
  103. ifeq ($(ADK_PACKAGE_MPD_WITH_SNDFILE),y)
  104. PKG_FDEPENDS+= libsndfile
  105. endif
  106. PKGFD_WITH_PULSE:= enable pulse support
  107. PKGFS_WITH_PULSE:= pulseaudio
  108. PKGFB_WITH_PULSE:= pulseaudio
  109. ifeq ($(ADK_PACKAGE_MPD_WITH_PULSE),y)
  110. PKG_FDEPENDS+= pulseaudio
  111. endif
  112. PKGFD_WITH_AVAHI:= enable avahi/zeroconf support
  113. PKGFS_WITH_AVAHI:= libavahi libdbus
  114. PKGFB_WITH_AVAHI:= avahi
  115. ifeq ($(ADK_PACKAGE_MPD_WITH_AVAHI),y)
  116. PKG_FDEPENDS+= libavahi
  117. endif
  118. PKGFD_WITH_HTTPD:= enable http output
  119. include $(ADK_TOPDIR)/mk/package.mk
  120. $(eval $(call PKG_template,MPD,mpd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_FDEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
  121. WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
  122. CONFIG_STYLE:= meson
  123. BUILD_STYLE:= meson
  124. INSTALL_STYLE:= meson
  125. TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
  126. TARGET_CFLAGS+= -std=gnu99
  127. MESON_FLAGS+= -Dfifo=false \
  128. -Doss=disabled \
  129. -Djack=disabled
  130. ifneq ($(ADK_PACKAGE_MPD_WITH_SNDFILE),)
  131. MESON_FLAGS+= -Dsndfile=enabled
  132. else
  133. MESON_FLAGS+= -Dsndfile=disabled
  134. endif
  135. ifneq ($(ADK_PACKAGE_MPD_WITH_HTTPD),)
  136. MESON_FLAGS+= -Dhttpd=true
  137. else
  138. MESON_FLAGS+= -Dhttpd=false
  139. endif
  140. ifneq ($(ADK_PACKAGE_MPD_WITH_AVAHI),)
  141. MESON_FLAGS+= -Dzeroconf=avahi
  142. else
  143. MESON_FLAGS+= -Dzeroconf=disabled
  144. endif
  145. ifneq ($(ADK_PACKAGE_MPD_WITH_PULSE),)
  146. MESON_FLAGS+= -Dpulse=enabled
  147. else
  148. MESON_FLAGS+= -Dpulse=disabled
  149. endif
  150. ifneq ($(ADK_PACKAGE_MPD_WITH_ALSA),)
  151. MESON_FLAGS+= -Dalsa=enabled
  152. else
  153. MESON_FLAGS+= -Dalsa=disabled
  154. endif
  155. ifneq ($(ADK_PACKAGE_MPD_WITH_AO),)
  156. MESON_FLAGS+= -Dao=enabled
  157. else
  158. MESON_FLAGS+= -Dao=disabled
  159. endif
  160. ifneq ($(ADK_PACKAGE_MPD_WITH_MP3),)
  161. MESON_FLAGS+= -Dmad=enabled
  162. else
  163. MESON_FLAGS+= -Dmad=disabled
  164. endif
  165. ifneq ($(ADK_PACKAGE_MPD_WITH_MP4),)
  166. MESON_FLAGS+= -Dfaad=enabled
  167. else
  168. MESON_FLAGS+= -Dfaad=disabled
  169. endif
  170. ifneq ($(ADK_PACKAGE_MPD_WITH_OGG),)
  171. MESON_FLAGS+= -Dvorbis=enabled
  172. else
  173. MESON_FLAGS+= -Dvorbis=disabled
  174. endif
  175. ifneq ($(ADK_PACKAGE_MPD_WITH_TREMOR),)
  176. MESON_FLAGS+= -Dtremor=enabled
  177. endif
  178. ifneq ($(ADK_PACKAGE_MPD_WITH_FLAC),)
  179. MESON_FLAGS+= -Dflac=enabled
  180. else
  181. MESON_FLAGS+= -Dflac=disabled
  182. endif
  183. ifneq ($(ADK_PACKAGE_MPD_WITH_WAV),)
  184. MESON_FLAGS+= -Daudiofile=enabled
  185. else
  186. MESON_FLAGS+= -Daudiofile=disabled
  187. endif
  188. ifneq ($(ADK_PACKAGE_MPD_WITH_SHOUT),)
  189. MESON_FLAGS+= -Dshout=enabled
  190. else
  191. MESON_FLAGS+= -Dshout=disabled
  192. endif
  193. ifneq ($(ADK_PACKAGE_MPD_WITH_CURL),)
  194. MESON_FLAGS+= -Dcurl=enabled
  195. else
  196. MESON_FLAGS+= -Dcurl=disabled
  197. endif
  198. ifneq ($(ADK_PACKAGE_MPD_WITH_MMS),)
  199. MESON_FLAGS+= -Dmms=enabled
  200. else
  201. MESON_FLAGS+= -Dmms=disabled
  202. endif
  203. ifneq ($(ADK_PACKAGE_MPD_WITH_FFMPEG),)
  204. MESON_FLAGS+= -Dffmpeg=enabled
  205. else
  206. MESON_FLAGS+= -Dffmpeg=disabled
  207. endif
  208. ifneq ($(ADK_PACKAGE_MPD_WITH_SAMPLERATE),)
  209. MESON_FLAGS+= -Dlibsamplerate=enabled
  210. else
  211. MESON_FLAGS+= -Dlibsamplerate=disabled
  212. endif
  213. ifneq ($(ADK_PACKAGE_MPD_WITH_OPUS),)
  214. MESON_FLAGS+= -Dopus=enabled
  215. else
  216. MESON_FLAGS+= -Dopus=disabled
  217. endif
  218. mpd-install:
  219. $(INSTALL_DIR) $(IDIR_MPD)/etc
  220. $(INSTALL_DIR) $(IDIR_MPD)/usr/bin
  221. $(INSTALL_BIN) $(WRKINST)/usr/bin/mpd \
  222. $(IDIR_MPD)/usr/bin
  223. $(INSTALL_DATA) ./files/mpd.conf \
  224. $(IDIR_MPD)/etc
  225. include $(ADK_TOPDIR)/mk/pkg-bottom.mk