Merge "Added a rule to the Makefile to build libwebm as a shared library."

This commit is contained in:
James Zern 2012-09-26 13:37:17 -07:00 committed by Gerrit Code Review
commit 232bae0d50

View File

@ -1,29 +1,43 @@
CXX := g++ CXX := g++
CXXFLAGS := -W -Wall -g CXXFLAGS := -W -Wall -g
LIBWEBM := libwebm.a LIBWEBMA := libwebm.a
WEBMOBJS := mkvparser.o mkvreader.o mkvmuxer.o mkvmuxerutil.o mkvwriter.o LIBWEBMSO := libwebm.so
OBJECTS1 := sample.o WEBMOBJS := mkvparser.o mkvreader.o mkvmuxer.o mkvmuxerutil.o mkvwriter.o
OBJECTS2 := sample_muxer.o OBJSA := $(WEBMOBJS:.o=_a.o)
OBJECTS3 := dumpvtt.o vttreader.o webvttparser.o OBJSSO := $(WEBMOBJS:.o=_so.o)
INCLUDES := -I. OBJECTS1 := sample.o
EXES := samplemuxer sample dumpvtt OBJECTS2 := sample_muxer.o
OBJECTS3 := dumpvtt.o vttreader.o webvttparser.o
INCLUDES := -I.
EXES := samplemuxer sample dumpvtt
all: $(EXES) all: $(EXES)
sample: sample.o $(LIBWEBM) sample: sample.o $(LIBWEBMA)
$(CXX) $^ -o $@ $(CXX) $^ -o $@
samplemuxer: sample_muxer.o $(LIBWEBM) samplemuxer: sample_muxer.o $(LIBWEBMA)
$(CXX) $^ -o $@ $(CXX) $^ -o $@
dumpvtt: $(OBJECTS3) dumpvtt: $(OBJECTS3)
$(CXX) $^ -o $@ $(CXX) $^ -o $@
libwebm.a: $(WEBMOBJS) shared: $(LIBWEBMSO)
libwebm.a: $(OBJSA)
$(AR) rcs $@ $^ $(AR) rcs $@ $^
libwebm.so: $(OBJSSO)
$(CXX) $(CXXFLAGS) -shared $(OBJSSO) -o $(LIBWEBMSO)
%.o: %.cpp %.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(INCLUDES) $< -o $@ $(CXX) -c $(CXXFLAGS) $(INCLUDES) $< -o $@
%_a.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(INCLUDES) $< -o $@
%_so.o: %.cpp
$(CXX) -c $(CXXFLAGS) -fPIC $(INCLUDES) $< -o $@
clean: clean:
$(RM) -f $(OBJECTS1) $(OBJECTS2) $(OBJECTS3) $(WEBMOBJS) $(LIBWEBM) $(EXES) Makefile.bak $(RM) -f $(OBJECTS1) $(OBJECTS2) $(OBJECTS3) $(OBJSA) $(OBJSSO) $(LIBWEBMA) $(LIBWEBMSO) $(EXES) Makefile.bak