xref: /illumos-gate/usr/src/lib/libmvec/Makefile.com (revision 1ed6b69a5ca1ca3ee5e9a4931f74e2237c7e1c9f)
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		#end
97
98mvecvisCOBJS	= \
99		__vTBL_atan1.o \
100		__vTBL_atan2.o \
101		__vTBL_rsqrt.o \
102		__vTBL_sincos.o \
103		__vTBL_sincos2.o \
104		__vTBL_sqrtf.o \
105		__vcosbig.o \
106		__vcosbigf.o \
107		__vrem_pio2m.o \
108		__vsinbig.o \
109		__vsinbigf.o \
110		__vsincosbig.o \
111		__vsincosbigf.o \
112		#end
113
114mvecvisSOBJS	= \
115		__vatan.o \
116		__vatan2.o \
117		__vatan2f.o \
118		__vatanf.o \
119		__vcos.o \
120		__vcosf.o \
121		__vexp.o \
122		__vexpf.o \
123		__vhypot.o \
124		__vhypotf.o \
125		__vlog.o \
126		__vlogf.o \
127		__vpow.o \
128		__vpowf.o \
129		__vrhypot.o \
130		__vrhypotf.o \
131		__vrsqrt.o \
132		__vrsqrtf.o \
133		__vsin.o \
134		__vsincos.o \
135		__vsincosf.o \
136		__vsinf.o \
137		__vsqrt.o \
138		__vsqrtf.o \
139		#end
140
141mvecvis2COBJS	= \
142		__vTBL_sincos.o \
143		__vTBL_sincos2.o \
144		__vTBL_sqrtf.o \
145		__vcosbig.o \
146		__vcosbig_ultra3.o \
147		__vrem_pio2m.o \
148		__vsinbig.o \
149		__vsinbig_ultra3.o \
150		#end
151
152mvecvis2SOBJS	= \
153		__vcos_ultra3.o \
154		__vlog_ultra3.o \
155		__vsin_ultra3.o \
156		__vsqrtf_ultra3.o \
157		#end
158
159include		$(SRC)/lib/Makefile.lib
160include		$(SRC)/lib/Makefile.rootfs
161include		$(LIBMDIR)/Makefile.libm.com
162
163LIBS		= $(DYNLIB)
164SRCDIR		= ../common/
165DYNFLAGS	+= -zignore
166
167LINTERROFF	= -erroff=E_FP_DIVISION_BY_ZERO
168LINTERROFF	+= -erroff=E_FP_INVALID
169LINTERROFF	+= -erroff=E_BAD_PTR_CAST_ALIGN
170LINTERROFF	+= -erroff=E_ASSIGMENT_CAUSE_LOSS_PREC
171LINTERROFF	+= -erroff=E_FUNC_SET_NOT_USED
172
173LINTFLAGS	+= $(LINTERROFF)
174LINTFLAGS64	+= $(LINTERROFF)
175LINTFLAGS64     += -errchk=longptr64
176
177CLAGS		+= $(LINTERROFF)
178CFLAGS64	+= $(LINTERROFF)
179
180ASDEF		+= -DLIBMVEC_SO_BUILD
181
182FLTRPATH_sparc		= $$ORIGIN/cpu/$$ISALIST/libmvec_isa.so.1
183FLTRPATH_sparcv9	= $$ORIGIN/../cpu/$$ISALIST/sparcv9/libmvec_isa.so.1
184FLTRPATH_i386		= $$ORIGIN/libmvec/$$HWCAP
185FLTRPATH		= $(FLTRPATH_$(TARGET_ARCH))
186
187sparc_CFLAGS += -_cc=-W0,-xintrinsic
188sparcv9_CFLAGS += -_cc=-W0,-xintrinsic
189CPPFLAGS_i386	+= -Dfabs=__fabs
190
191CPPFLAGS	+= -DLIBMVEC_SO_BUILD
192
193SRCS_mvec_i386 = \
194	../common/__vsqrtf.c \
195	#end
196
197SRCS_mvec_sparc = \
198	$(SRCS_mvec_i386) \
199	#end
200SRCS_mvec_sparcv9 = \
201	$(SRCS_mvec_i386) \
202	#end
203
204SRCS_mvec = \
205	$(SRCS_mvec_$(TARGETMACH)) \
206	../common/__vTBL_atan1.c \
207	../common/__vTBL_atan2.c \
208	../common/__vTBL_rsqrt.c \
209	../common/__vTBL_sincos.c \
210	../common/__vTBL_sincos2.c \
211	../common/__vTBL_sqrtf.c \
212	../common/__vatan.c \
213	../common/__vatan2.c \
214	../common/__vatan2f.c \
215	../common/__vatanf.c \
216	../common/__vc_abs.c \
217	../common/__vc_exp.c \
218	../common/__vc_log.c \
219	../common/__vc_pow.c \
220	../common/__vcos.c \
221	../common/__vcosbig.c \
222	../common/__vcosbigf.c \
223	../common/__vcosf.c \
224	../common/__vexp.c \
225	../common/__vexpf.c \
226	../common/__vhypot.c \
227	../common/__vhypotf.c \
228	../common/__vlog.c \
229	../common/__vlogf.c \
230	../common/__vpow.c \
231	../common/__vpowf.c \
232	../common/__vrem_pio2m.c \
233	../common/__vrhypot.c \
234	../common/__vrhypotf.c \
235	../common/__vrsqrt.c \
236	../common/__vrsqrtf.c \
237	../common/__vsin.c \
238	../common/__vsinbig.c \
239	../common/__vsinbigf.c \
240	../common/__vsincos.c \
241	../common/__vsincosbig.c \
242	../common/__vsincosbigf.c \
243	../common/__vsincosf.c \
244	../common/__vsinf.c \
245	../common/__vsqrt.c \
246	../common/__vz_abs.c \
247	../common/__vz_exp.c \
248	../common/__vz_log.c \
249	../common/__vz_pow.c \
250	../common/vatan2_.c \
251	../common/vatan2f_.c \
252	../common/vatan_.c \
253	../common/vatanf_.c \
254	../common/vc_abs_.c \
255	../common/vc_exp_.c \
256	../common/vc_log_.c \
257	../common/vc_pow_.c \
258	../common/vcos_.c \
259	../common/vcosf_.c \
260	../common/vexp_.c \
261	../common/vexpf_.c \
262	../common/vhypot_.c \
263	../common/vhypotf_.c \
264	../common/vlog_.c \
265	../common/vlogf_.c \
266	../common/vpow_.c \
267	../common/vpowf_.c \
268	../common/vrhypot_.c \
269	../common/vrhypotf_.c \
270	../common/vrsqrt_.c \
271	../common/vrsqrtf_.c \
272	../common/vsin_.c \
273	../common/vsincos_.c \
274	../common/vsincosf_.c \
275	../common/vsinf_.c \
276	../common/vsqrt_.c \
277	../common/vsqrtf_.c \
278	../common/vz_abs_.c \
279	../common/vz_exp_.c \
280	../common/vz_log_.c \
281	../common/vz_pow_.c \
282	#end
283
284.KEEP_STATE:
285
286all:	$(LIBS)
287
288lint:	lintcheck
289
290pics/%.o: ../$(TARGET_ARCH)/src/%.S
291	$(COMPILE.s) -o $@ $<
292	$(POST_PROCESS_O)
293
294pics/%.o: ../common/$$(CHIP)/%.S
295	$(COMPILE.s) -o $@ $<
296	$(POST_PROCESS_O)
297