DEPTH		= ../..
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE       = qcms
LIBRARY_NAME = mozqcms
LIBXUL_LIBRARY = 1
GRE_MODULE      = 1
DIST_INSTALL = 1

EXPORTS      = qcms.h qcmstypes.h

CSRCS = iccread.c transform.c

ifeq (86,$(findstring 86,$(OS_TEST)))
CSRCS += transform-sse2.c
ifdef _MSC_VER
ifneq ($(OS_ARCH)_$(OS_TEST),WINNT_x86_64)
	CSRCS += transform-sse1.c
endif
else
	CSRCS += transform-sse1.c
ifdef GNU_CC
	SSE1_FLAGS=-msse
	SSE2_FLAGS=-msse2
else
ifeq ($(SOLARIS_SUNPRO_CC),1)
ifneq (64,$(findstring 64,$(OS_TEST)))
	SSE1_FLAGS=-xarch=sse
	SSE2_FLAGS=-xarch=sse2
else
# Sun Studio doesn't work correctly for x86 intristics
# with -m64 and without optimization.
	SSE1_FLAGS= -xO4
	SSE2_FLAGS= -xO4
endif
else
	SSE1_FLAGS=
	SSE2_FLAGS=
endif
endif
endif
endif

# -pedantic causes warnings that we don't care about
# so turn it off
CFLAGS := $(filter-out -pedantic,$(CFLAGS))

FORCE_STATIC_LIB = 1
# This library is used by other shared libs
FORCE_USE_PIC = 1

include $(topsrcdir)/config/rules.mk

CFLAGS          += -DMOZ_QCMS

# Disable spammy "missing initializer" GCC warning
ifdef GNU_CC
CFLAGS += -Wno-missing-field-initializers
endif # GNU_CC

# special rules for transform-sse*.c to get the right cflags. (taken from pixman/src/Makefile.in)
transform-sse1.$(OBJ_SUFFIX): transform-sse1.c $(GLOBAL_DEPS)
	$(REPORT_BUILD)
	@$(MAKE_DEPS_AUTO_CC)
	$(ELOG) $(CC) $(OUTOPTION)$@ -c $(COMPILE_CFLAGS) $(SSE1_FLAGS) $(_VPATH_SRCS)

transform-sse2.$(OBJ_SUFFIX): transform-sse2.c $(GLOBAL_DEPS)
	$(REPORT_BUILD)
	@$(MAKE_DEPS_AUTO_CC)
	$(ELOG) $(CC) $(OUTOPTION)$@ -c $(COMPILE_CFLAGS) $(SSE2_FLAGS) $(_VPATH_SRCS)
