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# Copyright (c) 2019, Joyent, Inc. 16# 17 18LIBMDIR = $(SRC)/lib/libm 19 20mvecOBJS = \ 21 __vTBL_atan1.o \ 22 __vTBL_atan2.o \ 23 __vTBL_rsqrt.o \ 24 __vTBL_sincos.o \ 25 __vTBL_sincos2.o \ 26 __vTBL_sqrtf.o \ 27 __vatan.o \ 28 __vatan2.o \ 29 __vatan2f.o \ 30 __vatanf.o \ 31 __vc_abs.o \ 32 __vc_exp.o \ 33 __vc_log.o \ 34 __vc_pow.o \ 35 __vcos.o \ 36 __vcosbig.o \ 37 __vcosbigf.o \ 38 __vcosf.o \ 39 __vexp.o \ 40 __vexpf.o \ 41 __vhypot.o \ 42 __vhypotf.o \ 43 __vlog.o \ 44 __vlogf.o \ 45 __vpow.o \ 46 __vpowf.o \ 47 __vrem_pio2m.o \ 48 __vrhypot.o \ 49 __vrhypotf.o \ 50 __vrsqrt.o \ 51 __vrsqrtf.o \ 52 __vsin.o \ 53 __vsinbig.o \ 54 __vsinbigf.o \ 55 __vsincos.o \ 56 __vsincosbig.o \ 57 __vsincosbigf.o \ 58 __vsincosf.o \ 59 __vsinf.o \ 60 __vsqrt.o \ 61 __vsqrtf.o \ 62 __vz_abs.o \ 63 __vz_exp.o \ 64 __vz_log.o \ 65 __vz_pow.o \ 66 vatan2_.o \ 67 vatan2f_.o \ 68 vatan_.o \ 69 vatanf_.o \ 70 vc_abs_.o \ 71 vc_exp_.o \ 72 vc_log_.o \ 73 vc_pow_.o \ 74 vcos_.o \ 75 vcosf_.o \ 76 vexp_.o \ 77 vexpf_.o \ 78 vhypot_.o \ 79 vhypotf_.o \ 80 vlog_.o \ 81 vlogf_.o \ 82 vpow_.o \ 83 vpowf_.o \ 84 vrhypot_.o \ 85 vrhypotf_.o \ 86 vrsqrt_.o \ 87 vrsqrtf_.o \ 88 vsin_.o \ 89 vsincos_.o \ 90 vsincosf_.o \ 91 vsinf_.o \ 92 vsqrt_.o \ 93 vsqrtf_.o \ 94 vz_abs_.o \ 95 vz_exp_.o \ 96 vz_log_.o \ 97 vz_pow_.o 98 99mvecvisCOBJS = \ 100 __vTBL_atan1.o \ 101 __vTBL_atan2.o \ 102 __vTBL_rsqrt.o \ 103 __vTBL_sincos.o \ 104 __vTBL_sincos2.o \ 105 __vTBL_sqrtf.o \ 106 __vcosbig.o \ 107 __vcosbigf.o \ 108 __vrem_pio2m.o \ 109 __vsinbig.o \ 110 __vsinbigf.o \ 111 __vsincosbig.o \ 112 __vsincosbigf.o 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 140mvecvis2COBJS = \ 141 __vTBL_sincos.o \ 142 __vTBL_sincos2.o \ 143 __vTBL_sqrtf.o \ 144 __vcosbig.o \ 145 __vcosbig_ultra3.o \ 146 __vrem_pio2m.o \ 147 __vsinbig.o \ 148 __vsinbig_ultra3.o 149 150mvecvis2SOBJS = \ 151 __vcos_ultra3.o \ 152 __vlog_ultra3.o \ 153 __vsin_ultra3.o \ 154 __vsqrtf_ultra3.o 155 156include $(SRC)/lib/Makefile.lib 157include $(SRC)/lib/Makefile.rootfs 158include $(LIBMDIR)/Makefile.libm.com 159 160LIBS = $(DYNLIB) 161SRCDIR = ../common/ 162DYNFLAGS += $(ZIGNORE) 163 164FLTRPATH_sparc = $$ORIGIN/cpu/$$ISALIST/libmvec_isa.so.1 165FLTRPATH_sparcv9 = $$ORIGIN/../cpu/$$ISALIST/sparcv9/libmvec_isa.so.1 166FLTRPATH_i386 = $$ORIGIN/libmvec/$$HWCAP 167FLTRPATH = $(FLTRPATH_$(TARGET_ARCH)) 168 169sparc_CFLAGS += -_cc=-W0,-xintrinsic 170sparcv9_CFLAGS += -_cc=-W0,-xintrinsic 171 172SRCS_mvec_i386 = ../common/__vsqrtf.c 173 174SRCS_mvec_sparc = $(SRCS_mvec_i386) 175 176SRCS_mvec_sparcv9 = $(SRCS_mvec_i386) 177 178 179SRCS_mvec = \ 180 $(SRCS_mvec_$(TARGETMACH)) \ 181 ../common/__vTBL_atan1.c \ 182 ../common/__vTBL_atan2.c \ 183 ../common/__vTBL_rsqrt.c \ 184 ../common/__vTBL_sincos.c \ 185 ../common/__vTBL_sincos2.c \ 186 ../common/__vTBL_sqrtf.c \ 187 ../common/__vatan.c \ 188 ../common/__vatan2.c \ 189 ../common/__vatan2f.c \ 190 ../common/__vatanf.c \ 191 ../common/__vc_abs.c \ 192 ../common/__vc_exp.c \ 193 ../common/__vc_log.c \ 194 ../common/__vc_pow.c \ 195 ../common/__vcos.c \ 196 ../common/__vcosbig.c \ 197 ../common/__vcosbigf.c \ 198 ../common/__vcosf.c \ 199 ../common/__vexp.c \ 200 ../common/__vexpf.c \ 201 ../common/__vhypot.c \ 202 ../common/__vhypotf.c \ 203 ../common/__vlog.c \ 204 ../common/__vlogf.c \ 205 ../common/__vpow.c \ 206 ../common/__vpowf.c \ 207 ../common/__vrem_pio2m.c \ 208 ../common/__vrhypot.c \ 209 ../common/__vrhypotf.c \ 210 ../common/__vrsqrt.c \ 211 ../common/__vrsqrtf.c \ 212 ../common/__vsin.c \ 213 ../common/__vsinbig.c \ 214 ../common/__vsinbigf.c \ 215 ../common/__vsincos.c \ 216 ../common/__vsincosbig.c \ 217 ../common/__vsincosbigf.c \ 218 ../common/__vsincosf.c \ 219 ../common/__vsinf.c \ 220 ../common/__vsqrt.c \ 221 ../common/__vz_abs.c \ 222 ../common/__vz_exp.c \ 223 ../common/__vz_log.c \ 224 ../common/__vz_pow.c \ 225 ../common/vatan2_.c \ 226 ../common/vatan2f_.c \ 227 ../common/vatan_.c \ 228 ../common/vatanf_.c \ 229 ../common/vc_abs_.c \ 230 ../common/vc_exp_.c \ 231 ../common/vc_log_.c \ 232 ../common/vc_pow_.c \ 233 ../common/vcos_.c \ 234 ../common/vcosf_.c \ 235 ../common/vexp_.c \ 236 ../common/vexpf_.c \ 237 ../common/vhypot_.c \ 238 ../common/vhypotf_.c \ 239 ../common/vlog_.c \ 240 ../common/vlogf_.c \ 241 ../common/vpow_.c \ 242 ../common/vpowf_.c \ 243 ../common/vrhypot_.c \ 244 ../common/vrhypotf_.c \ 245 ../common/vrsqrt_.c \ 246 ../common/vrsqrtf_.c \ 247 ../common/vsin_.c \ 248 ../common/vsincos_.c \ 249 ../common/vsincosf_.c \ 250 ../common/vsinf_.c \ 251 ../common/vsqrt_.c \ 252 ../common/vsqrtf_.c \ 253 ../common/vz_abs_.c \ 254 ../common/vz_exp_.c \ 255 ../common/vz_log_.c \ 256 ../common/vz_pow_.c 257 258.KEEP_STATE: 259 260all: $(LIBS) 261 262 263pics/%.o: ../$(TARGET_ARCH)/src/%.S 264 $(COMPILE.s) -o $@ $< 265 $(POST_PROCESS_S_O) 266 267pics/%.o: ../common/$$(CHIP)/%.S 268 $(COMPILE.s) -o $@ $< 269 $(POST_PROCESS_S_O) 270