1# This is a generic makefile for libyuv for gcc.
2# make -f linux.mk CXX=clang++
3
4CXX?=g++
5CXXFLAGS?=-O2 -fomit-frame-pointer
6CXXFLAGS+=-Iinclude/
7
8LOCAL_OBJ_FILES := \
9    source/compare.o           \
10    source/compare_common.o    \
11    source/compare_posix.o     \
12    source/convert.o           \
13    source/convert_argb.o      \
14    source/convert_from.o      \
15    source/convert_from_argb.o \
16    source/convert_to_argb.o   \
17    source/convert_to_i420.o   \
18    source/cpu_id.o            \
19    source/format_conversion.o \
20    source/planar_functions.o  \
21    source/rotate.o            \
22    source/rotate_argb.o       \
23    source/rotate_mips.o       \
24    source/row_any.o           \
25    source/row_common.o        \
26    source/row_mips.o          \
27    source/row_posix.o         \
28    source/scale.o             \
29    source/scale_argb.o        \
30    source/scale_common.o      \
31    source/scale_mips.o        \
32    source/scale_posix.o       \
33    source/video_common.o
34
35.cc.o:
36	$(CXX) -c $(CXXFLAGS) $*.cc -o $*.o
37
38all: libyuv.a convert
39
40libyuv.a: $(LOCAL_OBJ_FILES)
41	$(AR) $(ARFLAGS) -o $@ $(LOCAL_OBJ_FILES)
42
43# A test utility that uses libyuv conversion.
44convert: util/convert.cc libyuv.a
45	$(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/convert.cc libyuv.a
46
47clean:
48	/bin/rm -f source/*.o *.ii *.s libyuv.a convert
49
50