X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=Makefile.real;h=bf3cb6e0ff0616f3618c778c11731651d9a4151c;hb=9c31cf0d4bcf1abd9767c77d68d90c9007b4f114;hp=6e8084d542b8888e2a838671b6a9be845ac2cae2;hpb=ccbe76ece6a8d05439b2dbb51c1c777735c4171e;p=paraslash.git diff --git a/Makefile.real b/Makefile.real index 6e8084d5..bf3cb6e0 100644 --- a/Makefile.real +++ b/Makefile.real @@ -10,6 +10,7 @@ endif .SHELLFLAGS := -ec LOGLEVELS := LL_DEBUG,LL_INFO,LL_NOTICE,LL_WARNING,LL_ERROR,LL_CRIT,LL_EMERG +SEVERITIES := \"debug\",\"info\",\"notice\",\"warning\",\"error\",\"crit\",\"emerg\" vardir := /var/paraslash mandir := $(datarootdir)/man/man1 MKDIR_P := mkdir -p @@ -112,6 +113,7 @@ CPPFLAGS += -DBINDIR='"$(bindir)"' CPPFLAGS += -DCOPYRIGHT_YEAR='"$(COPYRIGHT_YEAR)"' CPPFLAGS += -DBUILD_DATE='"$(build_date)"' CPPFLAGS += -DLOGLEVELS='$(LOGLEVELS)' +CPPFLAGS += -DSEVERITIES=$(SEVERITIES) CPPFLAGS += -DUNAME_RS='"$(uname_rs)"' CPPFLAGS += -DCC_VERSION='"$(cc_version)"' CPPFLAGS += -I$(lls_suite_dir) @@ -119,6 +121,7 @@ CPPFLAGS += -I$(yy_build_dir) CPPFLAGS += $(lopsub_cppflags) STRICT_CFLAGS += -fno-strict-aliasing +STRICT_CFLAGS += -ftrapv STRICT_CFLAGS += -g STRICT_CFLAGS += -Os STRICT_CFLAGS += -Wundef -W -Wuninitialized @@ -192,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 \ @@ -337,7 +313,7 @@ distclean: clean $(call SAY, DISTCLEAN) rm -f Makefile autoscan.log config.status config.log rm -f config.h configure config.h.in -maintainer-clean: distclean +maintainer-clean: distclean test-clean $(call SAY, MAINTAINER-CLEAN) rm -f *.tar.bz2 *.tar.xz rm -f GPATH GRTAGS GSYMS GTAGS