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
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.
13 # Copyright 2011 Nexenta Systems, Inc. All rights reserved.
19 LIBMDIR = $(SRC)/lib/libm
28 m9xsseOBJS = $(m9xsseOBJS_$(TARGET_ARCH))
53 # lrint.o, lrintf.o, lrintl.o, lround.o, lroundf.o & lroundl.o are 32-bit only
56 $(m9xOBJS_$(TARGET_ARCH)) \
117 OBJS_M9XSSE = $(m9xsseOBJS:%=pics/%)
133 # atan2pi.o and sincospi.o is for internal use only
155 COBJS_sparcv9 = $(COBJS_amd64)
158 $(COBJS_$(TARGET_ARCH)) \
214 # LSARC/2003/658 adds isnanl
224 QOBJS_sparcv9 = $(QOBJS_sparc)
231 # atan2pil.o, ieee_funcl.o, rndintl.o, sinpil.o, sincospil.o
232 # are for internal use only
234 # LSARC/2003/279 adds the following:
245 $(QOBJS_$(TARGET_ARCH)) \
311 # LSARC/2003/658 adds isnanf
319 ROBJS_sparcv9 = $(ROBJS_sparc)
328 # atan2pif.o, sincosf.o, sincospif.o are for internal use only
330 # LSARC/2003/279 adds the following:
339 $(ROBJS_$(TARGET_ARCH)) \
390 # LSARC/2003/658 adds isnanf/isnanl
420 $(SOBJS_$(TARGET_ARCH))
496 OBJECTS = $(COBJS) $(ROBJS) $(QOBJS) $(SOBJS) $(m9xOBJS) $(complexOBJS)
498 include $(SRC)/lib/Makefile.lib
499 include $(LIBMDIR)/Makefile.libm.com
500 include $(SRC)/lib/Makefile.rootfs
505 CFLAGS += $(C_BIGPICFLAGS)
506 CFLAGS64 += $(C_BIGPICFLAGS)
508 SRCS_LD_i386_amd64 = \
509 ../common/LD/finitel.c \
510 ../common/LD/isnanl.c \
511 ../common/LD/nextafterl.c
514 $(SRCS_LD_i386_$(TARGET_ARCH)) \
515 ../common/LD/__cosl.c \
516 ../common/LD/__lgammal.c \
517 ../common/LD/__poly_libmq.c \
518 ../common/LD/__rem_pio2l.c \
519 ../common/LD/__sincosl.c \
520 ../common/LD/__sinl.c \
521 ../common/LD/__tanl.c \
522 ../common/LD/_TBL_cosl.c \
523 ../common/LD/_TBL_ipio2l.c \
524 ../common/LD/_TBL_sinl.c \
525 ../common/LD/_TBL_tanl.c \
526 ../common/LD/acoshl.c \
527 ../common/LD/asinhl.c \
528 ../common/LD/atan2pil.c \
529 ../common/LD/atanhl.c \
530 ../common/LD/cbrtl.c \
531 ../common/LD/coshl.c \
532 ../common/LD/cosl.c \
533 ../common/LD/erfl.c \
534 ../common/LD/gammal.c \
535 ../common/LD/gammal_r.c \
536 ../common/LD/hypotl.c \
540 ../common/LD/lgammal.c \
541 ../common/LD/lgammal_r.c \
542 ../common/LD/log1pl.c \
543 ../common/LD/logbl.c \
544 ../common/LD/scalbl.c \
545 ../common/LD/signgaml.c \
546 ../common/LD/significandl.c \
547 ../common/LD/sincosl.c \
548 ../common/LD/sincospil.c \
549 ../common/LD/sinhl.c \
550 ../common/LD/sinl.c \
551 ../common/LD/sinpil.c \
552 ../common/LD/tanhl.c \
559 ../common/R/__tanf.c \
560 ../common/R/isnanf.c \
561 ../common/R/__cosf.c \
562 ../common/R/__sincosf.c \
563 ../common/R/__sinf.c \
564 ../common/R/acosf.c \
565 ../common/R/asinf.c \
566 ../common/R/atan2f.c \
567 ../common/R/copysignf.c \
568 ../common/R/exp10f.c \
569 ../common/R/exp2f.c \
570 ../common/R/expm1f.c \
571 ../common/R/fabsf.c \
572 ../common/R/hypotf.c \
573 ../common/R/ilogbf.c \
574 ../common/R/log10f.c \
575 ../common/R/log2f.c \
576 ../common/R/nextafterf.c \
578 ../common/R/rintf.c \
579 ../common/R/scalbnf.c
583 ../common/R/__tanf.c \
584 ../common/R/__cosf.c \
585 ../common/R/__sincosf.c \
586 ../common/R/__sinf.c \
587 ../common/R/isnanf.c \
588 ../common/R/acosf.c \
589 ../common/R/asinf.c \
590 ../common/R/atan2f.c \
591 ../common/R/copysignf.c \
592 ../common/R/exp10f.c \
593 ../common/R/exp2f.c \
594 ../common/R/expm1f.c \
595 ../common/R/fabsf.c \
596 ../common/R/fmodf.c \
597 ../common/R/hypotf.c \
598 ../common/R/ilogbf.c \
599 ../common/R/log10f.c \
600 ../common/R/log2f.c \
601 ../common/R/nextafterf.c \
603 ../common/R/remainderf.c \
604 ../common/R/rintf.c \
605 ../common/R/scalbnf.c
609 $(SRCS_R_$(TARGET_ARCH)) \
610 ../common/R/_TBL_r_atan_.c \
611 ../common/R/acoshf.c \
612 ../common/R/asinhf.c \
613 ../common/R/atan2pif.c \
614 ../common/R/atanf.c \
615 ../common/R/atanhf.c \
616 ../common/R/besself.c \
617 ../common/R/cbrtf.c \
619 ../common/R/coshf.c \
622 ../common/R/floorf.c \
623 ../common/R/gammaf.c \
624 ../common/R/gammaf_r.c \
625 ../common/R/lgammaf.c \
626 ../common/R/lgammaf_r.c \
627 ../common/R/log1pf.c \
628 ../common/R/logbf.c \
630 ../common/R/scalbf.c \
631 ../common/R/signgamf.c \
632 ../common/R/significandf.c \
634 ../common/R/sinhf.c \
635 ../common/R/sincosf.c \
636 ../common/R/sincospif.c \
637 ../common/R/sqrtf.c \
642 ../common/Q/_TBL_atanl.c \
643 ../common/Q/_TBL_expl.c \
644 ../common/Q/_TBL_expm1l.c \
645 ../common/Q/_TBL_logl.c \
646 ../common/Q/finitel.c \
647 ../common/Q/isnanl.c \
648 ../common/Q/__cosl.c \
649 ../common/Q/__lgammal.c \
650 ../common/Q/__poly_libmq.c \
651 ../common/Q/__rem_pio2l.c \
652 ../common/Q/__sincosl.c \
653 ../common/Q/__sinl.c \
654 ../common/Q/__tanl.c \
655 ../common/Q/_TBL_cosl.c \
656 ../common/Q/_TBL_ipio2l.c \
657 ../common/Q/_TBL_sinl.c \
658 ../common/Q/_TBL_tanl.c \
659 ../common/Q/acoshl.c \
660 ../common/Q/acosl.c \
661 ../common/Q/asinhl.c \
662 ../common/Q/asinl.c \
663 ../common/Q/atan2l.c \
664 ../common/Q/atan2pil.c \
665 ../common/Q/atanhl.c \
666 ../common/Q/atanl.c \
667 ../common/Q/cbrtl.c \
668 ../common/Q/copysignl.c \
669 ../common/Q/coshl.c \
672 ../common/Q/exp10l.c \
673 ../common/Q/exp2l.c \
675 ../common/Q/expm1l.c \
676 ../common/Q/fabsl.c \
677 ../common/Q/floorl.c \
678 ../common/Q/fmodl.c \
679 ../common/Q/gammal.c \
680 ../common/Q/gammal_r.c \
681 ../common/Q/hypotl.c \
682 ../common/Q/ieee_funcl.c \
683 ../common/Q/ilogbl.c \
687 ../common/Q/lgammal.c \
688 ../common/Q/lgammal_r.c \
689 ../common/Q/log10l.c \
690 ../common/Q/log1pl.c \
691 ../common/Q/log2l.c \
692 ../common/Q/logbl.c \
694 ../common/Q/nextafterl.c \
696 ../common/Q/remainderl.c \
697 ../common/Q/rintl.c \
698 ../common/Q/rndintl.c \
699 ../common/Q/scalbl.c \
700 ../common/Q/scalbnl.c \
701 ../common/Q/signgaml.c \
702 ../common/Q/significandl.c \
703 ../common/Q/sincosl.c \
704 ../common/Q/sincospil.c \
705 ../common/Q/sinhl.c \
707 ../common/Q/sinpil.c \
708 ../common/Q/sqrtl.c \
709 ../common/Q/tanhl.c \
716 ../common/complex/cabs.c \
717 ../common/complex/cabsf.c \
718 ../common/complex/cabsl.c \
719 ../common/complex/cacos.c \
720 ../common/complex/cacosf.c \
721 ../common/complex/cacosh.c \
722 ../common/complex/cacoshf.c \
723 ../common/complex/cacoshl.c \
724 ../common/complex/cacosl.c \
725 ../common/complex/carg.c \
726 ../common/complex/cargf.c \
727 ../common/complex/cargl.c \
728 ../common/complex/casin.c \
729 ../common/complex/casinf.c \
730 ../common/complex/casinh.c \
731 ../common/complex/casinhf.c \
732 ../common/complex/casinhl.c \
733 ../common/complex/casinl.c \
734 ../common/complex/catan.c \
735 ../common/complex/catanf.c \
736 ../common/complex/catanh.c \
737 ../common/complex/catanhf.c \
738 ../common/complex/catanhl.c \
739 ../common/complex/catanl.c \
740 ../common/complex/ccos.c \
741 ../common/complex/ccosf.c \
742 ../common/complex/ccosh.c \
743 ../common/complex/ccoshf.c \
744 ../common/complex/ccoshl.c \
745 ../common/complex/ccosl.c \
746 ../common/complex/cexp.c \
747 ../common/complex/cexpf.c \
748 ../common/complex/cexpl.c \
749 ../common/complex/cimag.c \
750 ../common/complex/cimagf.c \
751 ../common/complex/cimagl.c \
752 ../common/complex/clog.c \
753 ../common/complex/clogf.c \
754 ../common/complex/clogl.c \
755 ../common/complex/conj.c \
756 ../common/complex/conjf.c \
757 ../common/complex/conjl.c \
758 ../common/complex/cpow.c \
759 ../common/complex/cpowf.c \
760 ../common/complex/cpowl.c \
761 ../common/complex/cproj.c \
762 ../common/complex/cprojf.c \
763 ../common/complex/cprojl.c \
764 ../common/complex/creal.c \
765 ../common/complex/crealf.c \
766 ../common/complex/creall.c \
767 ../common/complex/csin.c \
768 ../common/complex/csinf.c \
769 ../common/complex/csinh.c \
770 ../common/complex/csinhf.c \
771 ../common/complex/csinhl.c \
772 ../common/complex/csinl.c \
773 ../common/complex/csqrt.c \
774 ../common/complex/csqrtf.c \
775 ../common/complex/csqrtl.c \
776 ../common/complex/ctan.c \
777 ../common/complex/ctanf.c \
778 ../common/complex/ctanh.c \
779 ../common/complex/ctanhf.c \
780 ../common/complex/ctanhl.c \
781 ../common/complex/ctanl.c \
782 ../common/complex/k_atan2.c \
783 ../common/complex/k_atan2l.c \
784 ../common/complex/k_cexp.c \
785 ../common/complex/k_cexpl.c \
786 ../common/complex/k_clog_r.c \
787 ../common/complex/k_clog_rl.c
790 ../common/m9x/__fex_sse.c \
791 ../common/m9x/feprec.c \
792 ../common/m9x/__fex_i386.c
794 SRCS_m9x_i386_i386 = \
795 ../common/m9x/lroundf.c
797 SRCS_m9x_i386_amd64 = \
798 ../common/m9x/llrint.c \
799 ../common/m9x/llrintf.c \
800 ../common/m9x/llrintl.c \
801 ../common/m9x/nexttowardl.c \
802 ../common/m9x/remquo.c \
803 ../common/m9x/remquof.c \
804 ../common/m9x/round.c \
805 ../common/m9x/roundl.c \
806 ../common/m9x/scalbln.c \
807 ../common/m9x/scalblnf.c \
808 ../common/m9x/scalblnl.c \
809 ../common/m9x/trunc.c \
810 ../common/m9x/truncl.c
813 SRCS_m9x_sparc_sparc = \
814 ../common/m9x/lrint.c \
815 ../common/m9x/lrintf.c \
816 ../common/m9x/lrintl.c \
817 ../common/m9x/lround.c \
818 ../common/m9x/lroundf.c \
819 ../common/m9x/lroundl.c
822 ../common/m9x/__fex_sparc.c \
823 ../common/m9x/llrint.c \
824 ../common/m9x/llrintf.c \
825 ../common/m9x/llrintl.c \
826 ../common/m9x/nexttowardl.c \
827 ../common/m9x/remquo.c \
828 ../common/m9x/remquof.c \
829 ../common/m9x/remquol.c \
830 ../common/m9x/round.c \
831 ../common/m9x/roundl.c \
832 ../common/m9x/scalbln.c \
833 ../common/m9x/scalblnf.c \
834 ../common/m9x/scalblnl.c \
835 ../common/m9x/trunc.c \
836 ../common/m9x/truncl.c
839 $(SRCS_m9x_$(MACH)) \
840 $(SRCS_m9x_sparc_$(TARGET_ARCH)) \
841 $(SRCS_m9x_i386_$(TARGET_ARCH)) \
842 ../common/m9x/__fex_hdlr.c \
843 ../common/m9x/__fex_sym.c \
844 ../common/m9x/fdim.c \
845 ../common/m9x/fdimf.c \
846 ../common/m9x/fdiml.c \
847 ../common/m9x/feexcept.c \
848 ../common/m9x/fenv.c \
849 ../common/m9x/feround.c \
850 ../common/m9x/fex_handler.c \
851 ../common/m9x/fex_log.c \
852 ../common/m9x/fma.c \
853 ../common/m9x/fmaf.c \
854 ../common/m9x/fmal.c \
855 ../common/m9x/fmax.c \
856 ../common/m9x/fmaxf.c \
857 ../common/m9x/fmaxl.c \
858 ../common/m9x/fmin.c \
859 ../common/m9x/fminf.c \
860 ../common/m9x/fminl.c \
861 ../common/m9x/frexp.c \
862 ../common/m9x/frexpf.c \
863 ../common/m9x/frexpl.c \
864 ../common/m9x/ldexp.c \
865 ../common/m9x/ldexpf.c \
866 ../common/m9x/ldexpl.c \
867 ../common/m9x/llround.c \
868 ../common/m9x/llroundf.c \
869 ../common/m9x/llroundl.c \
870 ../common/m9x/modf.c \
871 ../common/m9x/modff.c \
872 ../common/m9x/modfl.c \
873 ../common/m9x/nan.c \
874 ../common/m9x/nanf.c \
875 ../common/m9x/nanl.c \
876 ../common/m9x/nearbyint.c \
877 ../common/m9x/nearbyintf.c \
878 ../common/m9x/nearbyintl.c \
879 ../common/m9x/nexttoward.c \
880 ../common/m9x/nexttowardf.c \
881 ../common/m9x/roundf.c \
882 ../common/m9x/tgamma.c \
883 ../common/m9x/tgammaf.c \
884 ../common/m9x/tgammal.c \
885 ../common/m9x/truncf.c
888 ../common/C/__tan.c \
889 ../common/C/_TBL_atan.c \
890 ../common/C/_TBL_exp2.c \
891 ../common/C/_TBL_log.c \
892 ../common/C/_TBL_log2.c \
893 ../common/C/_TBL_tan.c \
897 ../common/C/atan2.c \
901 ../common/C/exp10.c \
903 ../common/C/expm1.c \
904 ../common/C/floor.c \
906 ../common/C/hypot.c \
907 ../common/C/ilogb.c \
908 ../common/C/isnan.c \
910 ../common/C/log10.c \
913 ../common/C/remainder.c \
915 ../common/C/scalbn.c \
917 ../common/C/sincos.c \
921 ../common/C/__libx_errno.c
926 SRCS_sparc_sparcv9 = \
927 ../common/C/copysign.c \
929 ../common/C/nextafter.c
932 ../common/C/_TBL_atan.c \
933 ../common/C/_TBL_exp2.c \
934 ../common/C/_TBL_log.c \
935 ../common/C/_TBL_log2.c \
936 ../common/C/__tan.c \
937 ../common/C/_TBL_tan.c \
938 ../common/C/copysign.c \
941 ../common/C/ilogb.c \
942 ../common/C/isnan.c \
943 ../common/C/nextafter.c \
945 ../common/C/scalbn.c \
949 ../common/C/atan2.c \
952 ../common/C/exp10.c \
954 ../common/C/expm1.c \
955 ../common/C/floor.c \
956 ../common/C/hypot.c \
958 ../common/C/log10.c \
962 ../common/C/sincos.c \
967 $(SRCS_C_i386_$(TARGET_ARCH)) \
968 ../common/C/__cos.c \
969 ../common/C/__lgamma.c \
970 ../common/C/__rem_pio2.c \
971 ../common/C/__rem_pio2m.c \
972 ../common/C/__sin.c \
973 ../common/C/__sincos.c \
974 ../common/C/__xpg6.c \
975 ../common/C/_lib_version.c \
976 ../common/C/_SVID_error.c \
977 ../common/C/_TBL_ipio2.c \
978 ../common/C/_TBL_sin.c \
979 ../common/C/acosh.c \
980 ../common/C/asinh.c \
981 ../common/C/atan2pi.c \
982 ../common/C/atanh.c \
986 ../common/C/gamma.c \
987 ../common/C/gamma_r.c \
991 ../common/C/lgamma.c \
992 ../common/C/lgamma_r.c \
993 ../common/C/log1p.c \
995 ../common/C/matherr.c \
996 ../common/C/scalb.c \
997 ../common/C/signgam.c \
998 ../common/C/significand.c \
999 ../common/C/sincospi.c \
1000 ../common/C/sinh.c \
1001 ../common/C/sqrt.c \
1006 $(SRCS_LD_$(MACH)) \