1*103e46e4SHarish MahendrakarCXX := g++ 2*103e46e4SHarish MahendrakarDEFINES := -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 3*103e46e4SHarish MahendrakarDEFINES += -D__STDC_LIMIT_MACROS 4*103e46e4SHarish MahendrakarINCLUDES := -I. 5*103e46e4SHarish MahendrakarCXXFLAGS := -W -Wall -g -std=c++11 6*103e46e4SHarish MahendrakarALL_CXXFLAGS := -MMD -MP $(DEFINES) $(INCLUDES) $(CXXFLAGS) 7*103e46e4SHarish MahendrakarLIBWEBMA := libwebm.a 8*103e46e4SHarish MahendrakarLIBWEBMSO := libwebm.so 9*103e46e4SHarish MahendrakarWEBMOBJS := mkvmuxer/mkvmuxer.o mkvmuxer/mkvmuxerutil.o mkvmuxer/mkvwriter.o 10*103e46e4SHarish MahendrakarWEBMOBJS += mkvparser/mkvparser.o mkvparser/mkvreader.o 11*103e46e4SHarish MahendrakarWEBMOBJS += common/file_util.o common/hdr_util.o 12*103e46e4SHarish MahendrakarOBJSA := $(WEBMOBJS:.o=_a.o) 13*103e46e4SHarish MahendrakarOBJSSO := $(WEBMOBJS:.o=_so.o) 14*103e46e4SHarish MahendrakarVTTOBJS := webvtt/vttreader.o webvtt/webvttparser.o sample_muxer_metadata.o 15*103e46e4SHarish MahendrakarEXEOBJS := mkvmuxer_sample.o mkvparser_sample.o dumpvtt.o vttdemux.o 16*103e46e4SHarish MahendrakarEXES := mkvparser_sample mkvmuxer_sample dumpvtt vttdemux 17*103e46e4SHarish MahendrakarDEPS := $(WEBMOBJS:.o=.d) $(OBJECTS1:.o=.d) $(OBJECTS2:.o=.d) 18*103e46e4SHarish MahendrakarDEPS += $(OBJECTS3:.o=.d) $(OBJECTS4:.o=.d) $(OBJSA:.o=.d) $(OBJSSO:.o=.d) 19*103e46e4SHarish MahendrakarDEPS += $(VTTOBJS:.o=.d) $(EXEOBJS:.o=.d) 20*103e46e4SHarish MahendrakarCLEAN := $(EXEOBJS) $(VTTOBJS) $(WEBMOBJS) $(OBJSA) $(OBJSSO) $(LIBWEBMA) 21*103e46e4SHarish MahendrakarCLEAN += $(LIBWEBMSO) $(EXES) $(DEPS) $(INFOOBJS) 22*103e46e4SHarish Mahendrakar 23*103e46e4SHarish Mahendrakarall: $(EXES) 24*103e46e4SHarish Mahendrakar 25*103e46e4SHarish Mahendrakarmkvparser_sample: mkvparser_sample.o $(LIBWEBMA) 26*103e46e4SHarish Mahendrakar $(CXX) $^ -o $@ 27*103e46e4SHarish Mahendrakar 28*103e46e4SHarish Mahendrakarmkvmuxer_sample: mkvmuxer_sample.o $(VTTOBJS) $(LIBWEBMA) 29*103e46e4SHarish Mahendrakar $(CXX) $^ -o $@ 30*103e46e4SHarish Mahendrakar 31*103e46e4SHarish Mahendrakardumpvtt: dumpvtt.o $(VTTOBJS) $(WEBMOBJS) 32*103e46e4SHarish Mahendrakar $(CXX) $^ -o $@ 33*103e46e4SHarish Mahendrakar 34*103e46e4SHarish Mahendrakarvttdemux: vttdemux.o $(VTTOBJS) $(LIBWEBMA) 35*103e46e4SHarish Mahendrakar $(CXX) $^ -o $@ 36*103e46e4SHarish Mahendrakar 37*103e46e4SHarish Mahendrakarshared: $(LIBWEBMSO) 38*103e46e4SHarish Mahendrakar 39*103e46e4SHarish Mahendrakarlibwebm.a: $(OBJSA) 40*103e46e4SHarish Mahendrakar $(AR) rcs $@ $^ 41*103e46e4SHarish Mahendrakar 42*103e46e4SHarish Mahendrakarlibwebm.so: $(OBJSSO) 43*103e46e4SHarish Mahendrakar $(CXX) $(ALL_CXXFLAGS) -shared $(OBJSSO) -o $(LIBWEBMSO) 44*103e46e4SHarish Mahendrakar 45*103e46e4SHarish Mahendrakar%.o: %.cc 46*103e46e4SHarish Mahendrakar $(CXX) -c $(ALL_CXXFLAGS) $< -o $@ 47*103e46e4SHarish Mahendrakar%_a.o: %.cc 48*103e46e4SHarish Mahendrakar $(CXX) -c $(ALL_CXXFLAGS) $< -o $@ 49*103e46e4SHarish Mahendrakar%_so.o: %.cc 50*103e46e4SHarish Mahendrakar $(CXX) -c $(ALL_CXXFLAGS) -fPIC $< -o $@ 51*103e46e4SHarish Mahendrakar 52*103e46e4SHarish Mahendrakarclean: 53*103e46e4SHarish Mahendrakar $(RM) -f $(CLEAN) Makefile.bak 54*103e46e4SHarish Mahendrakar 55*103e46e4SHarish Mahendrakarifneq ($(MAKECMDGOALS), clean) 56*103e46e4SHarish Mahendrakar -include $(DEPS) 57*103e46e4SHarish Mahendrakarendif 58