2
topsrcdir = @top_srcdir@
6
include $(DEPTH)/config/autoconf.mk
13
DEFINES += -D_IMPL_NS_GFX
15
EXPORTS = chromium_types.h \
21
CPPSRCS = yuv_convert.cpp \
27
# Are we targeting x86 or x64? If so, build yuv_convert_mmx.cpp and
28
# yuv_convert_sse2.cpp.
29
ifneq (,$(INTEL_ARCHITECTURE))
30
CPPSRCS += yuv_convert_sse2.cpp
32
# MSVC doesn't support MMX when targeting AMD64.
34
ifneq ($(OS_TEST),x86_64)
35
CPPSRCS += yuv_convert_mmx.cpp
38
CPPSRCS += yuv_convert_mmx.cpp
43
ifeq ($(OS_TEST),x86_64)
44
ifeq (1400,$(_MSC_VER))
45
# VC8 doesn't support some SSE2 built-in functions
46
CPPSRCS += yuv_row_win.cpp \
49
CPPSRCS += yuv_row_win64.cpp \
53
CPPSRCS += yuv_row_win.cpp \
57
ifneq (,$(filter Linux SunOS Darwin DragonFly FreeBSD NetBSD OpenBSD, $(OS_ARCH)))
58
CPPSRCS += yuv_row_posix.cpp \
61
CPPSRCS += yuv_row_other.cpp \
66
ifeq (arm,$(findstring arm,$(OS_TEST)))
68
CPPSRCS += yuv_convert_arm.cpp \
70
ASFILES = yuv_row_arm.$(ASM_SUFFIX) \
75
include $(topsrcdir)/config/rules.mk
77
# These files use MMX and SSE2 intrinsics, so they need special compile flags
79
ifneq (,$(INTEL_ARCHITECTURE))
81
yuv_convert_mmx.$(OBJ_SUFFIX): CXXFLAGS += -mmmx
82
yuv_convert_sse2.$(OBJ_SUFFIX): CXXFLAGS += -msse2
85
ifdef SOLARIS_SUNPRO_CXX
86
yuv_convert_mmx.$(OBJ_SUFFIX): CXXFLAGS += -xarch=mmx -xO4
87
yuv_convert_sse2.$(OBJ_SUFFIX): CXXFLAGS += -xarch=sse2 -xO4