From f2f87e20ed530f22ed8cce75531df1aaf1599d59 Mon Sep 17 00:00:00 2001 From: Tom Finegan Date: Thu, 17 Mar 2016 14:31:26 -0700 Subject: [PATCH] Makefile.unix: Tidy things up. - Stop the abuse of OBJECTS$N (where N is just a magic number that's been incremented each time the line length crossed 80 cols). - Put WebVTT objects in VTTOBJS - Put executable objects in EXEOBJS - Move symbol defs to $(DFLAGS) - Add $(INCLUDES) to $(CXXFLAGS); stop using it in rules. Change-Id: I140c8a779f9f42586b7179262690c86801163f89 --- Makefile.unix | 58 ++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/Makefile.unix b/Makefile.unix index 987fe40..171405d 100644 --- a/Makefile.unix +++ b/Makefile.unix @@ -1,37 +1,39 @@ -CXX := g++ -CXXFLAGS := -W -Wall -g -MMD -MP -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -LIBWEBMA := libwebm.a -LIBWEBMSO := libwebm.so -WEBMOBJS := mkvmuxer.o mkvmuxerutil.o mkvwriter.o -WEBMOBJS += mkvparser/mkvparser.o mkvparser/mkvreader.o -WEBMOBJS += common/file_util.o common/hdr_util.o -OBJSA := $(WEBMOBJS:.o=_a.o) -OBJSSO := $(WEBMOBJS:.o=_so.o) -OBJECTS1 := sample.o -OBJECTS2 := sample_muxer.o vttreader.o webvttparser.o sample_muxer_metadata.o -OBJECTS3 := dumpvtt.o vttreader.o webvttparser.o -OBJECTS4 := vttdemux.o webvttparser.o -INCLUDES := -I. -DEPS := $(WEBMOBJS:.o=.d) $(OBJECTS1:.o=.d) $(OBJECTS2:.o=.d) -DEPS += $(OBJECTS3:.o=.d) $(OBJECTS4:.o=.d) $(OBJSA:.o=.d) $(OBJSSO:.o=.d) -EXES := sample_muxer sample dumpvtt vttdemux +CXX := g++ +PREDEFINES := -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS +INCLUDES := -I. +CXXFLAGS := -W -Wall -g -MMD -MP $(PREDEFINES) $(INCLUDES) +LIBWEBMA := libwebm.a +LIBWEBMSO := libwebm.so +WEBMOBJS := mkvmuxer.o mkvmuxerutil.o mkvwriter.o +WEBMOBJS += mkvparser/mkvparser.o mkvparser/mkvreader.o +WEBMOBJS += common/file_util.o common/hdr_util.o +OBJSA := $(WEBMOBJS:.o=_a.o) +OBJSSO := $(WEBMOBJS:.o=_so.o) +VTTOBJS := vttreader.o webvttparser.o sample_muxer_metadata.o +EXEOBJS := sample.o sample_muxer.o dumpvtt.o vttdemux.o +DEPS := $(WEBMOBJS:.o=.d) $(OBJECTS1:.o=.d) $(OBJECTS2:.o=.d) +DEPS += $(OBJECTS3:.o=.d) $(OBJECTS4:.o=.d) $(OBJSA:.o=.d) $(OBJSSO:.o=.d) +DEPS += $(VTTOBJS:.o=.d) $(EXEOBJS:.o=.d) +EXES := sample_muxer sample dumpvtt vttdemux +CLEAN := $(EXEOBJS) $(VTTOBJS) $(WEBMOBJS) $(OBJSA) $(OBJSSO) $(LIBWEBMA) +CLEAN += $(LIBWEBMSO) $(EXES) $(DEPS) all: $(EXES) sample: sample.o $(LIBWEBMA) $(CXX) $^ -o $@ -sample_muxer: $(OBJECTS2) $(LIBWEBMA) +sample_muxer: sample_muxer.o $(VTTOBJS) $(LIBWEBMA) $(CXX) $^ -o $@ -dumpvtt: $(OBJECTS3) +dumpvtt: dumpvtt.o $(VTTOBJS) $(WEBMOBJS) + $(CXX) $^ -o $@ + +vttdemux: vttdemux.o $(VTTOBJS) $(LIBWEBMA) $(CXX) $^ -o $@ shared: $(LIBWEBMSO) -vttdemux: $(OBJECTS4) $(LIBWEBMA) - $(CXX) $^ -o $@ - libwebm.a: $(OBJSA) $(AR) rcs $@ $^ @@ -39,20 +41,20 @@ libwebm.so: $(OBJSSO) $(CXX) $(CXXFLAGS) -shared $(OBJSSO) -o $(LIBWEBMSO) %.o: %.cpp - $(CXX) -c $(CXXFLAGS) $(INCLUDES) $< -o $@ + $(CXX) -c $(CXXFLAGS) $< -o $@ %_a.o: %.cpp - $(CXX) -c $(CXXFLAGS) $(INCLUDES) $< -o $@ + $(CXX) -c $(CXXFLAGS) $< -o $@ %_a.o: %.cc - $(CXX) -c $(CXXFLAGS) $(INCLUDES) $< -o $@ + $(CXX) -c $(CXXFLAGS) $< -o $@ %_so.o: %.cpp - $(CXX) -c $(CXXFLAGS) -fPIC $(INCLUDES) $< -o $@ + $(CXX) -c $(CXXFLAGS) -fPIC $< -o $@ %_so.o: %.cc - $(CXX) -c $(CXXFLAGS) -fPIC $(INCLUDES) $< -o $@ + $(CXX) -c $(CXXFLAGS) -fPIC $< -o $@ clean: - $(RM) -f $(OBJECTS1) $(OBJECTS2) $(OBJECTS3) $(OBJECTS4) $(OBJSA) $(OBJSSO) $(LIBWEBMA) $(LIBWEBMSO) $(EXES) $(DEPS) Makefile.bak + $(RM) -f $(CLEAN) Makefile.bak ifneq ($(MAKECMDGOALS), clean) -include $(DEPS)