diff options
Diffstat (limited to '')
-rw-r--r-- | Makefile.am | 660 |
1 files changed, 385 insertions, 275 deletions
diff --git a/Makefile.am b/Makefile.am index 6401e3a48..00edcfdd7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ ACLOCAL_AMFLAGS = -I m4 -AUTOMAKE_OPTIONS = foreign 1.10 dist-bzip2 subdir-objects +AUTOMAKE_OPTIONS = foreign 1.11 dist-bzip2 subdir-objects AM_CPPFLAGS += -I$(srcdir)/src $(GLIB_CFLAGS) @@ -7,31 +7,33 @@ AM_CPPFLAGS += -DSYSTEM_CONFIG_FILE_LOCATION='"$(sysconfdir)/mpd.conf"' bin_PROGRAMS = src/mpd -noinst_LIBRARIES = +noinst_LIBRARIES = \ + libpcm.a \ + libtag.a \ + libinput.a \ + libplaylist_plugins.a \ + libdecoder_plugins.a \ + libfilter_plugins.a \ + libmixer_plugins.a \ + liboutput_plugins.a -src_mpd_CFLAGS = $(AM_CFLAGS) $(MPD_CFLAGS) src_mpd_CPPFLAGS = $(AM_CPPFLAGS) \ $(AVAHI_CFLAGS) \ $(LIBWRAP_CFLAGS) \ - $(SQLITE_CFLAGS) \ - $(ARCHIVE_CFLAGS) \ - $(INPUT_CFLAGS) \ - $(TAG_CFLAGS) \ - $(DECODER_CFLAGS) \ - $(ENCODER_CFLAGS) \ - $(FILTER_CFLAGS) \ - $(OUTPUT_CFLAGS) -src_mpd_LDADD = $(MPD_LIBS) \ + $(SQLITE_CFLAGS) +src_mpd_LDADD = \ + $(PLAYLIST_LIBS) \ $(AVAHI_LIBS) \ $(LIBWRAP_LDFLAGS) \ $(SQLITE_LIBS) \ - $(ARCHIVE_LIBS) \ + $(DECODER_LIBS) \ $(INPUT_LIBS) \ + $(ARCHIVE_LIBS) \ $(TAG_LIBS) \ - $(DECODER_LIBS) \ - $(ENCODER_LIBS) \ $(OUTPUT_LIBS) \ $(FILTER_LIBS) \ + $(ENCODER_LIBS) \ + $(MIXER_LIBS) \ $(GLIB_LIBS) mpd_headers = \ @@ -39,13 +41,11 @@ mpd_headers = \ src/notify.h \ src/ack.h \ src/ape.h \ - src/audio.h \ src/audio_format.h \ src/audio_check.h \ src/audio_parser.h \ src/output_internal.h \ src/output_api.h \ - src/output_plugin.h \ src/output_list.h \ src/output_all.h \ src/output_thread.h \ @@ -78,7 +78,6 @@ mpd_headers = \ src/decoder_internal.h \ src/directory.h \ src/directory_save.h \ - src/directory_print.h \ src/database.h \ src/encoder_plugin.h \ src/encoder_list.h \ @@ -91,7 +90,6 @@ mpd_headers = \ src/inotify_source.h \ src/inotify_queue.h \ src/inotify_update.h \ - src/dirvec.h \ src/gcc.h \ src/decoder_list.h \ src/decoder_print.h \ @@ -100,6 +98,7 @@ mpd_headers = \ src/decoder/flac_pcm.h \ src/decoder/_flac_common.h \ src/decoder/_ogg_common.h \ + src/decoder/pcm_decoder_plugin.h \ src/input_init.h \ src/input_plugin.h \ src/input_registry.h \ @@ -109,6 +108,9 @@ mpd_headers = \ src/input/curl_input_plugin.h \ src/input/rewind_input_plugin.h \ src/input/mms_input_plugin.h \ + src/input/despotify_input_plugin.h \ + src/input/cdio_paranoia_input_plugin.h \ + src/despotify_utils.h \ src/text_file.h \ src/text_input_stream.h \ src/icy_server.h \ @@ -140,25 +142,12 @@ mpd_headers = \ src/open.h \ src/output/httpd_client.h \ src/output/httpd_internal.h \ - src/output/pulse_output_plugin.h \ - src/output/winmm_output_plugin.h \ src/page.h \ - src/pcm_utils.h \ - src/pcm_convert.h \ - src/pcm_volume.h \ - src/pcm_mix.h \ - src/pcm_byteswap.h \ - src/pcm_channels.h \ - src/pcm_format.h \ - src/pcm_resample.h \ - src/pcm_resample_internal.h \ - src/pcm_dither.h \ - src/pcm_pack.h \ - src/pcm_prng.h \ src/permission.h \ src/player_thread.h \ src/player_control.h \ src/playlist.h \ + src/playlist_error.h \ src/playlist_internal.h \ src/playlist_print.h \ src/playlist_save.h \ @@ -178,6 +167,7 @@ mpd_headers = \ src/playlist/asx_playlist_plugin.h \ src/playlist/rss_playlist_plugin.h \ src/playlist/lastfm_playlist_plugin.h \ + src/playlist/despotify_playlist_plugin.h \ src/playlist/cue_playlist_plugin.h \ src/playlist/flac_playlist_plugin.h \ src/poison.h \ @@ -195,7 +185,7 @@ mpd_headers = \ src/song_print.h \ src/song_save.h \ src/song_sticker.h \ - src/songvec.h \ + src/song_sort.c src/song_sort.h \ src/socket_util.h \ src/state_file.h \ src/stats.h \ @@ -214,6 +204,7 @@ mpd_headers = \ src/strset.h \ src/uri.h \ src/utils.h \ + src/string_util.h \ src/volume.h \ src/zeroconf.h src/zeroconf-internal.h \ src/locate.h \ @@ -232,18 +223,14 @@ mpd_headers = \ src_mpd_SOURCES = \ $(mpd_headers) \ - $(ARCHIVE_SRC) \ - $(INPUT_SRC) \ - $(PLAYLIST_SRC) \ - $(TAG_SRC) \ $(DECODER_SRC) \ - $(ENCODER_SRC) \ - $(OUTPUT_API_SRC) $(OUTPUT_SRC) \ - $(MIXER_API_SRC) $(MIXER_SRC) \ - $(FILTER_SRC) \ + $(OUTPUT_API_SRC) \ + $(MIXER_API_SRC) \ + src/util/list.h \ + src/util/list_sort.c src/util/list_sort.h \ src/glib_socket.h \ src/notify.c \ - src/audio.c \ + src/audio_config.c src/audio_config.h \ src/audio_check.c \ src/audio_format.c \ src/audio_parser.c \ @@ -260,9 +247,15 @@ src_mpd_SOURCES = \ src/decoder_print.c \ src/directory.c \ src/directory_save.c \ - src/directory_print.c \ src/database.c \ - src/dirvec.c \ + src/db_error.h \ + src/db_lock.c src/db_lock.h \ + src/db_save.c src/db_save.h \ + src/db_print.c src/db_print.h \ + src/db_plugin.h \ + src/db_visitor.h \ + src/db_selection.h \ + src/db/simple_db_plugin.c src/db/simple_db_plugin.h \ src/exclude.c \ src/fd_util.c \ src/fifo_buffer.c src/fifo_buffer.h \ @@ -278,16 +271,25 @@ src_mpd_SOURCES = \ src/client_event.c \ src/client_expire.c \ src/client_global.c \ + src/client_idle.h \ src/client_idle.c \ src/client_list.c \ src/client_new.c \ src/client_process.c \ src/client_read.c \ src/client_write.c \ + src/client_message.h \ + src/client_message.c \ + src/client_subscribe.h \ + src/client_subscribe.c \ + src/tcp_connect.c src/tcp_connect.h \ + src/tcp_socket.c src/tcp_socket.h \ + src/udp_server.c src/udp_server.h \ src/server_socket.c \ src/listen.c \ src/log.c \ src/ls.c \ + src/io_thread.c src/io_thread.h \ src/main.c \ src/main_win32.c \ src/event_pipe.c \ @@ -299,17 +301,6 @@ src_mpd_SOURCES = \ src/path.c \ src/mapper.c \ src/page.c \ - src/pcm_buffer.c src/pcm_buffer.h \ - src/pcm_convert.c \ - src/pcm_volume.c \ - src/pcm_mix.c \ - src/pcm_byteswap.c \ - src/pcm_channels.c \ - src/pcm_pack.c \ - src/pcm_format.c \ - src/pcm_resample.c \ - src/pcm_resample_fallback.c \ - src/pcm_dither.c \ src/permission.c \ src/player_thread.c \ src/player_control.c \ @@ -336,7 +327,7 @@ src_mpd_SOURCES = \ src/song_update.c \ src/song_print.c \ src/song_save.c \ - src/songvec.c \ + src/resolver.c src/resolver.h \ src/socket_util.c \ src/state_file.c \ src/stats.c \ @@ -350,11 +341,17 @@ src_mpd_SOURCES = \ src/strset.c \ src/uri.c \ src/utils.c \ + src/string_util.c \ src/volume.c \ src/locate.c \ src/stored_playlist.c \ src/timer.c +if ENABLE_DESPOTIFY +src_mpd_SOURCES += \ + src/despotify_utils.c +endif + if ENABLE_INOTIFY src_mpd_SOURCES += \ src/inotify_source.c \ @@ -369,69 +366,104 @@ src_mpd_SOURCES += \ src/song_sticker.c endif -FILTER_CFLAGS = \ +# PCM library + +libpcm_a_SOURCES = \ + src/pcm_buffer.c src/pcm_buffer.h \ + src/pcm_convert.c src/pcm_convert.h \ + src/pcm_volume.c src/pcm_volume.h \ + src/pcm_mix.c src/pcm_mix.h \ + src/pcm_byteswap.c src/pcm_byteswap.h \ + src/pcm_channels.c src/pcm_channels.h \ + src/pcm_pack.c src/pcm_pack.h \ + src/pcm_format.c src/pcm_format.h \ + src/pcm_resample.c src/pcm_resample.h \ + src/pcm_resample_fallback.c \ + src/pcm_resample_internal.h \ + src/pcm_dither.c src/pcm_dither.h \ + src/pcm_prng.h \ + src/pcm_utils.h +libpcm_a_CPPFLAGS = $(AM_CPPFLAGS) \ $(SAMPLERATE_CFLAGS) -FILTER_LIBS = \ + +PCM_LIBS = \ + libpcm.a \ $(SAMPLERATE_LIBS) if HAVE_LIBSAMPLERATE -src_mpd_SOURCES += src/pcm_resample_libsamplerate.c +libpcm_a_SOURCES += src/pcm_resample_libsamplerate.c endif # archive plugins -ARCHIVE_CFLAGS = \ +if ENABLE_ARCHIVE + +noinst_LIBRARIES += libarchive.a + +libarchive_a_SOURCES = \ + src/archive_api.c \ + src/archive_list.c \ + src/archive_plugin.c \ + src/input/archive_input_plugin.c +libarchive_a_CPPFLAGS = $(AM_CPPFLAGS) \ + $(BZ2_CFLAGS) \ $(ISO9660_CFLAGS) \ $(ZZIP_CFLAGS) ARCHIVE_LIBS = \ + libarchive.a \ + $(BZ2_LIBS) \ $(ISO9660_LIBS) \ $(ZZIP_LIBS) -ARCHIVE_SRC = - if HAVE_BZ2 -ARCHIVE_SRC += src/archive/bz2_archive_plugin.c +libarchive_a_SOURCES += src/archive/bz2_archive_plugin.c endif if HAVE_ZZIP -ARCHIVE_SRC += src/archive/zzip_archive_plugin.c +libarchive_a_SOURCES += src/archive/zzip_archive_plugin.c endif if HAVE_ISO9660 -ARCHIVE_SRC += src/archive/iso9660_archive_plugin.c +libarchive_a_SOURCES += src/archive/iso9660_archive_plugin.c endif -if ENABLE_ARCHIVE -ARCHIVE_SRC += \ - src/archive_api.c \ - src/archive_list.c \ - src/archive_plugin.c \ - src/input/archive_input_plugin.c +else +ARCHIVE_LIBS = endif # tag plugins -TAG_CFLAGS = \ +libtag_a_CPPFLAGS = $(AM_CPPFLAGS) \ $(ID3TAG_CFLAGS) TAG_LIBS = \ + libtag.a \ $(ID3TAG_LIBS) -TAG_SRC = \ +libtag_a_SOURCES =\ src/ape.c \ src/replay_gain_ape.c \ src/tag_ape.c if HAVE_ID3TAG -TAG_SRC += src/tag_id3.c \ +libtag_a_SOURCES += \ + src/tag_id3.c \ src/tag_rva2.c \ src/riff.c src/aiff.c endif # decoder plugins -DECODER_CFLAGS = \ +libdecoder_plugins_a_SOURCES = \ + src/decoder/pcm_decoder_plugin.c \ + src/decoder/dsdiff_decoder_plugin.c \ + src/decoder/dsdiff_decoder_plugin.h \ + src/dsd2pcm/dsd2pcm.c src/dsd2pcm/dsd2pcm.h \ + src/decoder_buffer.c \ + src/decoder_plugin.c \ + src/decoder_list.c +libdecoder_plugins_a_CPPFLAGS = $(AM_CPPFLAGS) \ $(VORBIS_CFLAGS) $(TREMOR_CFLAGS) \ $(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \ $(SNDFILE_CFLAGS) \ @@ -445,9 +477,12 @@ DECODER_CFLAGS = \ $(MAD_CFLAGS) \ $(MPG123_CFLAGS) \ $(FFMPEG_CFLAGS) \ + $(MPCDEC_CFLAGS) \ + $(FAAD_CFLAGS) \ $(CUE_CFLAGS) DECODER_LIBS = \ + libdecoder_plugins.a \ $(VORBIS_LIBS) $(TREMOR_LIBS) \ $(FLAC_LIBS) \ $(SNDFILE_LIBS) \ @@ -461,66 +496,61 @@ DECODER_LIBS = \ $(MPG123_LIBS) \ $(MP4FF_LIBS) \ $(FFMPEG_LIBS) \ + $(MPCDEC_LIBS) \ + $(FAAD_LIBS) \ $(CUE_LIBS) -DECODER_SRC = \ - src/decoder_buffer.c \ - src/decoder_plugin.c \ - src/decoder_list.c +DECODER_SRC = if HAVE_MAD -DECODER_SRC += src/decoder/mad_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/mad_decoder_plugin.c endif if HAVE_MPG123 -DECODER_SRC += src/decoder/mpg123_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/mpg123_decoder_plugin.c endif if HAVE_MPCDEC -DECODER_SRC += src/decoder/mpcdec_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/mpcdec_decoder_plugin.c endif if HAVE_WAVPACK -DECODER_SRC += src/decoder/wavpack_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/wavpack_decoder_plugin.c endif if HAVE_FAAD -DECODER_SRC += src/decoder/faad_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/faad_decoder_plugin.c endif if HAVE_MP4 -DECODER_SRC += src/decoder/mp4ff_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/mp4ff_decoder_plugin.c endif if HAVE_OGG_COMMON -DECODER_SRC += src/decoder/_ogg_common.c +libdecoder_plugins_a_SOURCES += src/decoder/_ogg_common.c endif if HAVE_FLAC_COMMON -DECODER_SRC += \ +libdecoder_plugins_a_SOURCES += \ src/decoder/flac_metadata.c \ src/decoder/flac_pcm.c \ src/decoder/_flac_common.c endif if ENABLE_VORBIS_DECODER -DECODER_SRC += src/decoder/vorbis_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/vorbis_decoder_plugin.c endif if HAVE_FLAC -DECODER_SRC += src/decoder/flac_decoder_plugin.c -endif - -if HAVE_OGGFLAC -DECODER_SRC += src/decoder/oggflac_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/flac_decoder_plugin.c endif if HAVE_AUDIOFILE -DECODER_SRC += src/decoder/audiofile_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/audiofile_decoder_plugin.c endif if ENABLE_MIKMOD_DECODER -DECODER_SRC += src/decoder/mikmod_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/mikmod_decoder_plugin.c endif if HAVE_MODPLUG @@ -532,68 +562,76 @@ DECODER_LIBS += libmodplug_decoder_plugin.a $(MODPLUG_LIBS) endif if ENABLE_SIDPLAY -DECODER_SRC += src/decoder/sidplay_decoder_plugin.cxx +libdecoder_plugins_a_SOURCES += src/decoder/sidplay_decoder_plugin.cxx +DECODER_SRC += src/dummy.cxx endif if ENABLE_FLUIDSYNTH -DECODER_SRC += src/decoder/fluidsynth_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/fluidsynth_decoder_plugin.c endif if ENABLE_WILDMIDI -DECODER_SRC += src/decoder/wildmidi_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/wildmidi_decoder_plugin.c endif if HAVE_FFMPEG -DECODER_SRC += src/decoder/ffmpeg_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/ffmpeg_decoder_plugin.c endif if ENABLE_SNDFILE -DECODER_SRC += src/decoder/sndfile_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/sndfile_decoder_plugin.c endif if HAVE_GME -DECODER_SRC += src/decoder/gme_decoder_plugin.c +libdecoder_plugins_a_SOURCES += src/decoder/gme_decoder_plugin.c endif # encoder plugins -ENCODER_CFLAGS = \ +if ENABLE_ENCODER + +noinst_LIBRARIES += libencoder_plugins.a + +libencoder_plugins_a_CPPFLAGS = $(AM_CPPFLAGS) \ $(LAME_CFLAGS) \ $(TWOLAME_CFLAGS) \ $(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \ $(VORBISENC_CFLAGS) ENCODER_LIBS = \ + libencoder_plugins.a \ $(LAME_LIBS) \ $(TWOLAME_LIBS) \ $(FLAC_LIBS) \ $(VORBISENC_LIBS) -ENCODER_SRC = +libencoder_plugins_a_SOURCES = -if ENABLE_ENCODER -ENCODER_SRC += src/encoder_list.c -ENCODER_SRC += src/encoder/null_encoder.c +libencoder_plugins_a_SOURCES += src/encoder_list.c +libencoder_plugins_a_SOURCES += src/encoder/null_encoder.c if ENABLE_WAVE_ENCODER -ENCODER_SRC += src/encoder/wave_encoder.c +libencoder_plugins_a_SOURCES += src/encoder/wave_encoder.c endif if ENABLE_VORBIS_ENCODER -ENCODER_SRC += src/encoder/vorbis_encoder.c +libencoder_plugins_a_SOURCES += src/encoder/vorbis_encoder.c endif if ENABLE_LAME_ENCODER -ENCODER_SRC += src/encoder/lame_encoder.c +libencoder_plugins_a_SOURCES += src/encoder/lame_encoder.c endif if ENABLE_TWOLAME_ENCODER -ENCODER_SRC += src/encoder/twolame_encoder.c +libencoder_plugins_a_SOURCES += src/encoder/twolame_encoder.c endif if ENABLE_FLAC_ENCODER -ENCODER_SRC += src/encoder/flac_encoder.c +libencoder_plugins_a_SOURCES += src/encoder/flac_encoder.c endif + +else +ENCODER_LIBS = endif @@ -609,58 +647,79 @@ src_mpd_SOURCES += src/zeroconf-bonjour.c endif endif -if HAVE_CUE -DECODER_SRC += src/cue/cue_tag.c -endif - # # input plugins # -INPUT_CFLAGS = \ +libinput_a_SOURCES = \ + src/input_init.c \ + src/input_registry.c \ + src/input_stream.c \ + src/input_internal.c src/input_internal.h \ + src/input/rewind_input_plugin.c \ + src/input/file_input_plugin.c + +libinput_a_CPPFLAGS = $(AM_CPPFLAGS) \ $(CURL_CFLAGS) \ + $(SOUP_CFLAGS) \ + $(CDIO_PARANOIA_CFLAGS) \ $(FFMPEG_CFLAGS) \ + $(DESPOTIFY_CFLAGS) \ $(MMS_CFLAGS) INPUT_LIBS = \ + libinput.a \ $(CURL_LIBS) \ + $(SOUP_LIBS) \ + $(CDIO_PARANOIA_LIBS) \ $(FFMPEG_LIBS) \ + $(DESPOTIFY_LIBS) \ $(MMS_LIBS) -INPUT_SRC = \ - src/input_init.c \ - src/input_registry.c \ - src/input_stream.c \ - src/input/rewind_input_plugin.c \ - src/input/file_input_plugin.c - if ENABLE_CURL -INPUT_SRC += src/input/curl_input_plugin.c \ +libinput_a_SOURCES += src/input/curl_input_plugin.c \ src/icy_metadata.c endif +if ENABLE_SOUP +libinput_a_SOURCES += \ + src/input/soup_input_plugin.c \ + src/input/soup_input_plugin.h +endif + +if ENABLE_CDIO_PARANOIA +libinput_a_SOURCES += src/input/cdio_paranoia_input_plugin.c +endif + if HAVE_FFMPEG -INPUT_SRC += src/input/ffmpeg_input_plugin.c +libinput_a_SOURCES += src/input/ffmpeg_input_plugin.c endif if ENABLE_MMS -INPUT_SRC += src/input/mms_input_plugin.c +libinput_a_SOURCES += src/input/mms_input_plugin.c +endif + +if ENABLE_DESPOTIFY +libinput_a_SOURCES += src/input/despotify_input_plugin.c endif -OUTPUT_CFLAGS = \ +liboutput_plugins_a_CPPFLAGS = $(AM_CPPFLAGS) \ $(AO_CFLAGS) \ $(ALSA_CFLAGS) \ $(FFADO_CFLAGS) \ $(JACK_CFLAGS) \ $(OPENAL_CFLAGS) \ + $(OPENSSL_CFLAGS) \ $(PULSE_CFLAGS) \ $(SHOUT_CFLAGS) OUTPUT_LIBS = \ + liboutput_plugins.a \ $(LIBWRAP_LDFLAGS) \ $(AO_LIBS) \ $(ALSA_LIBS) \ + $(ROAR_LIBS) \ $(FFADO_LIBS) \ $(JACK_LIBS) \ $(OPENAL_LIBS) \ @@ -675,10 +734,16 @@ OUTPUT_API_SRC = \ src/output_state.c \ src/output_print.c \ src/output_command.c \ + src/output_plugin.c src/output_plugin.h \ + src/output_finish.c \ src/output_init.c -OUTPUT_SRC = \ - src/output/null_plugin.c +liboutput_plugins_a_SOURCES = \ + src/output/null_output_plugin.c + +MIXER_LIBS = \ + libmixer_plugins.a \ + $(PULSE_LIBS) MIXER_API_SRC = \ src/mixer_control.c \ @@ -686,78 +751,99 @@ MIXER_API_SRC = \ src/mixer_all.c \ src/mixer_api.c -MIXER_SRC = \ +libmixer_plugins_a_SOURCES = \ src/mixer/software_mixer_plugin.c +libmixer_plugins_a_CPPFLAGS = $(AM_CPPFLAGS) \ + $(ALSA_CFLAGS) \ + $(PULSE_CFLAGS) if HAVE_ALSA -OUTPUT_SRC += src/output/alsa_plugin.c -MIXER_SRC += src/mixer/alsa_mixer_plugin.c +liboutput_plugins_a_SOURCES += \ + src/output/alsa_output_plugin.c src/output/alsa_output_plugin.h +libmixer_plugins_a_SOURCES += src/mixer/alsa_mixer_plugin.c +endif + +if HAVE_ROAR +liboutput_plugins_a_SOURCES += \ + src/output/roar_output_plugin.c src/output/roar_output_plugin.h +libmixer_plugins_a_SOURCES += src/mixer/roar_mixer_plugin.c endif if ENABLE_FFADO_OUTPUT -OUTPUT_SRC += src/output/ffado_output_plugin.c +liboutput_plugins_a_SOURCES += src/output/ffado_output_plugin.c endif if HAVE_AO -OUTPUT_SRC += src/output/ao_plugin.c +liboutput_plugins_a_SOURCES += src/output/ao_output_plugin.c endif if HAVE_FIFO -OUTPUT_SRC += src/output/fifo_output_plugin.c +liboutput_plugins_a_SOURCES += src/output/fifo_output_plugin.c endif if ENABLE_PIPE_OUTPUT -OUTPUT_SRC += src/output/pipe_output_plugin.c +liboutput_plugins_a_SOURCES += src/output/pipe_output_plugin.c endif if HAVE_JACK -OUTPUT_SRC += src/output/jack_output_plugin.c +liboutput_plugins_a_SOURCES += src/output/jack_output_plugin.c endif if HAVE_MVP -OUTPUT_SRC += src/output/mvp_plugin.c +liboutput_plugins_a_SOURCES += src/output/mvp_output_plugin.c endif if HAVE_OSS -OUTPUT_SRC += src/output/oss_plugin.c -MIXER_SRC += src/mixer/oss_mixer_plugin.c +liboutput_plugins_a_SOURCES += src/output/oss_output_plugin.c +libmixer_plugins_a_SOURCES += src/mixer/oss_mixer_plugin.c endif if HAVE_OPENAL -OUTPUT_SRC += src/output/openal_plugin.c +liboutput_plugins_a_SOURCES += src/output/openal_output_plugin.c endif if HAVE_OSX -OUTPUT_SRC += src/output/osx_plugin.c +liboutput_plugins_a_SOURCES += src/output/osx_output_plugin.c +endif + +if ENABLE_RAOP_OUTPUT +liboutput_plugins_a_SOURCES += \ + src/ntp_server.c src/ntp_server.h \ + src/rtsp_client.c src/rtsp_client.h \ + src/output/raop_output_plugin.c +libmixer_plugins_a_SOURCES += src/mixer/raop_mixer_plugin.c +OUTPUT_LIBS += $(OPENSSL_LIBS) endif if HAVE_PULSE -OUTPUT_SRC += src/output/pulse_output_plugin.c -MIXER_SRC += src/mixer/pulse_mixer_plugin.c +liboutput_plugins_a_SOURCES += \ + src/output/pulse_output_plugin.c src/output/pulse_output_plugin.h +libmixer_plugins_a_SOURCES += src/mixer/pulse_mixer_plugin.c endif if HAVE_SHOUT -OUTPUT_SRC += src/output/shout_plugin.c +liboutput_plugins_a_SOURCES += src/output/shout_output_plugin.c endif if ENABLE_RECORDER_OUTPUT -OUTPUT_SRC += src/output/recorder_output_plugin.c +liboutput_plugins_a_SOURCES += src/output/recorder_output_plugin.c endif if ENABLE_HTTPD_OUTPUT -OUTPUT_SRC += \ +liboutput_plugins_a_SOURCES += \ src/icy_server.c \ src/output/httpd_client.c \ src/output/httpd_output_plugin.c endif if ENABLE_SOLARIS_OUTPUT -OUTPUT_SRC += src/output/solaris_output_plugin.c +liboutput_plugins_a_SOURCES += src/output/solaris_output_plugin.c endif if ENABLE_WINMM_OUTPUT -OUTPUT_SRC += src/output/winmm_output_plugin.c -MIXER_SRC += src/mixer/winmm_mixer_plugin.c +liboutput_plugins_a_SOURCES += \ + src/output/winmm_output_plugin.c src/output/winmm_output_plugin.h +libmixer_plugins_a_SOURCES += src/mixer/winmm_mixer_plugin.c endif @@ -765,7 +851,7 @@ endif # Playlist plugins # -PLAYLIST_SRC = \ +libplaylist_plugins_a_SOURCES = \ src/playlist/extm3u_playlist_plugin.c \ src/playlist/m3u_playlist_plugin.c \ src/playlist/pls_playlist_plugin.c \ @@ -773,17 +859,29 @@ PLAYLIST_SRC = \ src/playlist/asx_playlist_plugin.c \ src/playlist/rss_playlist_plugin.c \ src/playlist_list.c +libplaylist_plugins_a_CPPFLAGS = $(AM_CPPFLAGS) \ + $(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \ + $(CUE_CFLAGS) + +PLAYLIST_LIBS = \ + libplaylist_plugins.a \ + $(FLAC_LIBS) if ENABLE_LASTFM -PLAYLIST_SRC += src/playlist/lastfm_playlist_plugin.c +libplaylist_plugins_a_SOURCES += src/playlist/lastfm_playlist_plugin.c +endif + +if ENABLE_DESPOTIFY +libplaylist_plugins_a_SOURCES += src/playlist/despotify_playlist_plugin.c endif if HAVE_CUE -PLAYLIST_SRC += src/playlist/cue_playlist_plugin.c +libplaylist_plugins_a_SOURCES += src/playlist/cue_playlist_plugin.c +libplaylist_plugins_a_SOURCES += src/cue/cue_tag.c endif if HAVE_FLAC -PLAYLIST_SRC += src/playlist/flac_playlist_plugin.c +libplaylist_plugins_a_SOURCES += src/playlist/flac_playlist_plugin.c endif @@ -791,7 +889,7 @@ endif # Filter plugins # -FILTER_SRC = \ +libfilter_plugins_a_SOURCES = \ src/filter/null_filter_plugin.c \ src/filter/chain_filter_plugin.c \ src/filter/autoconvert_filter_plugin.c \ @@ -801,6 +899,10 @@ FILTER_SRC = \ src/filter/replay_gain_filter_plugin.c \ src/filter/volume_filter_plugin.c +FILTER_LIBS = \ + libfilter_plugins.a \ + $(PCM_LIBS) + # # systemd unit @@ -825,8 +927,9 @@ SPARSE_CPPFLAGS = $(DEFAULT_INCLUDES) \ -I$(shell $(CC) -print-file-name=include-fixed) SPARSE_CPPFLAGS += -D__SCHAR_MAX__=127 -D__SHRT_MAX__=32767 \ -D__INT_MAX__=2147483647 -D__LONG_MAX__=2147483647 +SPARSE_SRC = $(addprefix $(top_srcdir)/,$(filter %.c,$(src_mpd_SOURCES))) sparse-check: - $(SPARSE) -I. $(src_mpd_CFLAGS) $(src_mpd_CPPFLAGS) $(SPARSE_FLAGS) $(SPARSE_CPPFLAGS) $(filter-out %.cxx,$(src_mpd_SOURCES)) + $(SPARSE) -I. $(src_mpd_CFLAGS) $(src_mpd_CPPFLAGS) $(SPARSE_FLAGS) $(SPARSE_CPPFLAGS) $(SPARSE_SRC) .PHONY: sparse-check @@ -837,14 +940,22 @@ sparse-check: if ENABLE_TEST -TESTS = +C_TESTS = \ + test/test_pcm \ + test/test_queue_priority + +TESTS = $(C_TESTS) noinst_PROGRAMS = \ + $(C_TESTS) \ test/read_conf \ + test/run_resolver \ + test/run_tcp_connect \ test/run_input \ test/dump_playlist \ test/run_decoder \ test/read_tags \ + test/run_ntp_server \ test/run_filter \ test/run_output \ test/run_convert \ @@ -856,52 +967,49 @@ if HAVE_ALSA noinst_PROGRAMS += test/read_mixer endif -test_read_conf_CPPFLAGS = $(AM_CPPFLAGS) \ - $(GLIB_CFLAGS) -test_read_conf_LDADD = $(MPD_LIBS) \ +test_read_conf_LDADD = \ $(GLIB_LIBS) test_read_conf_SOURCES = test/read_conf.c \ - src/conf.c src/tokenizer.c src/utils.c + src/conf.c src/tokenizer.c src/utils.c src/string_util.c -test_run_input_CPPFLAGS = $(AM_CPPFLAGS) \ - $(ARCHIVE_CFLAGS) \ - $(INPUT_CFLAGS) -test_run_input_LDADD = $(MPD_LIBS) \ - $(ARCHIVE_LIBS) \ +test_run_resolver_LDADD = \ + $(GLIB_LIBS) +test_run_resolver_SOURCES = test/run_resolver.c \ + src/resolver.c + +test_run_tcp_connect_LDADD = \ + $(GLIB_LIBS) +test_run_tcp_connect_SOURCES = test/run_tcp_connect.c \ + src/io_thread.c src/io_thread.h \ + src/fd_util.c \ + src/resolver.c \ + src/tcp_connect.c + +test_run_input_LDADD = \ $(INPUT_LIBS) \ + $(ARCHIVE_LIBS) \ $(GLIB_LIBS) test_run_input_SOURCES = test/run_input.c \ test/stdbin.h \ - src/conf.c src/tokenizer.c src/utils.c \ + src/io_thread.c src/io_thread.h \ + src/conf.c src/tokenizer.c src/utils.c src/string_util.c\ src/tag.c src/tag_pool.c src/tag_save.c \ - src/fd_util.c \ - $(ARCHIVE_SRC) \ - $(INPUT_SRC) + src/fd_util.c -test_dump_playlist_CPPFLAGS = $(AM_CPPFLAGS) \ - $(CUE_CFLAGS) \ - $(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \ - $(ARCHIVE_CFLAGS) \ - $(INPUT_CFLAGS) -test_dump_playlist_LDADD = $(MPD_LIBS) \ +test_dump_playlist_LDADD = \ + $(PLAYLIST_LIBS) \ $(CUE_LIBS) \ $(FLAC_LIBS) \ - $(ARCHIVE_LIBS) \ $(INPUT_LIBS) \ + $(ARCHIVE_LIBS) \ $(GLIB_LIBS) test_dump_playlist_SOURCES = test/dump_playlist.c \ - src/conf.c src/tokenizer.c src/utils.c \ + src/io_thread.c src/io_thread.h \ + src/conf.c src/tokenizer.c src/utils.c src/string_util.c\ src/uri.c \ src/song.c src/tag.c src/tag_pool.c src/tag_save.c \ src/text_input_stream.c src/fifo_buffer.c \ - src/fd_util.c \ - $(ARCHIVE_SRC) \ - $(INPUT_SRC) \ - $(PLAYLIST_SRC) - -if HAVE_CUE -test_dump_playlist_SOURCES += src/cue/cue_tag.c -endif + src/fd_util.c if HAVE_FLAC test_dump_playlist_SOURCES += \ @@ -909,18 +1017,17 @@ test_dump_playlist_SOURCES += \ src/decoder/flac_metadata.c endif -test_run_decoder_CPPFLAGS = $(AM_CPPFLAGS) \ - $(TAG_CFLAGS) \ - $(ARCHIVE_CFLAGS) \ - $(INPUT_CFLAGS) $(DECODER_CFLAGS) -test_run_decoder_LDADD = $(MPD_LIBS) \ - $(TAG_LIBS) \ +test_run_decoder_LDADD = \ + $(DECODER_LIBS) \ + libpcm.a \ + $(INPUT_LIBS) \ $(ARCHIVE_LIBS) \ - $(INPUT_LIBS) $(DECODER_LIBS) \ + $(TAG_LIBS) \ $(GLIB_LIBS) test_run_decoder_SOURCES = test/run_decoder.c \ test/stdbin.h \ - src/conf.c src/tokenizer.c src/utils.c src/log.c \ + src/io_thread.c src/io_thread.h \ + src/conf.c src/tokenizer.c src/utils.c src/string_util.c src/log.c \ src/tag.c src/tag_pool.c \ src/replay_gain_info.c \ src/uri.c \ @@ -928,87 +1035,87 @@ test_run_decoder_SOURCES = test/run_decoder.c \ src/audio_check.c \ src/audio_format.c \ src/timer.c \ - src/pcm_buffer.c \ $(ARCHIVE_SRC) \ $(INPUT_SRC) \ $(TAG_SRC) \ $(DECODER_SRC) -test_read_tags_CPPFLAGS = $(AM_CPPFLAGS) \ - $(TAG_CFLAGS) \ - $(ARCHIVE_CFLAGS) \ - $(INPUT_CFLAGS) $(DECODER_CFLAGS) -test_read_tags_LDADD = $(MPD_LIBS) \ - $(TAG_LIBS) \ +test_read_tags_LDADD = \ + $(DECODER_LIBS) \ + libpcm.a \ + $(INPUT_LIBS) \ $(ARCHIVE_LIBS) \ - $(INPUT_LIBS) $(DECODER_LIBS) \ + $(TAG_LIBS) \ $(GLIB_LIBS) test_read_tags_SOURCES = test/read_tags.c \ - src/conf.c src/tokenizer.c src/utils.c src/log.c \ + src/io_thread.c src/io_thread.h \ + src/conf.c src/tokenizer.c src/utils.c src/string_util.c src/log.c \ src/tag.c src/tag_pool.c \ src/replay_gain_info.c \ src/uri.c \ src/fd_util.c \ src/audio_check.c \ src/timer.c \ - src/pcm_buffer.c \ - $(ARCHIVE_SRC) \ - $(INPUT_SRC) \ - $(TAG_SRC) \ $(DECODER_SRC) -test_run_filter_CPPFLAGS = $(AM_CPPFLAGS) -test_run_filter_LDADD = $(MPD_LIBS) \ - $(SAMPLERATE_LIBS) \ +test_run_ntp_server_LDADD = \ + $(GLIB_LIBS) +test_run_ntp_server_SOURCES = test/run_ntp_server.c \ + test/signals.c test/signals.h \ + src/io_thread.c src/io_thread.h \ + src/udp_server.c src/udp_server.h \ + src/ntp_server.c src/ntp_server.h + +test_run_filter_LDADD = \ + $(FILTER_LIBS) \ $(GLIB_LIBS) test_run_filter_SOURCES = test/run_filter.c \ test/stdbin.h \ src/filter_plugin.c \ src/filter_registry.c \ - src/conf.c src/tokenizer.c src/utils.c \ - src/pcm_volume.c src/pcm_convert.c src/pcm_byteswap.c \ - src/pcm_format.c src/pcm_channels.c src/pcm_dither.c \ - src/pcm_pack.c \ - src/pcm_resample.c src/pcm_resample_fallback.c \ - src/pcm_buffer.c \ + src/conf.c src/tokenizer.c src/utils.c src/string_util.c \ src/audio_check.c \ src/audio_format.c \ src/audio_parser.c \ src/replay_gain_config.c \ src/replay_gain_info.c \ - src/AudioCompress/compress.c \ - $(FILTER_SRC) + src/AudioCompress/compress.c -if HAVE_LIBSAMPLERATE -test_run_filter_SOURCES += src/pcm_resample_libsamplerate.c +if ENABLE_DESPOTIFY +test_read_tags_SOURCES += \ + src/despotify_utils.c +test_run_input_SOURCES += \ + src/despotify_utils.c +test_dump_playlist_SOURCES += \ + src/despotify_utils.c +test_run_decoder_SOURCES += \ + src/despotify_utils.c endif if ENABLE_ENCODER noinst_PROGRAMS += test/run_encoder test_run_encoder_SOURCES = test/run_encoder.c \ test/stdbin.h \ + src/fifo_buffer.c src/growing_fifo.c \ src/conf.c src/tokenizer.c \ - src/utils.c \ + src/utils.c src/string_util.c \ src/tag.c src/tag_pool.c \ src/audio_check.c \ src/audio_format.c \ - src/audio_parser.c \ - src/pcm_buffer.c \ - src/fifo_buffer.c src/growing_fifo.c \ - $(ENCODER_SRC) -test_run_encoder_CPPFLAGS = $(AM_CPPFLAGS) \ - $(ENCODER_CFLAGS) -test_run_encoder_LDADD = $(MPD_LIBS) \ + src/audio_parser.c +test_run_encoder_LDADD = \ $(ENCODER_LIBS) \ + libpcm.a \ + $(TAG_LIBS) \ $(GLIB_LIBS) endif test_software_volume_SOURCES = test/software_volume.c \ test/stdbin.h \ src/audio_check.c \ - src/audio_parser.c \ - src/pcm_volume.c + src/audio_parser.c test_software_volume_LDADD = \ + $(PCM_LIBS) \ $(GLIB_LIBS) test_run_normalize_SOURCES = test/run_normalize.c \ @@ -1023,36 +1130,23 @@ test_run_convert_SOURCES = test/run_convert.c \ src/fifo_buffer.c \ src/audio_format.c \ src/audio_check.c \ - src/audio_parser.c \ - src/pcm_buffer.c \ - src/pcm_channels.c \ - src/pcm_format.c \ - src/pcm_pack.c \ - src/pcm_dither.c \ - src/pcm_byteswap.c \ - src/pcm_resample.c \ - src/pcm_resample_fallback.c \ - src/pcm_convert.c -test_run_convert_CPPFLAGS = $(AM_CPPFLAGS) $(SAMPLERATE_CFLAGS) + src/audio_parser.c test_run_convert_LDADD = \ - $(SAMPLERATE_LIBS) \ + $(PCM_LIBS) \ $(GLIB_LIBS) -if HAVE_LIBSAMPLERATE -test_run_convert_SOURCES += src/pcm_resample_libsamplerate.c -endif - -test_run_output_CFLAGS = $(AM_CFLAGS) $(MPD_CFLAGS) -test_run_output_CPPFLAGS = $(AM_CPPFLAGS) \ - $(ENCODER_CFLAGS) \ - $(OUTPUT_CFLAGS) test_run_output_LDADD = $(MPD_LIBS) \ - $(ENCODER_LIBS) \ $(OUTPUT_LIBS) \ + $(ENCODER_LIBS) \ + libmixer_plugins.a \ + $(FILTER_LIBS) \ $(GLIB_LIBS) test_run_output_SOURCES = test/run_output.c \ test/stdbin.h \ - src/conf.c src/tokenizer.c src/utils.c src/log.c \ + src/conf.c src/tokenizer.c src/utils.c src/string_util.c src/log.c \ + src/io_thread.c src/io_thread.h \ + src/udp_server.c src/udp_server.h \ + src/tcp_socket.c src/tcp_socket.h \ src/audio_check.c \ src/audio_format.c \ src/audio_parser.c \ @@ -1061,41 +1155,31 @@ test_run_output_SOURCES = test/run_output.c \ src/fifo_buffer.c src/growing_fifo.c \ src/page.c \ src/socket_util.c \ - src/output_init.c src/output_list.c \ - $(ENCODER_SRC) \ + src/resolver.c \ + src/output_init.c src/output_finish.c src/output_list.c \ + src/output_plugin.c \ src/mixer_api.c \ src/mixer_control.c \ src/mixer_type.c \ - $(MIXER_SRC) \ - src/filter_plugin.c src/filter/chain_filter_plugin.c \ + src/filter_plugin.c \ src/filter_config.c \ - src/filter/autoconvert_filter_plugin.c \ - src/filter/convert_filter_plugin.c \ - src/filter/replay_gain_filter_plugin.c \ - src/filter/normalize_filter_plugin.c \ - src/filter/volume_filter_plugin.c \ - src/pcm_volume.c \ - src/pcm_buffer.c \ src/AudioCompress/compress.c \ src/replay_gain_info.c \ src/replay_gain_config.c \ src/fd_util.c \ - src/server_socket.c \ - $(OUTPUT_SRC) + src/server_socket.c -test_read_mixer_CPPFLAGS = $(AM_CPPFLAGS) \ - $(OUTPUT_CFLAGS) -test_read_mixer_LDADD = $(MPD_LIBS) \ +test_read_mixer_LDADD = \ + libpcm.a \ + libmixer_plugins.a \ $(OUTPUT_LIBS) \ $(GLIB_LIBS) test_read_mixer_SOURCES = test/read_mixer.c \ - src/conf.c src/tokenizer.c src/utils.c src/log.c \ + src/conf.c src/tokenizer.c src/utils.c src/string_util.c src/log.c \ src/mixer_control.c src/mixer_api.c \ src/filter_plugin.c \ src/filter/volume_filter_plugin.c \ - src/fd_util.c \ - src/pcm_buffer.c \ - $(MIXER_SRC) + src/fd_util.c if ENABLE_BZIP2_TEST TESTS += test/test_archive_bzip2.sh @@ -1118,6 +1202,33 @@ test_run_inotify_SOURCES = test/run_inotify.c \ test_run_inotify_LDADD = $(GLIB_LIBS) endif +test_test_pcm_SOURCES = \ + test/test_glib_compat.h \ + test/test_pcm_dither.c \ + test/test_pcm_pack.c \ + test/test_pcm_channels.c \ + test/test_pcm_byteswap.c \ + test/test_pcm_all.h \ + test/test_pcm_main.c +test_test_pcm_LDADD = \ + $(PCM_LIBS) \ + $(GLIB_LIBS) + +test_test_queue_priority_SOURCES = \ + src/queue.c \ + test/test_queue_priority.c +test_test_queue_priority_LDADD = \ + $(GLIB_LIBS) + +if HAVE_CXX +noinst_PROGRAMS += src/dsd2pcm/dsd2pcm + +src_dsd2pcm_dsd2pcm_SOURCES = \ + src/dsd2pcm/dsd2pcm.c src/dsd2pcm/dsd2pcm.h \ + src/dsd2pcm/noiseshape.c src/dsd2pcm/noiseshape.h \ + src/dsd2pcm/main.cpp +endif + endif @@ -1155,8 +1266,7 @@ endif doc/api/html/index.html: doc/doxygen.conf @mkdir -p $(@D) - [ "$(srcdir)" = "." ] || sed '/INPUT *=/ s/\([^ ]\+\/\)/$(subst /,\/,$(srcdir))\/\1/g' $(srcdir)/doc/doxygen.conf >doc/doxygen.conf - $(DOXYGEN) doc/doxygen.conf + $(DOXYGEN) $< all-local: $(DOCBOOK_HTML) doc/api/html/index.html |