2010-04-19 05:17:06 +04:00
|
|
|
DEPTH = ../..
|
|
|
|
topsrcdir = @top_srcdir@
|
|
|
|
srcdir = @srcdir@
|
|
|
|
VPATH = @srcdir@
|
|
|
|
|
|
|
|
include $(DEPTH)/config/autoconf.mk
|
|
|
|
|
|
|
|
MODULE = ycbcr
|
|
|
|
LIBRARY_NAME = ycbcr
|
|
|
|
LIBXUL_LIBRARY = 1
|
|
|
|
EXPORT_LIBRARY = 1
|
|
|
|
|
|
|
|
DEFINES += -D_IMPL_NS_GFX
|
|
|
|
|
|
|
|
EXPORTS = chromium_types.h \
|
|
|
|
yuv_convert.h \
|
|
|
|
yuv_row.h \
|
2011-03-08 03:59:44 +03:00
|
|
|
ycbcr_to_rgb565.h \
|
2010-04-19 05:17:06 +04:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
CPPSRCS = yuv_convert.cpp \
|
|
|
|
yuv_row_c.cpp \
|
2010-11-11 02:54:27 +03:00
|
|
|
yuv_row_table.cpp \
|
2011-01-19 20:38:38 +03:00
|
|
|
ycbcr_to_rgb565.cpp \
|
2010-04-19 05:17:06 +04:00
|
|
|
$(NULL)
|
|
|
|
|
2010-12-09 20:59:21 +03:00
|
|
|
# Are we targeting x86 or x64? If so, build yuv_convert_mmx.cpp and
|
2011-08-29 09:34:02 +04:00
|
|
|
# yuv_convert_sse2.cpp.
|
2010-12-09 20:59:21 +03:00
|
|
|
ifneq (,$(INTEL_ARCHITECTURE))
|
2011-01-18 08:08:47 +03:00
|
|
|
CPPSRCS += yuv_convert_sse2.cpp
|
|
|
|
|
|
|
|
# MSVC doesn't support MMX when targeting AMD64.
|
|
|
|
ifdef _MSC_VER
|
|
|
|
ifneq ($(OS_TEST),x86_64)
|
|
|
|
CPPSRCS += yuv_convert_mmx.cpp
|
|
|
|
endif
|
|
|
|
else
|
|
|
|
CPPSRCS += yuv_convert_mmx.cpp
|
|
|
|
endif
|
2010-12-09 20:59:21 +03:00
|
|
|
endif
|
|
|
|
|
2010-04-29 12:35:07 +04:00
|
|
|
ifdef _MSC_VER
|
2011-04-18 04:51:18 +04:00
|
|
|
ifeq ($(OS_TEST),x86_64)
|
2011-05-08 19:07:58 +04:00
|
|
|
ifeq (1400,$(_MSC_VER))
|
|
|
|
# VC8 doesn't support some SSE2 built-in functions
|
|
|
|
CPPSRCS += yuv_row_win.cpp \
|
|
|
|
$(NULL)
|
|
|
|
else
|
2011-04-18 04:51:18 +04:00
|
|
|
CPPSRCS += yuv_row_win64.cpp \
|
|
|
|
$(NULL)
|
2011-05-08 19:07:58 +04:00
|
|
|
endif
|
2011-04-18 04:51:18 +04:00
|
|
|
else
|
2010-04-19 05:17:06 +04:00
|
|
|
CPPSRCS += yuv_row_win.cpp \
|
|
|
|
$(NULL)
|
2011-04-18 04:51:18 +04:00
|
|
|
endif
|
2010-04-19 05:17:06 +04:00
|
|
|
else
|
2010-05-02 16:20:40 +04:00
|
|
|
ifeq ($(OS_ARCH),Linux)
|
2010-11-11 02:54:27 +03:00
|
|
|
CPPSRCS += yuv_row_posix.cpp \
|
2010-04-19 05:17:06 +04:00
|
|
|
$(NULL)
|
|
|
|
else
|
2010-06-23 13:30:48 +04:00
|
|
|
ifeq ($(OS_ARCH),SunOS)
|
2010-11-11 02:54:27 +03:00
|
|
|
CPPSRCS += yuv_row_posix.cpp \
|
2010-06-23 13:30:48 +04:00
|
|
|
$(NULL)
|
|
|
|
else
|
2010-05-02 16:20:40 +04:00
|
|
|
ifeq ($(OS_ARCH),Darwin)
|
2010-11-11 02:54:27 +03:00
|
|
|
CPPSRCS += yuv_row_posix.cpp \
|
2010-06-21 23:18:13 +04:00
|
|
|
$(NULL)
|
|
|
|
else
|
2010-04-19 05:17:06 +04:00
|
|
|
CPPSRCS += yuv_row_other.cpp \
|
|
|
|
$(NULL)
|
2010-11-11 02:54:27 +03:00
|
|
|
endif # Darwin
|
2010-06-23 13:30:48 +04:00
|
|
|
endif # SunOS
|
2010-05-02 16:20:40 +04:00
|
|
|
endif # linux
|
|
|
|
endif # windows
|
2010-04-19 05:17:06 +04:00
|
|
|
|
2010-12-10 22:32:52 +03:00
|
|
|
ifeq (arm,$(findstring arm,$(OS_TEST)))
|
2011-04-15 04:34:18 +04:00
|
|
|
ifdef HAVE_ARM_NEON
|
2010-12-10 22:32:52 +03:00
|
|
|
CPPSRCS += yuv_convert_arm.cpp \
|
|
|
|
$(NULL)
|
2011-04-15 04:34:18 +04:00
|
|
|
ASFILES = yuv_row_arm.$(ASM_SUFFIX) \
|
|
|
|
$(NULL)
|
|
|
|
endif
|
2010-12-10 22:32:52 +03:00
|
|
|
endif
|
|
|
|
|
2010-04-19 05:17:06 +04:00
|
|
|
include $(topsrcdir)/config/rules.mk
|
2011-08-29 09:34:02 +04:00
|
|
|
|
|
|
|
# These files use MMX and SSE2 intrinsics, so they need special compile flags
|
|
|
|
# on some compilers.
|
|
|
|
ifneq (,$(INTEL_ARCHITECTURE))
|
|
|
|
ifdef GNU_CC
|
|
|
|
yuv_convert_mmx.$(OBJ_SUFFIX): CXXFLAGS += -mmmx
|
|
|
|
yuv_convert_sse2.$(OBJ_SUFFIX): CXXFLAGS += -msse2
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef SOLARIS_SUNPRO_CXX
|
|
|
|
yuv_convert_mmx.$(OBJ_SUFFIX): CXXFLAGS += -xarch=mmx -xO4
|
|
|
|
yuv_convert_sse2.$(OBJ_SUFFIX): CXXFLAGS += -xarch=sse2 -xO4
|
|
|
|
endif
|
|
|
|
endif
|