doc: Remove superfluous comment already described in footnotes.
[mpd-mk.git] / Makefile.am
blobb017d970aeb60c227d01534cb6318c4fe5919a93
1 ACLOCAL_AMFLAGS = -I m4
2 AUTOMAKE_OPTIONS = foreign 1.10 dist-bzip2
4 AM_CPPFLAGS = -I$(srcdir)/src $(GLIB_CFLAGS)
6 AM_CPPFLAGS += -DSYSTEM_CONFIG_FILE_LOCATION='"$(sysconfdir)/mpd.conf"'
8 bin_PROGRAMS = src/mpd
10 src_mpd_CFLAGS = $(AM_CFLAGS) $(MPD_CFLAGS)
11 src_mpd_CPPFLAGS = $(AM_CPPFLAGS) \
12         $(SQLITE_CFLAGS) \
13         $(ARCHIVE_CFLAGS) \
14         $(INPUT_CFLAGS) \
15         $(TAG_CFLAGS) \
16         $(DECODER_CFLAGS) \
17         $(ENCODER_CFLAGS) \
18         $(FILTER_CFLAGS) \
19         $(OUTPUT_CFLAGS)
20 src_mpd_LDADD = $(MPD_LIBS) \
21         $(SQLITE_LIBS) \
22         $(ARCHIVE_LIBS) \
23         $(INPUT_LIBS) \
24         $(TAG_LIBS) \
25         $(DECODER_LIBS) \
26         $(ENCODER_LIBS) \
27         $(OUTPUT_LIBS) \
28         $(FILTER_LIBS) \
29         $(GLIB_LIBS)
31 mpd_headers = \
32         src/notify.h \
33         src/ack.h \
34         src/audio.h \
35         src/audio_format.h \
36         src/audio_parser.h \
37         src/output_internal.h \
38         src/output_api.h \
39         src/output_plugin.h \
40         src/output_list.h \
41         src/output_all.h \
42         src/output_thread.h \
43         src/output_control.h \
44         src/output_state.h \
45         src/output_print.h \
46         src/output_command.h \
47         src/filter_internal.h \
48         src/filter_plugin.h \
49         src/filter_registry.h \
50         src/filter/chain_filter_plugin.h \
51         src/filter/convert_filter_plugin.h \
52         src/filter/volume_filter_plugin.h \
53         src/command.h \
54         src/idle.h \
55         src/cmdline.h \
56         src/conf.h \
57         src/crossfade.h \
58         src/dbUtils.h \
59         src/decoder_thread.h \
60         src/decoder_control.h \
61         src/decoder_plugin.h \
62         src/decoder_command.h \
63         src/decoder_buffer.h \
64         src/decoder_api.h \
65         src/decoder_plugin.h \
66         src/decoder_internal.h \
67         src/directory.h \
68         src/directory_save.h \
69         src/directory_print.h \
70         src/database.h \
71         src/encoder_plugin.h \
72         src/encoder_list.h \
73         src/encoder_api.h \
74         src/fifo_buffer.h \
75         src/update.h \
76         src/dirvec.h \
77         src/gcc.h \
78         src/decoder_list.h \
79         src/decoder/_flac_common.h \
80         src/decoder/_ogg_common.h \
81         src/input_plugin.h \
82         src/input_stream.h \
83         src/input/file_input_plugin.h \
84         src/input/curl_input_plugin.h \
85         src/input/lastfm_input_plugin.h \
86         src/input/mms_input_plugin.h \
87         src/icy_server.h \
88         src/icy_metadata.h \
89         src/client.h \
90         src/client_internal.h \
91         src/listen.h \
92         src/log.h \
93         src/ls.h \
94         src/main.h \
95         src/mixer_all.h \
96         src/mixer_api.h \
97         src/mixer_control.h \
98         src/mixer_list.h \
99         src/event_pipe.h \
100         src/mixer_plugin.h \
101         src/mixer_type.h \
102         src/mixer/software_mixer_plugin.h \
103         src/daemon.h \
104         src/normalize.h \
105         src/compress.h \
106         src/buffer.h \
107         src/pipe.h \
108         src/chunk.h \
109         src/path.h \
110         src/mapper.h \
111         src/output/httpd_client.h \
112         src/output/httpd_internal.h \
113         src/page.h \
114         src/pcm_buffer.h \
115         src/pcm_utils.h \
116         src/pcm_convert.h \
117         src/pcm_volume.h \
118         src/pcm_mix.h \
119         src/pcm_byteswap.h \
120         src/pcm_channels.h \
121         src/pcm_format.h \
122         src/pcm_resample.h \
123         src/pcm_resample_internal.h \
124         src/pcm_dither.h \
125         src/pcm_prng.h \
126         src/permission.h \
127         src/player_thread.h \
128         src/player_control.h \
129         src/playlist.h \
130         src/playlist_internal.h \
131         src/playlist_print.h \
132         src/playlist_save.h \
133         src/playlist_state.h \
134         src/poison.h \
135         src/riff.h \
136         src/aiff.h \
137         src/queue.h \
138         src/queue_print.h \
139         src/queue_save.h \
140         src/replay_gain.h \
141         src/sig_handlers.h \
142         src/song.h \
143         src/song_print.h \
144         src/song_save.h \
145         src/song_sticker.h \
146         src/songvec.h \
147         src/socket_util.h \
148         src/state_file.h \
149         src/stats.h \
150         src/sticker.h \
151         src/sticker_print.h \
152         src/tag.h \
153         src/tag_internal.h \
154         src/tag_pool.h \
155         src/tag_ape.h \
156         src/tag_id3.h \
157         src/tag_print.h \
158         src/tag_save.h \
159         src/tokenizer.h \
160         src/strset.h \
161         src/uri.h \
162         src/utils.h \
163         src/volume.h \
164         src/zeroconf.h src/zeroconf-internal.h \
165         src/locate.h \
166         src/stored_playlist.h \
167         src/timer.h \
168         src/archive_api.h \
169         src/archive_internal.h \
170         src/archive_list.h \
171         src/input/archive_input_plugin.h \
172         src/cue/cue_tag.h
174 src_mpd_SOURCES = \
175         $(mpd_headers) \
176         $(ARCHIVE_SRC) \
177         $(INPUT_SRC) \
178         $(TAG_SRC) \
179         $(DECODER_SRC) \
180         $(ENCODER_SRC) \
181         $(OUTPUT_API_SRC) $(OUTPUT_SRC) \
182         $(MIXER_API_SRC) $(MIXER_SRC) \
183         $(FILTER_SRC) \
184         src/notify.c \
185         src/audio.c \
186         src/audio_parser.c \
187         src/command.c \
188         src/idle.c \
189         src/cmdline.c \
190         src/conf.c \
191         src/crossfade.c \
192         src/dbUtils.c \
193         src/decoder_thread.c \
194         src/decoder_control.c \
195         src/decoder_api.c \
196         src/decoder_internal.c \
197         src/directory.c \
198         src/directory_save.c \
199         src/directory_print.c \
200         src/database.c \
201         src/dirvec.c \
202         src/fifo_buffer.c \
203         src/filter_plugin.c \
204         src/filter_registry.c \
205         src/update.c \
206         src/client.c \
207         src/client_event.c \
208         src/client_expire.c \
209         src/client_global.c \
210         src/client_idle.c \
211         src/client_list.c \
212         src/client_new.c \
213         src/client_process.c \
214         src/client_read.c \
215         src/client_write.c \
216         src/listen.c \
217         src/log.c \
218         src/ls.c \
219         src/main.c \
220         src/event_pipe.c \
221         src/daemon.c \
222         src/normalize.c \
223         src/compress.c \
224         src/buffer.c \
225         src/pipe.c \
226         src/chunk.c \
227         src/path.c \
228         src/mapper.c \
229         src/page.c \
230         src/pcm_convert.c \
231         src/pcm_volume.c \
232         src/pcm_mix.c \
233         src/pcm_byteswap.c \
234         src/pcm_channels.c \
235         src/pcm_format.c \
236         src/pcm_resample.c \
237         src/pcm_resample_fallback.c \
238         src/pcm_dither.c \
239         src/permission.c \
240         src/player_thread.c \
241         src/player_control.c \
242         src/playlist.c \
243         src/playlist_global.c \
244         src/playlist_control.c \
245         src/playlist_edit.c \
246         src/playlist_print.c \
247         src/playlist_save.c \
248         src/playlist_state.c \
249         src/queue.c \
250         src/queue_print.c \
251         src/queue_save.c \
252         src/replay_gain.c \
253         src/sig_handlers.c \
254         src/song.c \
255         src/song_print.c \
256         src/song_save.c \
257         src/songvec.c \
258         src/socket_util.c \
259         src/state_file.c \
260         src/stats.c \
261         src/tag.c \
262         src/tag_pool.c \
263         src/tag_print.c \
264         src/tag_save.c \
265         src/tokenizer.c \
266         src/strset.c \
267         src/uri.c \
268         src/utils.c \
269         src/volume.c \
270         src/locate.c \
271         src/stored_playlist.c \
272         src/timer.c
274 if ENABLE_SQLITE
275 src_mpd_SOURCES += \
276         src/sticker.c \
277         src/sticker_print.c \
278         src/song_sticker.c
279 endif
281 FILTER_CFLAGS = \
282         $(SAMPLERATE_CFLAGS)
283 FILTER_LIBS = \
284         $(SAMPLERATE_LIBS)
286 if HAVE_LIBSAMPLERATE
287 src_mpd_SOURCES += src/pcm_resample_libsamplerate.c
288 endif
290 # archive plugins
292 ARCHIVE_CFLAGS = \
293         $(ISO9660_CFLAGS) \
294         $(ZZIP_CFLAGS)
296 ARCHIVE_LIBS = \
297         $(ISO9660_LIBS) \
298         $(ZZIP_LIBS)
300 ARCHIVE_SRC =
302 if HAVE_BZ2
303 ARCHIVE_SRC += src/archive/bz2_plugin.c
304 endif
306 if HAVE_ZIP
307 ARCHIVE_SRC += src/archive/zip_plugin.c
308 endif
310 if HAVE_ISO
311 ARCHIVE_SRC += src/archive/iso_plugin.c
312 endif
314 if ENABLE_ARCHIVE
315 ARCHIVE_SRC += \
316         src/archive_api.c \
317         src/archive_list.c \
318         src/input/archive_input_plugin.c
319 endif
322 # tag plugins
324 TAG_CFLAGS = \
325         $(ID3TAG_CFLAGS)
326 TAG_LIBS = \
327         $(ID3TAG_LIBS)
329 TAG_SRC = \
330         src/tag_ape.c
332 if HAVE_ID3TAG
333 TAG_SRC += src/tag_id3.c \
334         src/riff.c src/aiff.c
335 endif
337 # decoder plugins
339 DECODER_CFLAGS = \
340         $(VORBIS_CFLAGS) $(TREMOR_CFLAGS) \
341         $(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \
342         $(SNDFILE_CFLAGS) \
343         $(AUDIOFILE_CFLAGS) \
344         $(LIBMIKMOD_CFLAGS) \
345         $(MODPLUG_CFLAGS) \
346         $(SIDPLAY_CFLAGS) \
347         $(FLUIDSYNTH_CFLAGS) \
348         $(WILDMIDI_CFLAGS) \
349         $(WAVPACK_CFLAGS) \
350         $(MAD_CFLAGS) \
351         $(MPG123_CFLAGS) \
352         $(FFMPEG_CFLAGS) \
353         $(CUE_CFLAGS)
355 DECODER_LIBS = \
356         $(VORBIS_LIBS) $(TREMOR_LIBS) \
357         $(FLAC_LIBS) \
358         $(SNDFILE_LIBS) \
359         $(AUDIOFILE_LIBS) $(LIBMIKMOD_LIBS) \
360         $(MODPLUG_LIBS) \
361         $(SIDPLAY_LIBS) \
362         $(FLUIDSYNTH_LIBS) \
363         $(WILDMIDI_LIBS) \
364         $(WAVPACK_LIBS) \
365         $(MAD_LIBS) \
366         $(MPG123_LIBS) \
367         $(MP4FF_LIBS) \
368         $(FFMPEG_LIBS) \
369         $(CUE_LIBS)
371 DECODER_SRC = \
372         src/decoder_buffer.c \
373         src/decoder_list.c
375 if HAVE_MAD
376 DECODER_SRC += src/decoder/mad_plugin.c
377 endif
379 if HAVE_MPG123
380 DECODER_SRC += src/decoder/mpg123_decoder_plugin.c
381 endif
383 if HAVE_MPCDEC
384 DECODER_SRC += src/decoder/mpcdec_plugin.c
385 endif
387 if HAVE_WAVPACK
388 DECODER_SRC += src/decoder/wavpack_plugin.c
389 endif
391 if HAVE_FAAD
392 DECODER_SRC += src/decoder/faad_plugin.c
393 endif
395 if HAVE_MP4
396 DECODER_SRC += src/decoder/mp4ff_plugin.c
397 endif
399 if HAVE_OGG_COMMON
400 DECODER_SRC += src/decoder/_ogg_common.c
401 endif
403 if HAVE_FLAC_COMMON
404 DECODER_SRC += src/decoder/_flac_common.c
405 endif
407 if ENABLE_VORBIS_DECODER
408 DECODER_SRC += src/decoder/vorbis_plugin.c
409 endif
411 if HAVE_FLAC
412 DECODER_SRC += src/decoder/flac_plugin.c
413 endif
415 if HAVE_OGGFLAC
416 DECODER_SRC += src/decoder/oggflac_plugin.c
417 endif
419 if HAVE_AUDIOFILE
420 DECODER_SRC += src/decoder/audiofile_plugin.c
421 endif
423 if ENABLE_MIKMOD_DECODER
424 DECODER_SRC += src/decoder/mikmod_plugin.c
425 endif
427 if HAVE_MODPLUG
428 DECODER_SRC += src/decoder/modplug_plugin.c
429 endif
431 if ENABLE_SIDPLAY
432 DECODER_SRC += src/decoder/sidplay_plugin.cxx
433 endif
435 if ENABLE_FLUIDSYNTH
436 DECODER_SRC += src/decoder/fluidsynth_plugin.c
437 endif
439 if ENABLE_WILDMIDI
440 DECODER_SRC += src/decoder/wildmidi_plugin.c
441 endif
443 if HAVE_FFMPEG
444 DECODER_SRC += src/decoder/ffmpeg_plugin.c
445 endif
447 if ENABLE_SNDFILE
448 DECODER_SRC += src/decoder/sndfile_decoder_plugin.c
449 endif
451 # encoder plugins
453 ENCODER_CFLAGS = \
454         $(LAME_CFLAGS) \
455         $(TWOLAME_CFLAGS) \
456         $(VORBISENC_CFLAGS)
458 ENCODER_LIBS = \
459         $(LAME_LIBS) \
460         $(TWOLAME_LIBS) \
461         $(VORBISENC_LIBS)
463 ENCODER_SRC =
465 if ENABLE_ENCODER
466 ENCODER_SRC += src/encoder_list.c
468 if ENABLE_VORBIS_ENCODER
469 ENCODER_SRC += src/encoder/vorbis_encoder.c
470 endif
472 if ENABLE_LAME_ENCODER
473 ENCODER_SRC += src/encoder/lame_encoder.c
474 endif
476 if ENABLE_TWOLAME_ENCODER
477 ENCODER_SRC += src/encoder/twolame_encoder.c
478 endif
479 endif
482 if HAVE_ZEROCONF
483 src_mpd_SOURCES += src/zeroconf.c
485 if HAVE_AVAHI
486 src_mpd_SOURCES += src/zeroconf-avahi.c
487 endif
489 if HAVE_BONJOUR
490 src_mpd_SOURCES += src/zeroconf-bonjour.c
491 endif
492 endif
494 if HAVE_CUE
495 DECODER_SRC += src/cue/cue_tag.c
496 endif
499 # input plugins
502 INPUT_CFLAGS = \
503         $(CURL_CFLAGS) \
504         $(MMS_CFLAGS)
506 INPUT_LIBS = \
507         $(CURL_LIBS) \
508         $(MMS_LIBS)
510 INPUT_SRC = \
511         src/input_stream.c \
512         src/input/file_input_plugin.c
514 if HAVE_CURL
515 INPUT_SRC += src/input/curl_input_plugin.c src/icy_metadata.c
516 endif
518 if ENABLE_LASTFM
519 INPUT_SRC += src/input/lastfm_input_plugin.c
520 endif
522 if ENABLE_MMS
523 INPUT_SRC += src/input/mms_input_plugin.c
524 endif
527 OUTPUT_CFLAGS = \
528         $(AO_CFLAGS) \
529         $(ALSA_CFLAGS) \
530         $(JACK_CFLAGS) \
531         $(PULSE_CFLAGS) \
532         $(SHOUT_CFLAGS)
534 OUTPUT_LIBS = \
535         $(AO_LIBS) \
536         $(ALSA_LIBS) \
537         $(JACK_LIBS) \
538         $(PULSE_LIBS) \
539         $(SHOUT_LIBS)
541 OUTPUT_API_SRC = \
542         src/output_list.c \
543         src/output_all.c \
544         src/output_thread.c \
545         src/output_control.c \
546         src/output_state.c \
547         src/output_print.c \
548         src/output_command.c \
549         src/output_init.c
551 OUTPUT_SRC = \
552         src/output/null_plugin.c
554 MIXER_API_SRC = \
555         src/mixer_control.c \
556         src/mixer_type.c \
557         src/mixer_all.c \
558         src/mixer_api.c
560 MIXER_SRC = \
561         src/mixer/software_mixer_plugin.c
563 if HAVE_ALSA
564 OUTPUT_SRC += src/output/alsa_plugin.c
565 MIXER_SRC += src/mixer/alsa_mixer.c
566 endif
568 if HAVE_AO
569 OUTPUT_SRC += src/output/ao_plugin.c
570 endif
572 if HAVE_FIFO
573 OUTPUT_SRC += src/output/fifo_plugin.c
574 endif
576 if ENABLE_PIPE_OUTPUT
577 OUTPUT_SRC += src/output/pipe_output_plugin.c
578 endif
580 if HAVE_JACK
581 OUTPUT_SRC += src/output/jack_plugin.c
582 endif
584 if HAVE_MVP
585 OUTPUT_SRC += src/output/mvp_plugin.c
586 endif
588 if HAVE_OSS
589 OUTPUT_SRC += src/output/oss_plugin.c
590 MIXER_SRC += src/mixer/oss_mixer.c
591 endif
593 if HAVE_OSX
594 OUTPUT_SRC += src/output/osx_plugin.c
595 endif
597 if HAVE_PULSE
598 OUTPUT_SRC += src/output/pulse_plugin.c
599 MIXER_SRC += src/mixer/pulse_mixer.c
600 endif
602 if HAVE_SHOUT
603 OUTPUT_SRC += src/output/shout_plugin.c
604 endif
606 if ENABLE_RECORDER_OUTPUT
607 OUTPUT_SRC += src/output/recorder_output_plugin.c
608 endif
610 if ENABLE_HTTPD_OUTPUT
611 OUTPUT_SRC += \
612         src/icy_server.c \
613         src/output/httpd_client.c \
614         src/output/httpd_output_plugin.c
615 endif
617 if ENABLE_SOLARIS_OUTPUT
618 OUTPUT_SRC += src/output/solaris_output_plugin.c
619 endif
623 # Filter plugins
626 FILTER_SRC = \
627         src/filter/null_filter_plugin.c \
628         src/filter/chain_filter_plugin.c \
629         src/filter/convert_filter_plugin.c \
630         src/filter/volume_filter_plugin.c
634 # Sparse code analysis
636 # sparse is a semantic parser
637 # URL: git://www.kernel.org/pub/scm/devel/sparse/sparse.git
640 SPARSE = sparse
641 SPARSE_FLAGS =
642 SPARSE_CPPFLAGS = $(DEFAULT_INCLUDES) \
643         -I$(shell $(CC) -print-file-name=include) \
644         -I$(shell $(CC) -print-file-name=include-fixed)
645 SPARSE_CPPFLAGS += -D__SCHAR_MAX__=127 -D__SHRT_MAX__=32767 \
646         -D__INT_MAX__=2147483647 -D__LONG_MAX__=2147483647
647 sparse-check:
648         $(SPARSE) -I. $(src_mpd_CFLAGS) $(src_mpd_CPPFLAGS) $(SPARSE_FLAGS) $(SPARSE_CPPFLAGS) $(filter-out %.cxx,$(src_mpd_SOURCES))
650 .PHONY: sparse-check
654 # Test programs
657 if ENABLE_TEST
659 noinst_PROGRAMS = \
660         test/read_conf \
661         test/run_input \
662         test/run_decoder \
663         test/read_tags \
664         test/run_filter \
665         test/run_output \
666         test/read_mixer \
667         test/software_volume
669 test_read_conf_CPPFLAGS = $(AM_CPPFLAGS) \
670         $(GLIB_CFLAGS)
671 test_read_conf_LDADD = $(MPD_LIBS) \
672         $(GLIB_LIBS)
673 test_read_conf_SOURCES = test/read_conf.c \
674         src/conf.c src/tokenizer.c src/utils.c
676 test_run_input_CPPFLAGS = $(AM_CPPFLAGS) \
677         $(ARCHIVE_CFLAGS) \
678         $(INPUT_CFLAGS)
679 test_run_input_LDADD = $(MPD_LIBS) \
680         $(ARCHIVE_LIBS) \
681         $(INPUT_LIBS) \
682         $(GLIB_LIBS)
683 test_run_input_SOURCES = test/run_input.c \
684         src/conf.c src/tokenizer.c src/utils.c \
685         src/tag.c src/tag_pool.c src/tag_save.c \
686         $(ARCHIVE_SRC) \
687         $(INPUT_SRC)
689 test_run_decoder_CPPFLAGS = $(AM_CPPFLAGS) \
690         $(TAG_CFLAGS) \
691         $(ARCHIVE_CFLAGS) \
692         $(INPUT_CFLAGS) $(DECODER_CFLAGS)
693 test_run_decoder_LDADD = $(MPD_LIBS) \
694         $(TAG_LIBS) \
695         $(ARCHIVE_LIBS) \
696         $(INPUT_LIBS) $(DECODER_LIBS) \
697         $(GLIB_LIBS)
698 test_run_decoder_SOURCES = test/run_decoder.c \
699         src/conf.c src/tokenizer.c src/utils.c src/log.c \
700         src/tag.c src/tag_pool.c \
701         src/replay_gain.c \
702         src/uri.c \
703         $(ARCHIVE_SRC) \
704         $(INPUT_SRC) \
705         $(TAG_SRC) \
706         $(DECODER_SRC)
708 test_read_tags_CPPFLAGS = $(AM_CPPFLAGS) \
709         $(TAG_CFLAGS) \
710         $(ARCHIVE_CFLAGS) \
711         $(INPUT_CFLAGS) $(DECODER_CFLAGS)
712 test_read_tags_LDADD = $(MPD_LIBS) \
713         $(TAG_LIBS) \
714         $(ARCHIVE_LIBS) \
715         $(INPUT_LIBS) $(DECODER_LIBS) \
716         $(GLIB_LIBS)
717 test_read_tags_SOURCES = test/read_tags.c \
718         src/conf.c src/tokenizer.c src/utils.c src/log.c \
719         src/tag.c src/tag_pool.c \
720         src/replay_gain.c \
721         src/uri.c \
722         $(ARCHIVE_SRC) \
723         $(INPUT_SRC) \
724         $(TAG_SRC) \
725         $(DECODER_SRC)
727 test_run_filter_CPPFLAGS = $(AM_CPPFLAGS)
728 test_run_filter_LDADD = $(MPD_LIBS) \
729         $(SAMPLERATE_LIBS) \
730         $(GLIB_LIBS)
731 test_run_filter_SOURCES = test/run_filter.c \
732         src/filter_plugin.c \
733         src/filter_registry.c \
734         src/conf.c src/tokenizer.c src/utils.c \
735         src/pcm_volume.c src/pcm_convert.c src/pcm_byteswap.c \
736         src/pcm_format.c src/pcm_channels.c src/pcm_dither.c \
737         src/pcm_resample.c src/pcm_resample_fallback.c \
738         src/audio_parser.c \
739         $(FILTER_SRC)
741 if HAVE_LIBSAMPLERATE
742 test_run_filter_SOURCES += src/pcm_resample_libsamplerate.c
743 endif
745 if ENABLE_ENCODER
746 noinst_PROGRAMS += test/run_encoder
747 test_run_encoder_SOURCES = test/run_encoder.c \
748         src/conf.c src/tokenizer.c \
749         src/utils.c \
750         src/tag.c src/tag_pool.c \
751         src/audio_parser.c \
752         $(ENCODER_SRC)
753 test_run_encoder_LDADD = $(MPD_LIBS) \
754         $(ENCODER_LIBS) \
755         $(GLIB_LIBS)
756 endif
758 test_software_volume_SOURCES = test/software_volume.c \
759         src/audio_parser.c \
760         src/pcm_volume.c
761 test_software_volume_LDADD = \
762         $(GLIB_LIBS)
764 test_run_output_CPPFLAGS = $(AM_CPPFLAGS) \
765         $(ENCODER_CFLAGS) \
766         $(OUTPUT_CFLAGS)
767 test_run_output_LDADD = $(MPD_LIBS) \
768         $(ENCODER_LIBS) \
769         $(OUTPUT_LIBS) \
770         $(GLIB_LIBS)
771 test_run_output_SOURCES = test/run_output.c \
772         src/conf.c src/tokenizer.c src/utils.c src/log.c \
773         src/audio_parser.c \
774         src/timer.c \
775         src/tag.c src/tag_pool.c \
776         src/fifo_buffer.c \
777         src/page.c \
778         src/socket_util.c \
779         src/output_init.c src/output_list.c \
780         $(ENCODER_SRC) \
781         src/mixer_api.c \
782         src/mixer_control.c \
783         src/mixer_type.c \
784         $(MIXER_SRC) \
785         src/filter_plugin.c src/filter/chain_filter_plugin.c \
786         src/filter/convert_filter_plugin.c \
787         src/filter/volume_filter_plugin.c \
788         src/pcm_volume.c \
789         $(OUTPUT_SRC)
791 test_read_mixer_CPPFLAGS = $(AM_CPPFLAGS) \
792         $(OUTPUT_CFLAGS)
793 test_read_mixer_LDADD = $(MPD_LIBS) \
794         $(OUTPUT_LIBS) \
795         $(GLIB_LIBS)
796 test_read_mixer_SOURCES = test/read_mixer.c \
797         src/conf.c src/tokenizer.c src/utils.c src/log.c \
798         src/mixer_control.c src/mixer_api.c \
799         src/filter_plugin.c \
800         src/filter/volume_filter_plugin.c \
801         $(MIXER_SRC)
803 endif
807 # Documentation
810 man_MANS = doc/mpd.1 doc/mpd.conf.5
811 doc_DATA = AUTHORS COPYING NEWS README UPGRADING doc/mpdconf.example
813 DOCBOOK_FILES = doc/protocol.xml doc/user.xml doc/developer.xml doc/sticker.xml
815 if ENABLE_DOCUMENTATION
816 protocoldir = $(docdir)/protocol
817 protocol_DATA = $(wildcard doc/protocol/*.html)
819 userdir = $(docdir)/user
820 user_DATA = $(wildcard doc/user/*.html)
822 developerdir = $(docdir)/developer
823 developer_DATA = $(wildcard doc/developer/*.html)
825 if HAVE_XMLTO
827 DOCBOOK_HTML = $(patsubst %.xml,%/index.html,$(DOCBOOK_FILES))
829 $(DOCBOOK_HTML): %/index.html: %.xml
830         $(XMLTO) -o $(@D) --stringparam chunker.output.encoding=utf-8 html $<
832 else
834 DOCBOOK_HTML =
836 endif
838 doc/api/html/index.html: doc/doxygen.conf
839         $(DOXYGEN) $<
841 all-local: $(DOCBOOK_HTML) doc/api/html/index.html
843 clean-local:
844         rm -rf $(patsubst %.xml,%,$(DOCBOOK_FILES))
845         rm -rf doc/api
847 install-data-local: doc/api/html/index.html
848         $(mkinstalldirs) $(DESTDIR)$(docdir)/api/html
849         $(INSTALL_DATA) -c -m 644 doc/api/html/*.html doc/api/html/*.css \
850                 doc/api/html/*.png doc/api/html/*.gif \
851                 $(DESTDIR)$(docdir)/api/html
853 upload: $(DOCBOOK_HTML) doc/api/html/index.html
854         rsync -vpruz --delete doc/ cirrus@www.musicpd.org:/var/www/musicpd.org/www/doc/ \
855                 --chmod=Dug+rwx,Do+rx,Fug+rw,Fo+r \
856                 --include=protocol --include=protocol/** \
857                 --include=user --include=user/** \
858                 --include=developer --include=developer/** \
859                 --include=api --include=api/** \
860                 --exclude=*
862 endif
866 # Distribution
869 EXTRA_DIST = $(doc_DATA) autogen.sh \
870         $(wildcard scripts/*.sh) \
871         $(man_MANS) $(DOCBOOK_FILES) doc/mpdconf.example doc/doxygen.conf