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