summaryrefslogtreecommitdiff
path: root/Makefile.unix
diff options
context:
space:
mode:
authorTom Finegan <tomfinegan@google.com>2015-02-13 11:23:40 -0800
committerTom Finegan <tomfinegan@google.com>2015-02-13 16:07:01 -0800
commitb386aa5c6bbf5a50d5799687475469be6ec89086 (patch)
treedc2f61a4fb5321958fd25d43000f4221dd9b99ad /Makefile.unix
parentb0f8a81df906a83249baccd8955c98a819774d54 (diff)
downloadlibwebm-b386aa5c6bbf5a50d5799687475469be6ec89086.tar.gz
Add CMakeLists.txt and msvc_runtime.cmake.
- These files facilitate project/makefile generation. - Remove old Visual Studio projects. - Rename Makefile to Makefile.unix. Change-Id: If786edd75d44c462538526c286eccc5cbf15d828
Diffstat (limited to 'Makefile.unix')
-rw-r--r--Makefile.unix53
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile.unix b/Makefile.unix
new file mode 100644
index 0000000..e9a60a4
--- /dev/null
+++ b/Makefile.unix
@@ -0,0 +1,53 @@
+CXX := g++
+CXXFLAGS := -W -Wall -g -MMD -MP
+LIBWEBMA := libwebm.a
+LIBWEBMSO := libwebm.so
+WEBMOBJS := mkvparser.o mkvreader.o mkvmuxer.o mkvmuxerutil.o mkvwriter.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)
+EXES := samplemuxer sample dumpvtt vttdemux
+
+all: $(EXES)
+
+sample: sample.o $(LIBWEBMA)
+ $(CXX) $^ -o $@
+
+samplemuxer: $(OBJECTS2) $(LIBWEBMA)
+ $(CXX) $^ -o $@
+
+dumpvtt: $(OBJECTS3)
+ $(CXX) $^ -o $@
+
+shared: $(LIBWEBMSO)
+
+vttdemux: $(OBJECTS4) $(LIBWEBMA)
+ $(CXX) $^ -o $@
+
+libwebm.a: $(OBJSA)
+ $(AR) rcs $@ $^
+
+libwebm.so: $(OBJSSO)
+ $(CXX) $(CXXFLAGS) -shared $(OBJSSO) -o $(LIBWEBMSO)
+
+%.o: %.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCLUDES) $< -o $@
+
+%_a.o: %.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCLUDES) $< -o $@
+
+%_so.o: %.cpp
+ $(CXX) -c $(CXXFLAGS) -fPIC $(INCLUDES) $< -o $@
+
+clean:
+ $(RM) -f $(OBJECTS1) $(OBJECTS2) $(OBJECTS3) $(OBJECTS4) $(OBJSA) $(OBJSSO) $(LIBWEBMA) $(LIBWEBMSO) $(EXES) $(DEPS) Makefile.bak
+
+ifneq ($(MAKECMDGOALS), clean)
+ -include $(DEPS)
+endif