1include $(top_srcdir)/pixman/Makefile.sources
2
3lib_LTLIBRARIES = libpixman-1.la
4
5libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -no-undefined @PTHREAD_LDFLAGS@
6libpixman_1_la_LIBADD = @PTHREAD_LIBS@ -lm
7libpixman_1_la_SOURCES = $(libpixman_sources) $(libpixman_headers)
8
9libpixmanincludedir = $(includedir)/pixman-1
10libpixmaninclude_HEADERS = pixman.h pixman-version.h
11noinst_LTLIBRARIES =
12
13EXTRA_DIST =				\
14	Makefile.win32			\
15	dither/make-blue-noise.c	\
16	pixman-region.c			\
17	solaris-hwcap.mapfile		\
18	meson.build			\
19	$(NULL)
20
21# mmx code
22if USE_X86_MMX
23noinst_LTLIBRARIES += libpixman-mmx.la
24libpixman_mmx_la_SOURCES = \
25	pixman-mmx.c
26libpixman_mmx_la_CFLAGS = $(MMX_CFLAGS)
27libpixman_1_la_LDFLAGS += $(MMX_LDFLAGS)
28libpixman_1_la_LIBADD += libpixman-mmx.la
29
30ASM_CFLAGS_mmx=$(MMX_CFLAGS)
31endif
32
33# vmx code
34if USE_VMX
35noinst_LTLIBRARIES += libpixman-vmx.la
36libpixman_vmx_la_SOURCES = \
37	pixman-vmx.c \
38	pixman-combine32.h
39libpixman_vmx_la_CFLAGS = $(VMX_CFLAGS)
40libpixman_1_la_LIBADD += libpixman-vmx.la
41
42ASM_CFLAGS_vmx=$(VMX_CFLAGS)
43endif
44
45# sse2 code
46if USE_SSE2
47noinst_LTLIBRARIES += libpixman-sse2.la
48libpixman_sse2_la_SOURCES = \
49	pixman-sse2.c
50libpixman_sse2_la_CFLAGS = $(SSE2_CFLAGS)
51libpixman_1_la_LDFLAGS += $(SSE2_LDFLAGS)
52libpixman_1_la_LIBADD += libpixman-sse2.la
53
54ASM_CFLAGS_sse2=$(SSE2_CFLAGS)
55endif
56
57# ssse3 code
58if USE_SSSE3
59noinst_LTLIBRARIES += libpixman-ssse3.la
60libpixman_ssse3_la_SOURCES = \
61	pixman-ssse3.c
62libpixman_ssse3_la_CFLAGS = $(SSSE3_CFLAGS)
63libpixman_1_la_LDFLAGS += $(SSSE3_LDFLAGS)
64libpixman_1_la_LIBADD += libpixman-ssse3.la
65
66ASM_CFLAGS_ssse3=$(SSSE3_CFLAGS)
67endif
68
69# arm simd code
70if USE_ARM_SIMD
71noinst_LTLIBRARIES += libpixman-arm-simd.la
72libpixman_arm_simd_la_SOURCES = \
73	pixman-arm-simd.c	\
74	pixman-arm-common.h	\
75	pixman-arm-simd-asm.S   \
76	pixman-arm-simd-asm-scaled.S \
77	pixman-arm-asm.h	\
78	pixman-arm-simd-asm.h
79libpixman_1_la_LIBADD += libpixman-arm-simd.la
80
81ASM_CFLAGS_arm_simd=
82endif
83
84# arm neon code
85if USE_ARM_NEON
86noinst_LTLIBRARIES += libpixman-arm-neon.la
87libpixman_arm_neon_la_SOURCES = \
88        pixman-arm-neon.c	\
89        pixman-arm-common.h	\
90        pixman-arm-neon-asm.S	\
91		pixman-arm-neon-asm-bilinear.S \
92        pixman-arm-asm.h	\
93        pixman-arm-neon-asm.h
94libpixman_1_la_LIBADD += libpixman-arm-neon.la
95
96ASM_CFLAGS_arm_neon=
97endif
98
99# iwmmxt code
100if USE_ARM_IWMMXT
101libpixman_iwmmxt_la_SOURCES = pixman-mmx.c
102noinst_LTLIBRARIES += libpixman-iwmmxt.la
103libpixman_1_la_LIBADD += libpixman-iwmmxt.la
104
105libpixman_iwmmxt_la-pixman-mmx.lo: pixman-mmx.c
106	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $(IWMMXT_CFLAGS) -MT libpixman_iwmmxt_la-pixman-mmx.lo -MD -MP -MF $(DEPDIR)/libpixman_iwmmxt_la-pixman-mmx.Tpo -c -o libpixman_iwmmxt_la-pixman-mmx.lo `test -f 'pixman-mmx.c' || echo '$(srcdir)/'`pixman-mmx.c
107	$(AM_V_at)$(am__mv) $(DEPDIR)/libpixman_iwmmxt_la-pixman-mmx.Tpo $(DEPDIR)/libpixman_iwmmxt_la-pixman-mmx.Plo
108
109libpixman_iwmmxt_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
110libpixman_iwmmxt_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
111        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
112	$(CFLAGS) $(IWMMXT_CFLAGS) $(AM_LDFLAGS) \
113	$(LDFLAGS) -o $@
114
115libpixman-iwmmxt.la: libpixman_iwmmxt_la-pixman-mmx.lo $(libpixman_iwmmxt_la_DEPENDENCIES)
116	$(AM_V_CCLD)$(libpixman_iwmmxt_la_LINK) libpixman_iwmmxt_la-pixman-mmx.lo $(libpixman_iwmmxt_la_LIBADD) $(LIBS)
117endif
118
119# mips dspr2 code
120if USE_MIPS_DSPR2
121noinst_LTLIBRARIES += libpixman-mips-dspr2.la
122libpixman_mips_dspr2_la_SOURCES = \
123        pixman-mips-dspr2.c \
124        pixman-mips-dspr2.h \
125        pixman-mips-dspr2-asm.S \
126        pixman-mips-dspr2-asm.h \
127        pixman-mips-memcpy-asm.S
128libpixman_1_la_LIBADD += libpixman-mips-dspr2.la
129
130ASM_CFLAGS_mips_dspr2=
131endif
132
133# loongson code
134if USE_LOONGSON_MMI
135noinst_LTLIBRARIES += libpixman-loongson-mmi.la
136libpixman_loongson_mmi_la_SOURCES = pixman-mmx.c loongson-mmintrin.h
137libpixman_loongson_mmi_la_CFLAGS = $(LS_CFLAGS)
138libpixman_1_la_LDFLAGS += $(LS_LDFLAGS)
139libpixman_1_la_LIBADD += libpixman-loongson-mmi.la
140endif
141
142.c.s : $(libpixmaninclude_HEADERS)
143	$(CC) $(CFLAGS) $(ASM_CFLAGS_$(@:pixman-%.s=%)) $(ASM_CFLAGS_$(@:pixman-arm-%.s=arm_%)) -DHAVE_CONFIG_H -I$(srcdir) -I$(builddir) -I$(top_builddir) -S -o $@ $<
144