xref: /aosp_15_r20/external/libwebm/Makefile.unix (revision 103e46e4cd4b6efcf6001f23fa8665fb110abf8d)
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