1 ACLOCAL_AMFLAGS = -I m4
2 AUTOMAKE_OPTIONS = foreign 1.10 dist-bzip2 subdir-objects
4 AM_CPPFLAGS = -I$(srcdir)/src $(GLIB_CFLAGS)
6 AM_CPPFLAGS += -DSYSTEM_CONFIG_FILE_LOCATION='"$(sysconfdir)/mpd.conf"'
10 src_mpd_CFLAGS = $(AM_CFLAGS) $(MPD_CFLAGS)
11 src_mpd_CPPFLAGS = $(AM_CPPFLAGS) \
21 src_mpd_LDADD = $(MPD_LIBS) \
41 src/output_internal.h \
47 src/output_control.h \
50 src/output_command.h \
51 src/filter_internal.h \
54 src/filter_registry.h \
55 src/filter/autoconvert_filter_plugin.h \
56 src/filter/chain_filter_plugin.h \
57 src/filter/convert_filter_plugin.h \
58 src/filter/replay_gain_filter_plugin.h \
59 src/filter/volume_filter_plugin.h \
66 src/decoder_thread.h \
67 src/decoder_control.h \
68 src/decoder_plugin.h \
69 src/decoder_command.h \
70 src/decoder_buffer.h \
72 src/decoder_plugin.h \
73 src/decoder_internal.h \
75 src/directory_save.h \
76 src/directory_print.h \
78 src/encoder_plugin.h \
86 src/update_internal.h \
87 src/inotify_source.h \
89 src/inotify_update.h \
94 src/decoder/flac_compat.h \
95 src/decoder/flac_metadata.h \
96 src/decoder/flac_pcm.h \
97 src/decoder/_flac_common.h \
98 src/decoder/_ogg_common.h \
101 src/input_registry.h \
103 src/input/file_input_plugin.h \
104 src/input/curl_input_plugin.h \
105 src/input/rewind_input_plugin.h \
106 src/input/mms_input_plugin.h \
108 src/text_input_stream.h \
112 src/client_internal.h \
119 src/mixer_control.h \
124 src/mixer/software_mixer_plugin.h \
125 src/mixer/pulse_mixer_plugin.h \
127 src/AudioCompress/config.h \
128 src/AudioCompress/compress.h \
134 src/output/httpd_client.h \
135 src/output/httpd_internal.h \
136 src/output/pulse_output_plugin.h \
147 src/pcm_resample_internal.h \
152 src/player_thread.h \
153 src/player_control.h \
155 src/playlist_internal.h \
156 src/playlist_print.h \
157 src/playlist_save.h \
158 src/playlist_state.h \
159 src/playlist_plugin.h \
160 src/playlist_list.h \
161 src/playlist_mapper.h \
162 src/playlist_song.h \
163 src/playlist_queue.h \
164 src/playlist/extm3u_playlist_plugin.h \
165 src/playlist/m3u_playlist_plugin.h \
166 src/playlist/pls_playlist_plugin.h \
167 src/playlist/xspf_playlist_plugin.h \
168 src/playlist/asx_playlist_plugin.h \
169 src/playlist/lastfm_playlist_plugin.h \
170 src/playlist/cue_playlist_plugin.h \
171 src/playlist/flac_playlist_plugin.h \
178 src/replay_gain_config.h \
179 src/replay_gain_info.h \
190 src/sticker_print.h \
203 src/zeroconf.h src/zeroconf-internal.h \
205 src/stored_playlist.h \
208 src/archive_internal.h \
210 src/archive_plugin.h \
211 src/archive/bz2_archive_plugin.h \
212 src/archive/iso9660_archive_plugin.h \
213 src/archive/zzip_archive_plugin.h \
214 src/input/archive_input_plugin.h \
225 $(OUTPUT_API_SRC) $(OUTPUT_SRC) \
226 $(MIXER_API_SRC) $(MIXER_SRC) \
239 src/decoder_thread.c \
240 src/decoder_control.c \
242 src/decoder_internal.c \
243 src/decoder_print.c \
245 src/directory_save.c \
246 src/directory_print.c \
252 src/filter_config.c \
253 src/filter_plugin.c \
254 src/filter_registry.c \
258 src/update_remove.c \
261 src/client_expire.c \
262 src/client_global.c \
266 src/client_process.c \
275 src/AudioCompress/compress.c \
290 src/pcm_resample_fallback.c \
293 src/player_thread.c \
294 src/player_control.c \
296 src/playlist_global.c \
297 src/playlist_control.c \
298 src/playlist_edit.c \
299 src/playlist_print.c \
300 src/playlist_save.c \
301 src/playlist_mapper.c \
302 src/playlist_song.c \
303 src/playlist_state.c \
304 src/playlist_queue.c \
308 src/replay_gain_config.c \
309 src/replay_gain_info.c \
325 src/text_input_stream.c \
331 src/stored_playlist.c \
336 src/inotify_source.c \
337 src/inotify_queue.c \
344 src/sticker_print.c \
353 if HAVE_LIBSAMPLERATE
354 src_mpd_SOURCES += src/pcm_resample_libsamplerate.c
370 ARCHIVE_SRC += src/archive/bz2_archive_plugin.c
374 ARCHIVE_SRC += src/archive/zzip_archive_plugin.c
378 ARCHIVE_SRC += src/archive/iso9660_archive_plugin.c
385 src/archive_plugin.c \
386 src/input/archive_input_plugin.c
401 TAG_SRC += src/tag_id3.c \
402 src/riff.c src/aiff.c
408 $(VORBIS_CFLAGS) $(TREMOR_CFLAGS) \
409 $(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \
411 $(AUDIOFILE_CFLAGS) \
412 $(LIBMIKMOD_CFLAGS) \
415 $(FLUIDSYNTH_CFLAGS) \
424 $(VORBIS_LIBS) $(TREMOR_LIBS) \
427 $(AUDIOFILE_LIBS) $(LIBMIKMOD_LIBS) \
440 src/decoder_buffer.c \
441 src/decoder_plugin.c \
445 DECODER_SRC += src/decoder/mad_decoder_plugin.c
449 DECODER_SRC += src/decoder/mpg123_decoder_plugin.c
453 DECODER_SRC += src/decoder/mpcdec_decoder_plugin.c
457 DECODER_SRC += src/decoder/wavpack_decoder_plugin.c
461 DECODER_SRC += src/decoder/faad_decoder_plugin.c
465 DECODER_SRC += src/decoder/mp4ff_decoder_plugin.c
469 DECODER_SRC += src/decoder/_ogg_common.c
474 src/decoder/flac_metadata.c \
475 src/decoder/flac_pcm.c \
476 src/decoder/_flac_common.c
479 if ENABLE_VORBIS_DECODER
480 DECODER_SRC += src/decoder/vorbis_decoder_plugin.c
484 DECODER_SRC += src/decoder/flac_decoder_plugin.c
488 DECODER_SRC += src/decoder/oggflac_decoder_plugin.c
492 DECODER_SRC += src/decoder/audiofile_decoder_plugin.c
495 if ENABLE_MIKMOD_DECODER
496 DECODER_SRC += src/decoder/mikmod_decoder_plugin.c
500 DECODER_SRC += src/decoder/modplug_decoder_plugin.c
504 DECODER_SRC += src/decoder/sidplay_decoder_plugin.cxx
508 DECODER_SRC += src/decoder/fluidsynth_decoder_plugin.c
512 DECODER_SRC += src/decoder/wildmidi_decoder_plugin.c
516 DECODER_SRC += src/decoder/ffmpeg_decoder_plugin.c
520 DECODER_SRC += src/decoder/sndfile_decoder_plugin.c
528 $(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \
540 ENCODER_SRC += src/encoder_list.c
541 ENCODER_SRC += src/encoder/null_encoder.c
543 if ENABLE_WAVE_ENCODER
544 ENCODER_SRC += src/encoder/wave_encoder.c
547 if ENABLE_VORBIS_ENCODER
548 ENCODER_SRC += src/encoder/vorbis_encoder.c
551 if ENABLE_LAME_ENCODER
552 ENCODER_SRC += src/encoder/lame_encoder.c
555 if ENABLE_TWOLAME_ENCODER
556 ENCODER_SRC += src/encoder/twolame_encoder.c
559 if ENABLE_FLAC_ENCODER
560 ENCODER_SRC += src/encoder/flac_encoder.c
566 src_mpd_SOURCES += src/zeroconf.c
569 src_mpd_SOURCES += src/zeroconf-avahi.c
573 src_mpd_SOURCES += src/zeroconf-bonjour.c
578 DECODER_SRC += src/cue/cue_tag.c
595 src/input_registry.c \
597 src/input/rewind_input_plugin.c \
598 src/input/file_input_plugin.c
601 INPUT_SRC += src/input/curl_input_plugin.c \
606 INPUT_SRC += src/input/mms_input_plugin.c
629 src/output_thread.c \
630 src/output_control.c \
633 src/output_command.c \
637 src/output/null_plugin.c
640 src/mixer_control.c \
646 src/mixer/software_mixer_plugin.c
649 OUTPUT_SRC += src/output/alsa_plugin.c
650 MIXER_SRC += src/mixer/alsa_mixer_plugin.c
654 OUTPUT_SRC += src/output/ao_plugin.c
658 OUTPUT_SRC += src/output/fifo_output_plugin.c
661 if ENABLE_PIPE_OUTPUT
662 OUTPUT_SRC += src/output/pipe_output_plugin.c
666 OUTPUT_SRC += src/output/jack_output_plugin.c
670 OUTPUT_SRC += src/output/mvp_plugin.c
674 OUTPUT_SRC += src/output/oss_plugin.c
675 MIXER_SRC += src/mixer/oss_mixer_plugin.c
679 OUTPUT_SRC += src/output/openal_plugin.c
683 OUTPUT_SRC += src/output/osx_plugin.c
687 OUTPUT_SRC += src/output/pulse_output_plugin.c
688 MIXER_SRC += src/mixer/pulse_mixer_plugin.c
692 OUTPUT_SRC += src/output/shout_plugin.c
695 if ENABLE_RECORDER_OUTPUT
696 OUTPUT_SRC += src/output/recorder_output_plugin.c
699 if ENABLE_HTTPD_OUTPUT
702 src/output/httpd_client.c \
703 src/output/httpd_output_plugin.c
706 if ENABLE_SOLARIS_OUTPUT
707 OUTPUT_SRC += src/output/solaris_output_plugin.c
716 src/playlist/extm3u_playlist_plugin.c \
717 src/playlist/m3u_playlist_plugin.c \
718 src/playlist/pls_playlist_plugin.c \
719 src/playlist/xspf_playlist_plugin.c \
720 src/playlist/asx_playlist_plugin.c \
724 PLAYLIST_SRC += src/playlist/lastfm_playlist_plugin.c
728 PLAYLIST_SRC += src/playlist/cue_playlist_plugin.c
732 PLAYLIST_SRC += src/playlist/flac_playlist_plugin.c
741 src/filter/null_filter_plugin.c \
742 src/filter/chain_filter_plugin.c \
743 src/filter/autoconvert_filter_plugin.c \
744 src/filter/convert_filter_plugin.c \
745 src/filter/route_filter_plugin.c \
746 src/filter/normalize_filter_plugin.c \
747 src/filter/replay_gain_filter_plugin.c \
748 src/filter/volume_filter_plugin.c
752 # Sparse code analysis
754 # sparse is a semantic parser
755 # URL: git://www.kernel.org/pub/scm/devel/sparse/sparse.git
760 SPARSE_CPPFLAGS = $(DEFAULT_INCLUDES) \
761 -I$(shell $(CC) -print-file-name=include) \
762 -I$(shell $(CC) -print-file-name=include-fixed)
763 SPARSE_CPPFLAGS += -D__SCHAR_MAX__=127 -D__SHRT_MAX__=32767 \
764 -D__INT_MAX__=2147483647 -D__LONG_MAX__=2147483647
766 $(SPARSE) -I. $(src_mpd_CFLAGS) $(src_mpd_CPPFLAGS) $(SPARSE_FLAGS) $(SPARSE_CPPFLAGS) $(filter-out %.cxx,$(src_mpd_SOURCES))
792 test_read_conf_CPPFLAGS = $(AM_CPPFLAGS) \
794 test_read_conf_LDADD = $(MPD_LIBS) \
796 test_read_conf_SOURCES = test/read_conf.c \
797 src/conf.c src/tokenizer.c src/utils.c
799 test_run_input_CPPFLAGS = $(AM_CPPFLAGS) \
802 test_run_input_LDADD = $(MPD_LIBS) \
806 test_run_input_SOURCES = test/run_input.c \
807 src/conf.c src/tokenizer.c src/utils.c \
808 src/tag.c src/tag_pool.c src/tag_save.c \
813 test_dump_playlist_CPPFLAGS = $(AM_CPPFLAGS) \
815 $(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \
818 test_dump_playlist_LDADD = $(MPD_LIBS) \
824 test_dump_playlist_SOURCES = test/dump_playlist.c \
825 src/conf.c src/tokenizer.c src/utils.c \
827 src/song.c src/tag.c src/tag_pool.c src/tag_save.c \
828 src/text_input_stream.c src/fifo_buffer.c \
835 test_dump_playlist_SOURCES += src/cue/cue_tag.c
839 test_dump_playlist_SOURCES += \
840 src/replay_gain_info.c \
841 src/decoder/flac_metadata.c
844 test_run_decoder_CPPFLAGS = $(AM_CPPFLAGS) \
847 $(INPUT_CFLAGS) $(DECODER_CFLAGS)
848 test_run_decoder_LDADD = $(MPD_LIBS) \
851 $(INPUT_LIBS) $(DECODER_LIBS) \
853 test_run_decoder_SOURCES = test/run_decoder.c \
854 src/conf.c src/tokenizer.c src/utils.c src/log.c \
855 src/tag.c src/tag_pool.c \
856 src/replay_gain_info.c \
867 test_read_tags_CPPFLAGS = $(AM_CPPFLAGS) \
870 $(INPUT_CFLAGS) $(DECODER_CFLAGS)
871 test_read_tags_LDADD = $(MPD_LIBS) \
874 $(INPUT_LIBS) $(DECODER_LIBS) \
876 test_read_tags_SOURCES = test/read_tags.c \
877 src/conf.c src/tokenizer.c src/utils.c src/log.c \
878 src/tag.c src/tag_pool.c \
879 src/replay_gain_info.c \
889 test_run_filter_CPPFLAGS = $(AM_CPPFLAGS)
890 test_run_filter_LDADD = $(MPD_LIBS) \
893 test_run_filter_SOURCES = test/run_filter.c \
894 src/filter_plugin.c \
895 src/filter_registry.c \
896 src/conf.c src/tokenizer.c src/utils.c \
897 src/pcm_volume.c src/pcm_convert.c src/pcm_byteswap.c \
898 src/pcm_format.c src/pcm_channels.c src/pcm_dither.c \
900 src/pcm_resample.c src/pcm_resample_fallback.c \
904 src/replay_gain_config.c \
905 src/replay_gain_info.c \
906 src/AudioCompress/compress.c \
909 if HAVE_LIBSAMPLERATE
910 test_run_filter_SOURCES += src/pcm_resample_libsamplerate.c
914 noinst_PROGRAMS += test/run_encoder
915 test_run_encoder_SOURCES = test/run_encoder.c \
916 src/conf.c src/tokenizer.c \
918 src/tag.c src/tag_pool.c \
923 test_run_encoder_LDADD = $(MPD_LIBS) \
928 test_software_volume_SOURCES = test/software_volume.c \
932 test_software_volume_LDADD = \
935 test_run_normalize_SOURCES = test/run_normalize.c \
938 src/AudioCompress/compress.c
939 test_run_normalize_LDADD = \
942 test_run_convert_SOURCES = test/run_convert.c \
953 src/pcm_resample_fallback.c \
955 test_run_convert_CPPFLAGS = $(AM_CPPFLAGS) $(SAMPLERATE_CFLAGS)
956 test_run_convert_LDADD = \
960 if HAVE_LIBSAMPLERATE
961 test_run_convert_SOURCES += src/pcm_resample_libsamplerate.c
964 test_run_output_CPPFLAGS = $(AM_CPPFLAGS) \
967 test_run_output_LDADD = $(MPD_LIBS) \
971 test_run_output_SOURCES = test/run_output.c \
972 src/conf.c src/tokenizer.c src/utils.c src/log.c \
977 src/tag.c src/tag_pool.c \
981 src/output_init.c src/output_list.c \
984 src/mixer_control.c \
987 src/filter_plugin.c src/filter/chain_filter_plugin.c \
988 src/filter_config.c \
989 src/filter/autoconvert_filter_plugin.c \
990 src/filter/convert_filter_plugin.c \
991 src/filter/replay_gain_filter_plugin.c \
992 src/filter/normalize_filter_plugin.c \
993 src/filter/volume_filter_plugin.c \
995 src/AudioCompress/compress.c \
996 src/replay_gain_info.c \
997 src/replay_gain_config.c \
1001 test_read_mixer_CPPFLAGS = $(AM_CPPFLAGS) \
1003 test_read_mixer_LDADD = $(MPD_LIBS) \
1006 test_read_mixer_SOURCES = test/read_mixer.c \
1007 src/conf.c src/tokenizer.c src/utils.c src/log.c \
1008 src/mixer_control.c src/mixer_api.c \
1009 src/filter_plugin.c \
1010 src/filter/volume_filter_plugin.c \
1014 if ENABLE_BZIP2_TEST
1015 TESTS += test/test_archive_bzip2.sh
1019 TESTS += test/test_archive_zzip.sh
1022 if ENABLE_ISO9660_TEST
1023 TESTS += test/test_archive_iso9660.sh
1033 man_MANS = doc/mpd.1 doc/mpd.conf.5
1034 doc_DATA = AUTHORS COPYING NEWS README UPGRADING doc/mpdconf.example
1036 DOCBOOK_FILES = doc/protocol.xml doc/user.xml doc/developer.xml
1038 if ENABLE_DOCUMENTATION
1039 protocoldir = $(docdir)/protocol
1040 protocol_DATA = $(wildcard doc/protocol/*.html)
1042 userdir = $(docdir)/user
1043 user_DATA = $(wildcard doc/user/*.html)
1045 developerdir = $(docdir)/developer
1046 developer_DATA = $(wildcard doc/developer/*.html)
1050 DOCBOOK_HTML = $(patsubst %.xml,%/index.html,$(DOCBOOK_FILES))
1052 $(DOCBOOK_HTML): %/index.html: %.xml
1053 $(XMLTO) -o $(@D) --stringparam chunker.output.encoding=utf-8 html $<
1061 doc/api/html/index.html: doc/doxygen.conf
1065 all-local: $(DOCBOOK_HTML) doc/api/html/index.html
1068 rm -rf $(patsubst %.xml,%,$(DOCBOOK_FILES))
1071 install-data-local: doc/api/html/index.html
1072 $(mkinstalldirs) $(DESTDIR)$(docdir)/api/html
1073 $(INSTALL_DATA) -c -m 644 doc/api/html/*.html doc/api/html/*.css \
1074 doc/api/html/*.png doc/api/html/*.gif \
1075 $(DESTDIR)$(docdir)/api/html
1077 upload: $(DOCBOOK_HTML) doc/api/html/index.html
1078 rsync -vpruz --delete doc/ cirrus@www.musicpd.org:/var/www/musicpd.org/www/doc/ \
1079 --chmod=Dug+rwx,Do+rx,Fug+rw,Fo+r \
1080 --include=protocol --include=protocol/** \
1081 --include=user --include=user/** \
1082 --include=developer --include=developer/** \
1083 --include=api --include=api/** \
1093 EXTRA_DIST = $(doc_DATA) autogen.sh \
1094 $(wildcard scripts/*.sh) \
1095 $(man_MANS) $(DOCBOOK_FILES) doc/mpdconf.example doc/doxygen.conf