]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - Makefile.real
build: Construct write object list in Makefile.
[paraslash.git] / Makefile.real
index 2c7cff784210ad5b286c67563321d56e86a54e66..67107744e3234e5cad3a0f3dbfc8ec2a2a9777c1 100644 (file)
@@ -194,6 +194,90 @@ ifeq ($(HAVE_FAAD),yes)
        recv_objs += aac_afh.o mp4.o
 endif
 
+audio_format_handlers := mp3 wma
+afh_objs := $(addsuffix .o, afh string fd mp3_afh afh_common time wma_afh \
+       wma_common version)
+ifeq ($(NEED_OGG_OBJECTS),yes)
+       afh_objs += ogg_afh_common.o
+endif
+ifeq ($(NEED_VORBIS_OBJECTS),yes)
+       afh_objs += ogg_afh.o
+       audio_format_handlers += ogg
+endif
+ifeq ($(NEED_SPEEX_OBJECTS),yes)
+       afh_objs += spx_common.o
+       audio_format_handlers += spx
+endif
+ifeq ($(NEED_OPUS_OBJECTS),yes)
+       afh_objs += opus_afh.o opus_common.o
+       audio_format_handlers += opus
+endif
+ifeq ($(NEED_FLAC_OBJECTS),yes)
+       afh_objs += flac_afh.o
+       audio_format_handlers += flac
+endif
+ifeq ($(HAVE_FAAD),yes)
+       afh_objs += aac_afh.o mp4.o
+       audio_format_handlers += aac
+endif
+
+play_objs := $(addsuffix .o, \
+       play fd sched buffer_tree time string net afh_recv afh_common \
+       wma_afh wma_common mp3_afh recv_common udp_recv http_recv dccp_recv \
+       filter_common fec bitstream imdct wav_filter compress_filter \
+       amp_filter prebuffer_filter fecdec_filter wmadec_filter write_common \
+       file_write version sync_filter lsu \
+)
+ifeq ($(NEED_OGG_OBJECTS),yes)
+       play_objs += ogg_afh_common.o
+endif
+ifeq ($(NEED_VORBIS_OBJECTS),yes)
+       play_objs += oggdec_filter.o ogg_afh.o
+endif
+ifeq ($(NEED_SPEEX_OBJECTS),yes)
+       play_objs += spxdec_filter.o spx_afh.o spx_common.o
+endif
+ifeq ($(NEED_OPUS_OBJECTS),yes)
+       play_objs += opusdec_filter.o opus_afh.o opus_common.o
+endif
+ifeq ($(NEED_FLAC_OBJECTS),yes)
+       play_objs += flacdec_filter.o flac_afh.o
+endif
+ifeq ($(HAVE_FAAD),yes)
+       play_objs += aac_afh.o aacdec_filter.o mp4.o
+endif
+ifeq ($(HAVE_MAD),yes)
+       play_objs += mp3dec_filter.o
+endif
+ifeq ($(HAVE_OSS),yes)
+       play_objs += oss_write.o
+endif
+ifeq ($(HAVE_ALSA),yes)
+       play_objs += alsa_write.o
+endif
+ifeq ($(NEED_AO_OBJECTS),yes)
+       play_objs += ao_write.o
+endif
+ifeq ($(HAVE_READLINE),yes)
+       play_objs += interactive.o
+endif
+ifeq ($(HAVE_SAMPLERATE),yes)
+       play_objs += resample_filter.o check_wav.o
+endif
+
+write_objs := $(addsuffix .o, write write_common file_write time fd \
+       string sched stdin buffer_tree check_wav version)
+ifeq ($(NEED_AO_OBJECTS),yes)
+       write_objs += ao_write.o
+endif
+ifeq ($(HAVE_OSS),yes)
+       write_objs += oss_write.o
+endif
+ifeq ($(HAVE_ALSA),yes)
+       write_objs += alsa_write.o
+endif
+
+
 # sort removes duplicate words, which is all we need here
 all_objs := $(sort $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \
        $(audiod_objs) $(audioc_objs) $(mixer_objs) $(server_objs) \
@@ -358,6 +442,8 @@ OD = $(addsuffix .d, $(addprefix $(dep_dir)/, $(1))) \
 
 $(call OD, audiod): \
        CPPFLAGS += -DAUDIOD_AUDIO_FORMAT_ARRAY='$(audiod_audio_formats)'
+$(call OD, afh command): \
+       CPPFLAGS += -DAUDIO_FORMAT_HANDLERS='"$(audio_format_handlers)"'
 $(call OD, opus%): CPPFLAGS += $(opus_cppflags)
 $(call OD, gui gui%): CPPFLAGS += $(curses_cppflags)
 $(call OD, spx%): CPPFLAGS += $(speex_cppflags)