xref: /illumos-gate/usr/src/lib/libmvec/Makefile.com (revision ddc0e0b5)
1#
2# This file and its contents are supplied under the terms of the
3# Common Development and Distribution License ("CDDL"), version 1.0.
4# You may only use this file in accordance with the terms of version
5# 1.0 of the CDDL.
6#
7# A full copy of the text of the CDDL should have accompanied this
8# source.  A copy of the CDDL is also available via the Internet at
9# http://www.illumos.org/license/CDDL.
10#
11
12#
13# Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
14#
15
16LIBMDIR		= $(SRC)/lib/libm
17
18mvecOBJS	= \
19		__vTBL_atan1.o \
20		__vTBL_atan2.o \
21		__vTBL_rsqrt.o \
22		__vTBL_sincos.o \
23		__vTBL_sincos2.o \
24		__vTBL_sqrtf.o \
25		__vatan.o \
26		__vatan2.o \
27		__vatan2f.o \
28		__vatanf.o \
29		__vc_abs.o \
30		__vc_exp.o \
31		__vc_log.o \
32		__vc_pow.o \
33		__vcos.o \
34		__vcosbig.o \
35		__vcosbigf.o \
36		__vcosf.o \
37		__vexp.o \
38		__vexpf.o \
39		__vhypot.o \
40		__vhypotf.o \
41		__vlog.o \
42		__vlogf.o \
43		__vpow.o \
44		__vpowf.o \
45		__vrem_pio2m.o \
46		__vrhypot.o \
47		__vrhypotf.o \
48		__vrsqrt.o \
49		__vrsqrtf.o \
50		__vsin.o \
51		__vsinbig.o \
52		__vsinbigf.o \
53		__vsincos.o \
54		__vsincosbig.o \
55		__vsincosbigf.o \
56		__vsincosf.o \
57		__vsinf.o \
58		__vsqrt.o \
59		__vsqrtf.o \
60		__vz_abs.o \
61		__vz_exp.o \
62		__vz_log.o \
63		__vz_pow.o \
64		vatan2_.o \
65		vatan2f_.o \
66		vatan_.o \
67		vatanf_.o \
68		vc_abs_.o \
69		vc_exp_.o \
70		vc_log_.o \
71		vc_pow_.o \
72		vcos_.o \
73		vcosf_.o \
74		vexp_.o \
75		vexpf_.o \
76		vhypot_.o \
77		vhypotf_.o \
78		vlog_.o \
79		vlogf_.o \
80		vpow_.o \
81		vpowf_.o \
82		vrhypot_.o \
83		vrhypotf_.o \
84		vrsqrt_.o \
85		vrsqrtf_.o \
86		vsin_.o \
87		vsincos_.o \
88		vsincosf_.o \
89		vsinf_.o \
90		vsqrt_.o \
91		vsqrtf_.o \
92		vz_abs_.o \
93		vz_exp_.o \
94		vz_log_.o \
95		vz_pow_.o
96
97mvecvisCOBJS	= \
98		__vTBL_atan1.o \
99		__vTBL_atan2.o \
100		__vTBL_rsqrt.o \
101		__vTBL_sincos.o \
102		__vTBL_sincos2.o \
103		__vTBL_sqrtf.o \
104		__vcosbig.o \
105		__vcosbigf.o \
106		__vrem_pio2m.o \
107		__vsinbig.o \
108		__vsinbigf.o \
109		__vsincosbig.o \
110		__vsincosbigf.o
111
112mvecvisSOBJS	= \
113		__vatan.o \
114		__vatan2.o \
115		__vatan2f.o \
116		__vatanf.o \
117		__vcos.o \
118		__vcosf.o \
119		__vexp.o \
120		__vexpf.o \
121		__vhypot.o \
122		__vhypotf.o \
123		__vlog.o \
124		__vlogf.o \
125		__vpow.o \
126		__vpowf.o \
127		__vrhypot.o \
128		__vrhypotf.o \
129		__vrsqrt.o \
130		__vrsqrtf.o \
131		__vsin.o \
132		__vsincos.o \
133		__vsincosf.o \
134		__vsinf.o \
135		__vsqrt.o \
136		__vsqrtf.o
137
138mvecvis2COBJS	= \
139		__vTBL_sincos.o \
140		__vTBL_sincos2.o \
141		__vTBL_sqrtf.o \
142		__vcosbig.o \
143		__vcosbig_ultra3.o \
144		__vrem_pio2m.o \
145		__vsinbig.o \
146		__vsinbig_ultra3.o
147
148mvecvis2SOBJS	= \
149		__vcos_ultra3.o \
150		__vlog_ultra3.o \
151		__vsin_ultra3.o \
152		__vsqrtf_ultra3.o
153
154include		$(SRC)/lib/Makefile.lib
155include		$(SRC)/lib/Makefile.rootfs
156include		$(LIBMDIR)/Makefile.libm.com
157
158LIBS		= $(DYNLIB)
159SRCDIR		= ../common/
160DYNFLAGS	+= $(ZIGNORE)
161
162LINTERROFF	= -erroff=E_FP_DIVISION_BY_ZERO
163LINTERROFF	+= -erroff=E_FP_INVALID
164LINTERROFF	+= -erroff=E_BAD_PTR_CAST_ALIGN
165LINTERROFF	+= -erroff=E_ASSIGMENT_CAUSE_LOSS_PREC
166LINTERROFF	+= -erroff=E_FUNC_SET_NOT_USED
167
168LINTFLAGS	+= $(LINTERROFF)
169LINTFLAGS64	+= $(LINTERROFF)
170LINTFLAGS64     += -errchk=longptr64
171
172CLAGS		+= $(LINTERROFF)
173CFLAGS64	+= $(LINTERROFF)
174
175FLTRPATH_sparc		= $$ORIGIN/cpu/$$ISALIST/libmvec_isa.so.1
176FLTRPATH_sparcv9	= $$ORIGIN/../cpu/$$ISALIST/sparcv9/libmvec_isa.so.1
177FLTRPATH_i386		= $$ORIGIN/libmvec/$$HWCAP
178FLTRPATH		= $(FLTRPATH_$(TARGET_ARCH))
179
180sparc_CFLAGS += -_cc=-W0,-xintrinsic
181sparcv9_CFLAGS += -_cc=-W0,-xintrinsic
182CPPFLAGS_i386	+= -Dfabs=__fabs
183
184SRCS_mvec_i386 = ../common/__vsqrtf.c
185
186SRCS_mvec_sparc = $(SRCS_mvec_i386)
187
188SRCS_mvec_sparcv9 = $(SRCS_mvec_i386)
189
190
191SRCS_mvec = \
192	$(SRCS_mvec_$(TARGETMACH)) \
193	../common/__vTBL_atan1.c \
194	../common/__vTBL_atan2.c \
195	../common/__vTBL_rsqrt.c \
196	../common/__vTBL_sincos.c \
197	../common/__vTBL_sincos2.c \
198	../common/__vTBL_sqrtf.c \
199	../common/__vatan.c \
200	../common/__vatan2.c \
201	../common/__vatan2f.c \
202	../common/__vatanf.c \
203	../common/__vc_abs.c \
204	../common/__vc_exp.c \
205	../common/__vc_log.c \
206	../common/__vc_pow.c \
207	../common/__vcos.c \
208	../common/__vcosbig.c \
209	../common/__vcosbigf.c \
210	../common/__vcosf.c \
211	../common/__vexp.c \
212	../common/__vexpf.c \
213	../common/__vhypot.c \
214	../common/__vhypotf.c \
215	../common/__vlog.c \
216	../common/__vlogf.c \
217	../common/__vpow.c \
218	../common/__vpowf.c \
219	../common/__vrem_pio2m.c \
220	../common/__vrhypot.c \
221	../common/__vrhypotf.c \
222	../common/__vrsqrt.c \
223	../common/__vrsqrtf.c \
224	../common/__vsin.c \
225	../common/__vsinbig.c \
226	../common/__vsinbigf.c \
227	../common/__vsincos.c \
228	../common/__vsincosbig.c \
229	../common/__vsincosbigf.c \
230	../common/__vsincosf.c \
231	../common/__vsinf.c \
232	../common/__vsqrt.c \
233	../common/__vz_abs.c \
234	../common/__vz_exp.c \
235	../common/__vz_log.c \
236	../common/__vz_pow.c \
237	../common/vatan2_.c \
238	../common/vatan2f_.c \
239	../common/vatan_.c \
240	../common/vatanf_.c \
241	../common/vc_abs_.c \
242	../common/vc_exp_.c \
243	../common/vc_log_.c \
244	../common/vc_pow_.c \
245	../common/vcos_.c \
246	../common/vcosf_.c \
247	../common/vexp_.c \
248	../common/vexpf_.c \
249	../common/vhypot_.c \
250	../common/vhypotf_.c \
251	../common/vlog_.c \
252	../common/vlogf_.c \
253	../common/vpow_.c \
254	../common/vpowf_.c \
255	../common/vrhypot_.c \
256	../common/vrhypotf_.c \
257	../common/vrsqrt_.c \
258	../common/vrsqrtf_.c \
259	../common/vsin_.c \
260	../common/vsincos_.c \
261	../common/vsincosf_.c \
262	../common/vsinf_.c \
263	../common/vsqrt_.c \
264	../common/vsqrtf_.c \
265	../common/vz_abs_.c \
266	../common/vz_exp_.c \
267	../common/vz_log_.c \
268	../common/vz_pow_.c
269
270.KEEP_STATE:
271
272all:	$(LIBS)
273
274lint:	lintcheck
275
276pics/%.o: ../$(TARGET_ARCH)/src/%.S
277	$(COMPILE.s) -o $@ $<
278	$(POST_PROCESS_O)
279
280pics/%.o: ../common/$$(CHIP)/%.S
281	$(COMPILE.s) -o $@ $<
282	$(POST_PROCESS_O)
283