Makefile 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  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.23.12
  6. PKG_RELEASE:= 1
  7. PKG_HASH:= b7fca62284ecc25a681ea6a07abc49200af5353be42cb5a31e3173be9d8702e7
  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.23/
  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 WITH_JACK
  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_JACK:= enable JACK support
  35. PKGFS_WITH_JACK:= jack
  36. PKGFB_WITH_JACK:= jack
  37. ifeq ($(ADK_PACKAGE_MPD_WITH_JACK),y)
  38. PKG_FDEPENDS+= jack
  39. endif
  40. PKGFD_WITH_MP3:= enable MP3 support
  41. PKGFS_WITH_MP3:= libid3tag libmad
  42. PKGFB_WITH_MP3:= libid3tag libmad
  43. ifeq ($(ADK_PACKAGE_MPD_WITH_MP3),y)
  44. PKG_FDEPENDS+= libid3tag libmad
  45. endif
  46. PKGFD_WITH_MP4:= enable MP4 support
  47. PKGFS_WITH_MP4:= libfaad2
  48. PKGFB_WITH_MP4:= faad2
  49. ifeq ($(ADK_PACKAGE_MPD_WITH_MP4),y)
  50. PKG_FDEPENDS+= libfaad2
  51. endif
  52. PKGFD_WITH_OGG:= enable OGG support
  53. PKGFS_WITH_OGG:= libvorbis libogg
  54. PKGFB_WITH_OGG:= libvorbis libogg
  55. ifeq ($(ADK_PACKAGE_MPD_WITH_OGG),y)
  56. PKG_FDEPENDS+= libvorbis libogg
  57. endif
  58. PKGFD_WITH_FLAC:= enable FLAC support
  59. PKGFS_WITH_FLAC:= libflac
  60. PKGFB_WITH_FLAC:= flac
  61. ifeq ($(ADK_PACKAGE_MPD_WITH_FLAC),y)
  62. PKG_FDEPENDS+= libflac
  63. endif
  64. PKGFD_WITH_WAV:= enable WAVE support
  65. PKGFS_WITH_WAV:= libaudiofile
  66. PKGFB_WITH_WAV:= libaudiofile
  67. ifeq ($(ADK_PACKAGE_MPD_WITH_WAV),y)
  68. PKG_FDEPENDS+= libaudiofile
  69. endif
  70. PKGFD_WITH_MMS:= enable MMS support
  71. PKGFS_WITH_MMS:= libmms
  72. PKGFB_WITH_MMS:= libmms
  73. ifeq ($(ADK_PACKAGE_MPD_WITH_MMS),y)
  74. PKG_FDEPENDS+= libmms
  75. endif
  76. PKGFD_WITH_FFMPEG:= enable FFMPEG support
  77. PKGFS_WITH_FFMPEG:= libffmpeg
  78. PKGFB_WITH_FFMPEG:= ffmpeg
  79. ifeq ($(ADK_PACKAGE_MPD_WITH_FFMPEG),y)
  80. PKG_FDEPENDS+= libffmpeg
  81. endif
  82. PKGFD_WITH_SHOUT:= enable Shoutcast output support
  83. PKGFS_WITH_SHOUT:= libshout libmp3lame libvorbisenc
  84. PKGFB_WITH_SHOUT:= lame libvorbis libshout
  85. ifeq ($(ADK_PACKAGE_MPD_WITH_SHOUT),y)
  86. PKG_FDEPENDS+= libshout libmp3lame libvorbisenc
  87. endif
  88. PKGFD_WITH_CURL:= enable CURL support
  89. PKGFS_WITH_CURL:= libcurl
  90. PKGFB_WITH_CURL:= curl
  91. ifeq ($(ADK_PACKAGE_MPD_WITH_CURL),y)
  92. PKG_FDEPENDS+= curl
  93. endif
  94. PKGFD_WITH_SAMPLERATE:= enable samplerate support
  95. PKGFS_WITH_SAMPLERATE:= libsamplerate
  96. PKGFB_WITH_SAMPLERATE:= libsamplerate
  97. ifeq ($(ADK_PACKAGE_MPD_WITH_SAMPLERATE),y)
  98. PKG_FDEPENDS+= libsamplerate
  99. endif
  100. PKGFD_WITH_OPUS:= enable OPUS support
  101. PKGFS_WITH_OPUS:= libopus
  102. PKGFB_WITH_OPUS:= opus
  103. ifeq ($(ADK_PACKAGE_MPD_WITH_OPUS),y)
  104. PKG_FDEPENDS+= libopus
  105. endif
  106. PKGFD_WITH_SNDFILE:= enable sndfile support
  107. PKGFS_WITH_SNDFILE:= libsndfile
  108. PKGFB_WITH_SNDFILE:= libsndfile
  109. ifeq ($(ADK_PACKAGE_MPD_WITH_SNDFILE),y)
  110. PKG_FDEPENDS+= libsndfile
  111. endif
  112. PKGFD_WITH_PULSE:= enable pulse support
  113. PKGFS_WITH_PULSE:= pulseaudio
  114. PKGFB_WITH_PULSE:= pulseaudio
  115. ifeq ($(ADK_PACKAGE_MPD_WITH_PULSE),y)
  116. PKG_FDEPENDS+= pulseaudio
  117. endif
  118. PKGFD_WITH_AVAHI:= enable avahi/zeroconf support
  119. PKGFS_WITH_AVAHI:= libavahi libdbus
  120. PKGFB_WITH_AVAHI:= avahi
  121. ifeq ($(ADK_PACKAGE_MPD_WITH_AVAHI),y)
  122. PKG_FDEPENDS+= libavahi
  123. endif
  124. PKGFD_WITH_HTTPD:= enable http output
  125. include $(ADK_TOPDIR)/mk/package.mk
  126. $(eval $(call PKG_template,MPD,mpd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_FDEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
  127. WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
  128. CONFIG_STYLE:= meson
  129. BUILD_STYLE:= meson
  130. INSTALL_STYLE:= meson
  131. TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
  132. TARGET_CFLAGS+= -std=gnu99
  133. MESON_FLAGS+= -Dfifo=false \
  134. -Doss=disabled
  135. ifneq ($(ADK_PACKAGE_MPD_WITH_JACK),)
  136. MESON_FLAGS+= -Djack=enabled
  137. else
  138. MESON_FLAGS+= -Djack=disabled
  139. endif
  140. ifneq ($(ADK_PACKAGE_MPD_WITH_SNDFILE),)
  141. MESON_FLAGS+= -Dsndfile=enabled
  142. else
  143. MESON_FLAGS+= -Dsndfile=disabled
  144. endif
  145. ifneq ($(ADK_PACKAGE_MPD_WITH_HTTPD),)
  146. MESON_FLAGS+= -Dhttpd=true
  147. else
  148. MESON_FLAGS+= -Dhttpd=false
  149. endif
  150. ifneq ($(ADK_PACKAGE_MPD_WITH_AVAHI),)
  151. MESON_FLAGS+= -Dzeroconf=avahi
  152. else
  153. MESON_FLAGS+= -Dzeroconf=disabled
  154. endif
  155. ifneq ($(ADK_PACKAGE_MPD_WITH_PULSE),)
  156. MESON_FLAGS+= -Dpulse=enabled
  157. else
  158. MESON_FLAGS+= -Dpulse=disabled
  159. endif
  160. ifneq ($(ADK_PACKAGE_MPD_WITH_ALSA),)
  161. MESON_FLAGS+= -Dalsa=enabled
  162. else
  163. MESON_FLAGS+= -Dalsa=disabled
  164. endif
  165. ifneq ($(ADK_PACKAGE_MPD_WITH_AO),)
  166. MESON_FLAGS+= -Dao=enabled
  167. else
  168. MESON_FLAGS+= -Dao=disabled
  169. endif
  170. ifneq ($(ADK_PACKAGE_MPD_WITH_MP3),)
  171. MESON_FLAGS+= -Dmad=enabled
  172. else
  173. MESON_FLAGS+= -Dmad=disabled
  174. endif
  175. ifneq ($(ADK_PACKAGE_MPD_WITH_MP4),)
  176. MESON_FLAGS+= -Dfaad=enabled
  177. else
  178. MESON_FLAGS+= -Dfaad=disabled
  179. endif
  180. ifneq ($(ADK_PACKAGE_MPD_WITH_OGG),)
  181. MESON_FLAGS+= -Dvorbis=enabled
  182. else
  183. MESON_FLAGS+= -Dvorbis=disabled
  184. endif
  185. ifneq ($(ADK_PACKAGE_MPD_WITH_TREMOR),)
  186. MESON_FLAGS+= -Dtremor=enabled
  187. endif
  188. ifneq ($(ADK_PACKAGE_MPD_WITH_FLAC),)
  189. MESON_FLAGS+= -Dflac=enabled
  190. else
  191. MESON_FLAGS+= -Dflac=disabled
  192. endif
  193. ifneq ($(ADK_PACKAGE_MPD_WITH_WAV),)
  194. MESON_FLAGS+= -Daudiofile=enabled
  195. else
  196. MESON_FLAGS+= -Daudiofile=disabled
  197. endif
  198. ifneq ($(ADK_PACKAGE_MPD_WITH_SHOUT),)
  199. MESON_FLAGS+= -Dshout=enabled
  200. else
  201. MESON_FLAGS+= -Dshout=disabled
  202. endif
  203. ifneq ($(ADK_PACKAGE_MPD_WITH_CURL),)
  204. MESON_FLAGS+= -Dcurl=enabled
  205. else
  206. MESON_FLAGS+= -Dcurl=disabled
  207. endif
  208. ifneq ($(ADK_PACKAGE_MPD_WITH_MMS),)
  209. MESON_FLAGS+= -Dmms=enabled
  210. else
  211. MESON_FLAGS+= -Dmms=disabled
  212. endif
  213. ifneq ($(ADK_PACKAGE_MPD_WITH_FFMPEG),)
  214. MESON_FLAGS+= -Dffmpeg=enabled
  215. else
  216. MESON_FLAGS+= -Dffmpeg=disabled
  217. endif
  218. ifneq ($(ADK_PACKAGE_MPD_WITH_SAMPLERATE),)
  219. MESON_FLAGS+= -Dlibsamplerate=enabled
  220. else
  221. MESON_FLAGS+= -Dlibsamplerate=disabled
  222. endif
  223. ifneq ($(ADK_PACKAGE_MPD_WITH_OPUS),)
  224. MESON_FLAGS+= -Dopus=enabled
  225. else
  226. MESON_FLAGS+= -Dopus=disabled
  227. endif
  228. mpd-install:
  229. $(INSTALL_DIR) $(IDIR_MPD)/etc
  230. $(INSTALL_DIR) $(IDIR_MPD)/usr/bin
  231. $(INSTALL_BIN) $(WRKINST)/usr/bin/mpd \
  232. $(IDIR_MPD)/usr/bin
  233. $(INSTALL_DATA) ./files/mpd.conf \
  234. $(IDIR_MPD)/etc
  235. include $(ADK_TOPDIR)/mk/pkg-bottom.mk