1# This is a generic makefile for libyuv for gcc. 2# make -f linux.mk CXX=clang++ 3 4CC?=gcc 5CFLAGS?=-O2 -fomit-frame-pointer 6CFLAGS+=-Iinclude/ 7 8CXX?=g++ 9CXXFLAGS?=-O2 -fomit-frame-pointer 10CXXFLAGS+=-Iinclude/ 11 12LOCAL_OBJ_FILES := \ 13 source/compare.o \ 14 source/compare_common.o \ 15 source/compare_gcc.o \ 16 source/compare_mmi.o \ 17 source/compare_msa.o \ 18 source/compare_neon64.o \ 19 source/compare_neon.o \ 20 source/compare_win.o \ 21 source/convert_argb.o \ 22 source/convert.o \ 23 source/convert_from_argb.o \ 24 source/convert_from.o \ 25 source/convert_jpeg.o \ 26 source/convert_to_argb.o \ 27 source/convert_to_i420.o \ 28 source/cpu_id.o \ 29 source/mjpeg_decoder.o \ 30 source/mjpeg_validate.o \ 31 source/planar_functions.o \ 32 source/rotate_any.o \ 33 source/rotate_argb.o \ 34 source/rotate.o \ 35 source/rotate_common.o \ 36 source/rotate_gcc.o \ 37 source/rotate_mmi.o \ 38 source/rotate_msa.o \ 39 source/rotate_neon64.o \ 40 source/rotate_neon.o \ 41 source/rotate_win.o \ 42 source/row_any.o \ 43 source/row_common.o \ 44 source/row_gcc.o \ 45 source/row_mmi.o \ 46 source/row_msa.o \ 47 source/row_neon64.o \ 48 source/row_neon.o \ 49 source/row_win.o \ 50 source/scale_any.o \ 51 source/scale_argb.o \ 52 source/scale.o \ 53 source/scale_common.o \ 54 source/scale_gcc.o \ 55 source/scale_mmi.o \ 56 source/scale_msa.o \ 57 source/scale_neon64.o \ 58 source/scale_neon.o \ 59 source/scale_win.o \ 60 source/video_common.o 61 62.cc.o: 63 $(CXX) -c $(CXXFLAGS) $*.cc -o $*.o 64 65.c.o: 66 $(CC) -c $(CFLAGS) $*.c -o $*.o 67 68all: libyuv.a yuvconvert cpuid psnr 69 70libyuv.a: $(LOCAL_OBJ_FILES) 71 $(AR) $(ARFLAGS) $@ $(LOCAL_OBJ_FILES) 72 73# A C++ test utility that uses libyuv conversion. 74yuvconvert: util/yuvconvert.cc libyuv.a 75 $(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/yuvconvert.cc libyuv.a 76 77# A standalone test utility 78psnr: util/psnr.cc 79 $(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/psnr.cc util/psnr_main.cc util/ssim.cc 80 81# A C test utility that uses libyuv conversion from C. 82# gcc 4.4 and older require -fno-exceptions to avoid link error on __gxx_personality_v0 83# CC=gcc-4.4 CXXFLAGS=-fno-exceptions CXX=g++-4.4 make -f linux.mk 84cpuid: util/cpuid.c libyuv.a 85 $(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.a 86 87clean: 88 /bin/rm -f source/*.o *.ii *.s libyuv.a yuvconvert cpuid psnr 89