X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=Makefile.real;fp=Makefile.real;h=9c426673233f927d7d324c3cf76b970a0e2c23b2;hp=4dac79f9941f5cee0c2848b53e0312b1233a385d;hb=4dcbf0b20f806bacc38b01bea34f2ffe3cd700f7;hpb=4ce5b6570ed83ef2ab5296f369f147593507286b diff --git a/Makefile.real b/Makefile.real index 4dac79f9..9c426673 100644 --- a/Makefile.real +++ b/Makefile.real @@ -195,73 +195,46 @@ $(man_dir)/para_%.1: $(lls_suite_dir)/%.lsg.man \ $(object_dir)/%.o: %.c | $(object_dir) -$(object_dir)/opus%.o: CPPFLAGS += $(opus_cppflags) -$(object_dir)/gui.o $(object_dir)/gui%.o \ -: CPPFLAGS += $(curses_cppflags) -$(object_dir)/spx%.o: CPPFLAGS += $(speex_cppflags) -$(object_dir)/flac%.o: CPPFLAGS += $(flac_cppflags) - -$(object_dir)/mp3_afh.o: CPPFLAGS += $(id3tag_cppflags) -$(object_dir)/openssl.o: CPPFLAGS += $(openssl_cppflags) -$(object_dir)/gcrypt.o: CPPFLAGS += $(gcrypt_cppflags) -$(object_dir)/ao_write.o: CPPFLAGS += $(ao_cppflags) -$(object_dir)/alsa%.o: CPPFLAGS += $(alsa_cppflags) - -$(object_dir)/interactive.o \ -: CPPFLAGS += $(readline_cppflags) - -$(object_dir)/resample_filter.o \ -: CPPFLAGS += $(samplerate_cppflags) - -$(object_dir)/oss_write.o \ -: CPPFLAGS += $(oss_cppflags) - -$(object_dir)/ao_write.o \ -: CPPFLAGS += $(ao_cppflags) $(pthread_cppflags) - -$(object_dir)/mp3dec_filter.o \ -: CPPFLAGS += $(mad_cppflags) - -$(object_dir)/aacdec_filter.o \ -$(object_dir)/aac_afh.o \ -: CPPFLAGS += $(faad_cppflags) - -$(object_dir)/ogg_afh.o \ -$(object_dir)/oggdec_filter.o \ -: CPPFLAGS += $(vorbis_cppflags) - -$(object_dir)/spx_common.o \ -$(object_dir)/spxdec_filter.o \ -$(object_dir)/spx_afh.o \ -$(object_dir)/oggdec_filter.o \ -$(object_dir)/ogg_afh.o \ -$(object_dir)/ogg_afh_common.o \ -$(object_dir)/opus%.o \ -: CPPFLAGS += $(ogg_cppflags) - -$(object_dir)/afs.o \ -$(object_dir)/aft.o \ -$(object_dir)/attribute.o \ -$(object_dir)/blob.o \ -$(object_dir)/mood.o \ -$(object_dir)/playlist.o \ -$(object_dir)/score.o \ -$(object_dir)/server.o \ -$(object_dir)/vss.o \ -$(object_dir)/command.o \ -$(object_dir)/http_send.o \ -$(object_dir)/dccp_send.o \ -$(object_dir)/udp_send.o \ -$(object_dir)/send_common.o \ -$(object_dir)/mm.o \ -: CPPFLAGS += $(osl_cppflags) - -$(object_dir)/compress_filter.o: CFLAGS += -O3 - -$(object_dir)/%.o: %.c | $(object_dir) $(dep_dir) $(lsg_h) $(yy_h) +OD = $(addsuffix .d, $(addprefix $(dep_dir)/, $(1))) \ + $(addsuffix .o, $(addprefix $(object_dir)/, $(1))) + +$(call OD, opus%): CPPFLAGS += $(opus_cppflags) +$(call OD, gui gui%): CPPFLAGS += $(curses_cppflags) +$(call OD, spx%): CPPFLAGS += $(speex_cppflags) +$(call OD, flac%): CPPFLAGS += $(flac_cppflags) +$(call OD, mp3_afh): CPPFLAGS += $(id3tag_cppflags) +$(call OD, openssl): CPPFLAGS += $(openssl_cppflags) +$(call OD, gcrypt): CPPFLAGS += $(gcrypt_cppflags) +$(call OD, ao_write): CPPFLAGS += $(ao_cppflags) +$(call OD, alsa%): CPPFLAGS += $(alsa_cppflags) +$(call OD, interactive): CPPFLAGS += $(readline_cppflags) +$(call OD, resample_filter): CPPFLAGS += $(samplerate_cppflags) +$(call OD, oss_write): CPPFLAGS += $(oss_cppflags) +$(call OD, ao_write): CPPFLAGS += $(ao_cppflags) $(pthread_cppflags) +$(call OD, mp3dec_filter): CPPFLAGS += $(mad_cppflags) +$(call OD, aacdec_filter aac_afh): CPPFLAGS += $(faad_cppflags) +$(call OD, ogg_afh oggdec_filter): CPPFLAGS += $(vorbis_cppflags) +$(call OD, spx_common spxdec_filter spx_afh oggdec_filter ogg_afh \ + ogg_afh_common opus%): CPPFLAGS += $(ogg_cppflags) +$(call OD, afs aft attribute blob mood playlist score server vss command \ + http_send dccp_send udp_send send_common mm.o): \ + CPPFLAGS += $(osl_cppflags) + +$(call OD, compress_filter): CFLAGS += -O3 + +define CC_CMD $(call SAY, CC $<) - $(CC) -c -o $@ -MMD -MF $(dep_dir)/$(*F).d -MT $@ $(CPPFLAGS) \ - $(STRICT_CFLAGS) $(CFLAGS) $< + $(CC) -c -o $(object_dir)/$(*F).o -MMD -MF \ + $(dep_dir)/$(*F).d -MT $(object_dir)/$(*F).o \ + $(CPPFLAGS) $(STRICT_CFLAGS) $(CFLAGS) $< +endef +CC_PREREQUISITES := %.c | $(object_dir) $(dep_dir) $(lsg_h) $(yy_h) +# These two have the same prerequisites and the same recipe. There should be a +# better way to write this. +$(object_dir)/%.o: $(CC_PREREQUISITES) + $(CC_CMD) +$(dep_dir)/%.d: $(CC_PREREQUISITES) + $(CC_CMD) para_recv para_afh para_play para_server: LDFLAGS += $(id3tag_ldflags) para_write para_play para_audiod \