xref: /netbsd-src/external/mit/xorg/lib/pixman/Makefile (revision 51c5f9b7c2b2cc93506078d2cab158634a65201f)
1#	$NetBSD: Makefile,v 1.25 2013/09/07 09:22:37 skrll Exp $
2
3NOLINT=	1	# defined
4
5.include <bsd.own.mk>
6
7LIB=		pixman-1
8
9DIST=	${X11SRCDIR.pixman}/pixman
10.PATH:	${DIST}
11
12SRCS=					\
13	pixman.c			\
14	pixman-access.c			\
15	pixman-access-accessors.c	\
16	pixman-bits-image.c		\
17	pixman-combine32.c		\
18	pixman-combine-float.c		\
19	pixman-conical-gradient.c	\
20	pixman-edge.c			\
21	pixman-edge-accessors.c		\
22	pixman-fast-path.c		\
23	pixman-filter.c			\
24	pixman-glyph.c			\
25	pixman-general.c		\
26	pixman-gradient-walker.c	\
27	pixman-image.c			\
28	pixman-implementation.c		\
29	pixman-linear-gradient.c	\
30	pixman-matrix.c			\
31	pixman-noop.c			\
32	pixman-radial-gradient.c	\
33	pixman-region16.c		\
34	pixman-region32.c		\
35	pixman-solid-fill.c		\
36	pixman-timer.c			\
37	pixman-trap.c			\
38	pixman-utils.c
39
40SRCS+=					\
41	pixman-x86.c			\
42	pixman-mips.c			\
43	pixman-arm.c			\
44	pixman-ppc.c			\
45
46# XXX
47
48.if ${MACHINE_ARCH} == "i386"
49SRCS+= pixman-mmx.c
50COPTS.pixman-mmx.c=	-mmmx -fvisibility=hidden
51MKDEPFLAGS+=		-mmmx -msse2 -fvisibility=hidden
52SRCS+=	pixman-sse2.c
53COPTS.pixman-sse2.c=	-msse2 -fvisibility=hidden
54CPPFLAGS+=	-DUSE_SSE2 -DUSE_X86_MMX
55.elif ${MACHINE_ARCH} == "x86_64"
56SRCS+=	pixman-sse2.c
57COPTS.pixman-sse2.c=	-msse2 -fvisibility=hidden
58CPPFLAGS+=	-DUSE_SSE2
59.endif
60
61.if ${MACHINE_ARCH} == "powerpc"
62SRCS+=	pixman-vmx.c
63COPTS.pixman-vmx.c=	-maltivec
64CPPFLAGS+=		-DUSE_VMX
65MKDEPFLAGS+=		-maltivec
66.endif
67
68.if ${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmhf"
69# ARM SIMD
70#SRCS+=		pixman-arm-simd.c 		\
71#		pixman-arm-simd-asm.S		\
72#		pixman-arm-simd-asm-scaled.S
73#CPPFLAGS+=	-DUSE_ARM_SIMD
74# ARM NEON
75SRCS+=		pixman-arm-neon.c		\
76		pixman-arm-neon-asm.S		\
77		pixman-arm-neon-asm-bilinear.S
78CPPFLAGS+=	-DUSE_ARM_NEON
79# ARM iwMMX
80#SRCS+=		pixman-mmx.c
81#COPTS.pixman-mmx.c=	-mcpu=iwmmxt
82#CPPFLAGS+=	-DUSE_ARM_IWMMXT
83.endif
84
85.if ${MACHINE} == "evbmips"
86# Loongson MMI
87SRCS+=		pixman-mmx.c
88CPPFLAGS+=	-DUSE_LOONGSON_MMI
89# SIMD instructions use floatpoint registers so we need to enable their use
90COPTS.pixman-mmx.c=	-march=loongson2f -mhard-float
91.endif
92
93INCS=	pixman.h pixman-version.h
94INCSDIR=${X11INCDIR}/pixman-1
95
96CPPFLAGS+=	-DHAVE_CONFIG_H \
97		-I${X11SRCDIR.pixman}/../include \
98		-I${X11SRCDIR.pixman}/../combine \
99		-I${X11SRCDIR.pixman}/pixman
100
101# With pixman 0.28.3, HAVE_PTHREAD_SETSPECIFIC is much faster than TLS
102CPPFLAGS+=	-DHAVE_PTHREAD_SETSPECIFIC
103#CPPFLAGS+=	-DTLS=__thread
104
105LIBDPLIBS=	m	${.CURDIR}/../../../../../lib/libm
106
107PKGCONFIG=	pixman-1
108PKGDIST=	pixman
109
110.include <bsd.x11.mk>
111.include <bsd.lib.mk>
112