1# Makefile.in generated by automake 1.14.1 from Makefile.am. 2# @configure_input@ 3 4# Copyright (C) 1994-2013 Free Software Foundation, Inc. 5 6# This Makefile.in is free software; the Free Software Foundation 7# gives unlimited permission to copy and/or distribute it, 8# with or without modifications, as long as this notice is preserved. 9 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY, to the extent permitted by law; without 12# even the implied warranty of MERCHANTABILITY or FITNESS FOR A 13# PARTICULAR PURPOSE. 14 15@SET_MAKE@ 16 17# Copyright 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 18# 2010, 2011 Free Software Foundation, Inc. 19# 20# This file is part of the GNU MP Library. 21# 22# The GNU MP Library is free software; you can redistribute it and/or modify 23# it under the terms of the GNU Lesser General Public License as published by 24# the Free Software Foundation; either version 3 of the License, or (at your 25# option) any later version. 26# 27# The GNU MP Library is distributed in the hope that it will be useful, but 28# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 29# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 30# License for more details. 31# 32# You should have received a copy of the GNU Lesser General Public License 33# along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. 34 35# Copyright 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, 36# Inc. 37# 38# Copyright 2008 William Hart 39# 40# This file is part of the MPIR Library. 41# 42# The MPIR Library is free software; you can redistribute it and/or modify 43# it under the terms of the GNU Lesser General Public License as published by 44# the Free Software Foundation; either version 2.1 of the License, or (at your 45# option) any later version. 46# 47# The MPIR Library is distributed in the hope that it will be useful, but 48# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 49# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 50# License for more details. 51# 52# You should have received a copy of the GNU Lesser General Public License 53# along with the MPIR Library; see the file COPYING.LIB. If not, write to 54# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 55# MA 02110-1301, USA. 56 57VPATH = @srcdir@ 58am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' 59am__make_running_with_option = \ 60 case $${target_option-} in \ 61 ?) ;; \ 62 *) echo "am__make_running_with_option: internal error: invalid" \ 63 "target option '$${target_option-}' specified" >&2; \ 64 exit 1;; \ 65 esac; \ 66 has_opt=no; \ 67 sane_makeflags=$$MAKEFLAGS; \ 68 if $(am__is_gnu_make); then \ 69 sane_makeflags=$$MFLAGS; \ 70 else \ 71 case $$MAKEFLAGS in \ 72 *\\[\ \ ]*) \ 73 bs=\\; \ 74 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ 75 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ 76 esac; \ 77 fi; \ 78 skip_next=no; \ 79 strip_trailopt () \ 80 { \ 81 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ 82 }; \ 83 for flg in $$sane_makeflags; do \ 84 test $$skip_next = yes && { skip_next=no; continue; }; \ 85 case $$flg in \ 86 *=*|--*) continue;; \ 87 -*I) strip_trailopt 'I'; skip_next=yes;; \ 88 -*I?*) strip_trailopt 'I';; \ 89 -*O) strip_trailopt 'O'; skip_next=yes;; \ 90 -*O?*) strip_trailopt 'O';; \ 91 -*l) strip_trailopt 'l'; skip_next=yes;; \ 92 -*l?*) strip_trailopt 'l';; \ 93 -[dEDm]) skip_next=yes;; \ 94 -[JT]) skip_next=yes;; \ 95 esac; \ 96 case $$flg in \ 97 *$$target_option*) has_opt=yes; break;; \ 98 esac; \ 99 done; \ 100 test $$has_opt = yes 101am__make_dryrun = (target_option=n; $(am__make_running_with_option)) 102am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) 103pkgdatadir = $(datadir)/@PACKAGE@ 104pkgincludedir = $(includedir)/@PACKAGE@ 105pkglibdir = $(libdir)/@PACKAGE@ 106pkglibexecdir = $(libexecdir)/@PACKAGE@ 107am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 108install_sh_DATA = $(install_sh) -c -m 644 109install_sh_PROGRAM = $(install_sh) -c 110install_sh_SCRIPT = $(install_sh) -c 111INSTALL_HEADER = $(INSTALL_DATA) 112transform = $(program_transform_name) 113NORMAL_INSTALL = : 114PRE_INSTALL = : 115POST_INSTALL = : 116NORMAL_UNINSTALL = : 117PRE_UNINSTALL = : 118POST_UNINSTALL = : 119build_triplet = @build@ 120host_triplet = @host@ 121EXTRA_PROGRAMS = speed$(EXEEXT) speed-dynamic$(EXEEXT) \ 122 speed-ext$(EXEEXT) tuneup$(EXEEXT) 123DIST_COMMON = $(srcdir)/../mpn/Makeasm.am $(srcdir)/Makefile.in \ 124 $(srcdir)/Makefile.am $(noinst_HEADERS) README 125subdir = tune 126ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 127am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ 128 $(top_srcdir)/configure.ac 129am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 130 $(ACLOCAL_M4) 131mkinstalldirs = $(install_sh) -d 132CONFIG_HEADER = $(top_builddir)/config.h 133CONFIG_CLEAN_FILES = 134CONFIG_CLEAN_VPATH_FILES = 135am__DEPENDENCIES_1 = 136am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \ 137 $(top_builddir)/tests/libtests.la $(top_builddir)/libmpir.la 138am_libspeed_la_OBJECTS = common.lo divrem1div.lo divrem1inv.lo \ 139 divrem2div.lo divrem2inv.lo freq.lo gcdext_single.lo \ 140 gcdext_double.lo gcdextod.lo gcdextos.lo hgcd_lehmer.lo \ 141 hgcd_appr_lehmer.lo hgcd_reduce_1.lo hgcd_reduce_2.lo \ 142 jacbase1.lo jacbase2.lo jacbase3.lo jacbase4.lo mod_1_div.lo \ 143 mod_1_inv.lo modlinv.lo noop.lo powm_mod.lo powm_redc.lo \ 144 preinv_divrem_1.lo fac_ui_large.lo fac_ui_small.lo set_strb.lo \ 145 set_strs.lo set_strp.lo time.lo 146libspeed_la_OBJECTS = $(am_libspeed_la_OBJECTS) 147AM_V_lt = $(am__v_lt_@AM_V@) 148am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 149am__v_lt_0 = --silent 150am__v_lt_1 = 151libspeed_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 152 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 153 $(libspeed_la_LDFLAGS) $(LDFLAGS) -o $@ 154am_speed_OBJECTS = speed.$(OBJEXT) 155speed_OBJECTS = $(am_speed_OBJECTS) 156speed_LDADD = $(LDADD) 157speed_DEPENDENCIES = $(DEPENDENCIES) 158speed_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 159 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 160 $(speed_LDFLAGS) $(LDFLAGS) -o $@ 161am_speed_dynamic_OBJECTS = speed.$(OBJEXT) 162speed_dynamic_OBJECTS = $(am_speed_dynamic_OBJECTS) 163speed_dynamic_LDADD = $(LDADD) 164speed_dynamic_DEPENDENCIES = $(DEPENDENCIES) 165am_speed_ext_OBJECTS = speed-ext.$(OBJEXT) 166speed_ext_OBJECTS = $(am_speed_ext_OBJECTS) 167speed_ext_LDADD = $(LDADD) 168speed_ext_DEPENDENCIES = $(DEPENDENCIES) 169speed_ext_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 170 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 171 $(speed_ext_LDFLAGS) $(LDFLAGS) -o $@ 172am_tuneup_OBJECTS = tuneup.$(OBJEXT) 173am__objects_1 = divrem_2.$(OBJEXT) gcd.$(OBJEXT) gcdext.$(OBJEXT) \ 174 get_str.$(OBJEXT) set_str.$(OBJEXT) matrix22_mul.$(OBJEXT) \ 175 hgcd.$(OBJEXT) hgcd_appr.$(OBJEXT) hgcd_reduce.$(OBJEXT) \ 176 mul_n.$(OBJEXT) mullow_n.$(OBJEXT) mulhigh_n.$(OBJEXT) \ 177 mul.$(OBJEXT) tdiv_qr.$(OBJEXT) mulmid.$(OBJEXT) \ 178 mulmid_n.$(OBJEXT) toom42_mulmid.$(OBJEXT) \ 179 toom4_mul_n.$(OBJEXT) toom4_mul.$(OBJEXT) toom3_mul.$(OBJEXT) \ 180 toom3_mul_n.$(OBJEXT) toom8h_mul.$(OBJEXT) \ 181 toom8_sqr_n.$(OBJEXT) mulmod_2expm1.$(OBJEXT) \ 182 mulmod_2expp1_basecase.$(OBJEXT) rootrem.$(OBJEXT) \ 183 divrem_euclidean_r_1.$(OBJEXT) divrem_hensel_qr_1.$(OBJEXT) \ 184 rsh_divrem_hensel_qr_1.$(OBJEXT) sb_divappr_q.$(OBJEXT) \ 185 sb_div_qr.$(OBJEXT) dc_divappr_q.$(OBJEXT) dc_div_qr.$(OBJEXT) \ 186 dc_div_qr_n.$(OBJEXT) inv_divappr_q.$(OBJEXT) \ 187 inv_div_qr.$(OBJEXT) tdiv_q.$(OBJEXT) dc_bdiv_qr.$(OBJEXT) \ 188 dc_bdiv_qr_n.$(OBJEXT) dc_bdiv_q.$(OBJEXT) 189am__objects_2 = split_bits.$(OBJEXT) revbin.$(OBJEXT) \ 190 normmod_2expp1.$(OBJEXT) mulmod_2expp1.$(OBJEXT) \ 191 mul_trunc_sqrt2.$(OBJEXT) mul_mfa_trunc_sqrt2.$(OBJEXT) \ 192 mul_fft_main.$(OBJEXT) mul_2expmod_2expp1.$(OBJEXT) \ 193 ifft_trunc_sqrt2.$(OBJEXT) ifft_trunc.$(OBJEXT) \ 194 ifft_radix2.$(OBJEXT) ifft_negacyclic.$(OBJEXT) \ 195 fft_trunc.$(OBJEXT) fft_radix2.$(OBJEXT) \ 196 fft_negacyclic.$(OBJEXT) fft_mfa_trunc_sqrt2.$(OBJEXT) \ 197 fft_mfa_trunc_sqrt2_inner.$(OBJEXT) fermat_to_mpz.$(OBJEXT) \ 198 div_2expmod_2expp1.$(OBJEXT) combine_bits.$(OBJEXT) \ 199 butterfly_rshB.$(OBJEXT) butterfly_lshB.$(OBJEXT) \ 200 adjust_sqrt2.$(OBJEXT) adjust.$(OBJEXT) 201am__objects_3 = $(am__objects_1) $(am__objects_2) divrem_1.$(OBJEXT) \ 202 mod_1.$(OBJEXT) 203nodist_tuneup_OBJECTS = sqr_basecase.$(OBJEXT) fac_ui.$(OBJEXT) \ 204 $(am__objects_3) 205tuneup_OBJECTS = $(am_tuneup_OBJECTS) $(nodist_tuneup_OBJECTS) 206am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) libspeed.la 207tuneup_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 208 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 209 $(tuneup_LDFLAGS) $(LDFLAGS) -o $@ 210AM_V_P = $(am__v_P_@AM_V@) 211am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) 212am__v_P_0 = false 213am__v_P_1 = : 214AM_V_GEN = $(am__v_GEN_@AM_V@) 215am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) 216am__v_GEN_0 = @echo " GEN " $@; 217am__v_GEN_1 = 218AM_V_at = $(am__v_at_@AM_V@) 219am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) 220am__v_at_0 = @ 221am__v_at_1 = 222DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 223depcomp = 224am__depfiles_maybe = 225COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 226 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 227LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 228 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ 229 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ 230 $(AM_CFLAGS) $(CFLAGS) 231AM_V_CC = $(am__v_CC_@AM_V@) 232am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) 233am__v_CC_0 = @echo " CC " $@; 234am__v_CC_1 = 235CCLD = $(CC) 236LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 237 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 238 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 239AM_V_CCLD = $(am__v_CCLD_@AM_V@) 240am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 241am__v_CCLD_0 = @echo " CCLD " $@; 242am__v_CCLD_1 = 243SOURCES = $(libspeed_la_SOURCES) $(speed_SOURCES) \ 244 $(speed_dynamic_SOURCES) $(speed_ext_SOURCES) \ 245 $(tuneup_SOURCES) $(nodist_tuneup_SOURCES) 246DIST_SOURCES = $(libspeed_la_SOURCES) $(speed_SOURCES) \ 247 $(speed_dynamic_SOURCES) $(speed_ext_SOURCES) \ 248 $(tuneup_SOURCES) 249am__can_run_installinfo = \ 250 case $$AM_UPDATE_INFO_DIR in \ 251 n|no|NO) false;; \ 252 *) (install-info --version) >/dev/null 2>&1;; \ 253 esac 254HEADERS = $(noinst_HEADERS) 255am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) 256# Read a list of newline-separated strings from the standard input, 257# and print each of them once, without duplicates. Input order is 258# *not* preserved. 259am__uniquify_input = $(AWK) '\ 260 BEGIN { nonempty = 0; } \ 261 { items[$$0] = 1; nonempty = 1; } \ 262 END { if (nonempty) { for (i in items) print i; }; } \ 263' 264# Make sure the list of sources is unique. This is necessary because, 265# e.g., the same source file might be shared among _SOURCES variables 266# for different programs/libraries. 267am__define_uniq_tagged_files = \ 268 list='$(am__tagged_files)'; \ 269 unique=`for i in $$list; do \ 270 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ 271 done | $(am__uniquify_input)` 272ETAGS = etags 273CTAGS = ctags 274DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 275ABI = @ABI@ 276ACLOCAL = @ACLOCAL@ 277AMTAR = @AMTAR@ 278AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 279AR = @AR@ 280AS = @AS@ 281AUTOCONF = @AUTOCONF@ 282AUTOHEADER = @AUTOHEADER@ 283AUTOMAKE = @AUTOMAKE@ 284AWK = @AWK@ 285BITS_PER_MP_LIMB = @BITS_PER_MP_LIMB@ 286CALLING_CONVENTIONS_OBJS = @CALLING_CONVENTIONS_OBJS@ 287CC = @CC@ 288CCAS = @CCAS@ 289CC_FOR_BUILD = @CC_FOR_BUILD@ 290CFLAGS = @CFLAGS@ 291CPP = @CPP@ 292CPPFLAGS = @CPPFLAGS@ 293CPP_FOR_BUILD = @CPP_FOR_BUILD@ 294CXX = @CXX@ 295CXXCPP = @CXXCPP@ 296CXXFLAGS = @CXXFLAGS@ 297CYGPATH_W = @CYGPATH_W@ 298DEFN_LONG_LONG_LIMB = @DEFN_LONG_LONG_LIMB@ 299DEFS = @DEFS@ 300DLLTOOL = @DLLTOOL@ 301DSYMUTIL = @DSYMUTIL@ 302DUMPBIN = @DUMPBIN@ 303ECHO_C = @ECHO_C@ 304ECHO_N = @ECHO_N@ 305ECHO_T = @ECHO_T@ 306EGREP = @EGREP@ 307EXEEXT = @EXEEXT@ 308EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ 309FGREP = @FGREP@ 310GMP_CC = @GMP_CC@ 311GMP_CFLAGS = @GMP_CFLAGS@ 312GMP_LDFLAGS = @GMP_LDFLAGS@ 313GMP_NAIL_BITS = @GMP_NAIL_BITS@ 314GREP = @GREP@ 315GSYM_FLAG = @GSYM_FLAG@ 316INSTALL = @INSTALL@ 317INSTALL_DATA = @INSTALL_DATA@ 318INSTALL_PROGRAM = @INSTALL_PROGRAM@ 319INSTALL_SCRIPT = @INSTALL_SCRIPT@ 320INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 321LD = @LD@ 322LDFLAGS = @LDFLAGS@ 323LIBGMPXX_LDFLAGS = @LIBGMPXX_LDFLAGS@ 324LIBGMP_DLL = @LIBGMP_DLL@ 325LIBGMP_LDFLAGS = @LIBGMP_LDFLAGS@ 326LIBM = @LIBM@ 327LIBM_FOR_BUILD = @LIBM_FOR_BUILD@ 328LIBOBJS = @LIBOBJS@ 329LIBS = @LIBS@ 330LIBTOOL = @LIBTOOL@ 331LIPO = @LIPO@ 332LN_S = @LN_S@ 333LTLIBOBJS = @LTLIBOBJS@ 334M4 = @M4@ 335MAINT = @MAINT@ 336MAKEINFO = @MAKEINFO@ 337MANIFEST_TOOL = @MANIFEST_TOOL@ 338MKDIR_P = @MKDIR_P@ 339MPIR_AS = @MPIR_AS@ 340NM = @NM@ 341NMEDIT = @NMEDIT@ 342OBJDUMP = @OBJDUMP@ 343OBJECT_FORMAT = @OBJECT_FORMAT@ 344OBJEXT = @OBJEXT@ 345OTOOL = @OTOOL@ 346OTOOL64 = @OTOOL64@ 347PACKAGE = @PACKAGE@ 348PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 349PACKAGE_NAME = @PACKAGE_NAME@ 350PACKAGE_STRING = @PACKAGE_STRING@ 351PACKAGE_TARNAME = @PACKAGE_TARNAME@ 352PACKAGE_URL = @PACKAGE_URL@ 353PACKAGE_VERSION = @PACKAGE_VERSION@ 354PATH_SEPARATOR = @PATH_SEPARATOR@ 355RANLIB = @RANLIB@ 356SED = @SED@ 357SET_MAKE = @SET_MAKE@ 358SHELL = @SHELL@ 359SPEED_CYCLECOUNTER_OBJ = @SPEED_CYCLECOUNTER_OBJ@ 360STRIP = @STRIP@ 361TAL_OBJECT = @TAL_OBJECT@ 362TUNE_SQR_OBJ = @TUNE_SQR_OBJ@ 363U_FOR_BUILD = @U_FOR_BUILD@ 364VERSION = @VERSION@ 365abs_builddir = @abs_builddir@ 366abs_srcdir = @abs_srcdir@ 367abs_top_builddir = @abs_top_builddir@ 368abs_top_srcdir = @abs_top_srcdir@ 369ac_ct_AR = @ac_ct_AR@ 370ac_ct_CC = @ac_ct_CC@ 371ac_ct_CXX = @ac_ct_CXX@ 372ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 373am__leading_dot = @am__leading_dot@ 374am__tar = @am__tar@ 375am__untar = @am__untar@ 376bindir = @bindir@ 377build = @build@ 378build_alias = @build_alias@ 379build_cpu = @build_cpu@ 380build_os = @build_os@ 381build_vendor = @build_vendor@ 382builddir = @builddir@ 383datadir = @datadir@ 384datarootdir = @datarootdir@ 385docdir = @docdir@ 386dvidir = @dvidir@ 387exec_prefix = @exec_prefix@ 388gmp_srclinks = @gmp_srclinks@ 389host = @host@ 390host_alias = @host_alias@ 391host_cpu = @host_cpu@ 392host_os = @host_os@ 393host_vendor = @host_vendor@ 394htmldir = @htmldir@ 395includedir = @includedir@ 396infodir = @infodir@ 397install_sh = @install_sh@ 398libdir = @libdir@ 399libexecdir = @libexecdir@ 400localedir = @localedir@ 401localstatedir = @localstatedir@ 402mandir = @mandir@ 403mkdir_p = @mkdir_p@ 404mpn_objects = @mpn_objects@ 405mpn_objs_in_libgmp = @mpn_objs_in_libgmp@ 406oldincludedir = @oldincludedir@ 407pdfdir = @pdfdir@ 408prefix = @prefix@ 409program_transform_name = @program_transform_name@ 410psdir = @psdir@ 411sbindir = @sbindir@ 412sharedstatedir = @sharedstatedir@ 413srcdir = @srcdir@ 414sysconfdir = @sysconfdir@ 415target_alias = @target_alias@ 416top_build_prefix = @top_build_prefix@ 417top_builddir = @top_builddir@ 418top_srcdir = @top_srcdir@ 419AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/tests 420EXTRA_DIST = alpha.asm pentium.asm sparcv9.asm hppa.asm hppa2.asm hppa2w.asm \ 421 ia64.asm powerpc.asm powerpc64.asm x86_64.as many.pl 422 423noinst_HEADERS = speed.h 424@ENABLE_STATIC_FALSE@STATIC = 425 426# Prefer -static on the speed and tune programs, since that can avoid 427# overheads of shared library linkages on some systems. Libtool tends to 428# botch -static if configured with --disable-static, perhaps reasonably 429# enough. In any event under --disable-static the only choice is a dynamic 430# link so there's no point in -static. 431# 432@ENABLE_STATIC_TRUE@STATIC = -static 433EXTRA_LTLIBRARIES = libspeed.la 434libspeed_la_SOURCES = \ 435 common.c divrem1div.c divrem1inv.c divrem2div.c divrem2inv.c \ 436 freq.c \ 437 gcdext_single.c gcdext_double.c gcdextod.c gcdextos.c \ 438 hgcd_lehmer.c hgcd_appr_lehmer.c hgcd_reduce_1.c hgcd_reduce_2.c \ 439 jacbase1.c jacbase2.c jacbase3.c jacbase4.c \ 440 mod_1_div.c mod_1_inv.c modlinv.c \ 441 noop.c powm_mod.c powm_redc.c preinv_divrem_1.c \ 442 fac_ui_large.c fac_ui_small.c \ 443 set_strb.c set_strs.c set_strp.c time.c 444 445libspeed_la_DEPENDENCIES = $(SPEED_CYCLECOUNTER_OBJ) \ 446 $(top_builddir)/tests/libtests.la $(top_builddir)/libmpir.la 447 448libspeed_la_LIBADD = $(libspeed_la_DEPENDENCIES) $(LIBM) 449libspeed_la_LDFLAGS = $(STATIC) 450DEPENDENCIES = libspeed.la 451LDADD = $(DEPENDENCIES) 452speed_SOURCES = speed.c 453speed_LDFLAGS = $(STATIC) 454speed_dynamic_SOURCES = speed.c 455speed_ext_SOURCES = speed-ext.c 456speed_ext_LDFLAGS = $(STATIC) 457tuneup_SOURCES = tuneup.c 458nodist_tuneup_SOURCES = sqr_basecase.c fac_ui.c $(TUNE_MPN_SRCS) 459tuneup_DEPENDENCIES = $(TUNE_SQR_OBJ) libspeed.la 460tuneup_LDADD = $(tuneup_DEPENDENCIES) 461tuneup_LDFLAGS = $(STATIC) 462 463# $(MANY_CLEAN) and $(MANY_DISTCLEAN) are hooks for many.pl 464CLEANFILES = $(EXTRA_PROGRAMS) $(EXTRA_LTLIBRARIES) \ 465 $(TUNE_MPN_SRCS) sqr_asm.asm \ 466 stg.gnuplot stg.data \ 467 mtg.gnuplot mtg.data \ 468 fibg.gnuplot fibg.data \ 469 graph.gnuplot graph.data \ 470 $(MANY_CLEAN) 471 472DISTCLEANFILES = sqr_basecase.c fac_ui.c $(MANY_DISTCLEAN) 473 474# Generating these little files at build time seems better than including 475# them in the distribution, since the list can be changed more easily. 476# 477# mpn/generic/tdiv_qr.c uses mpn_divrem_1 and mpn_divrem_2, but only for 1 478# and 2 limb divisors, which are never used during tuning, so it doesn't 479# matter whether it picks up a tuned or untuned version of those. 480# 481# divrem_1 and mod_1 are recompiled renamed to "_tune" to avoid a linking 482# problem. If a native divrem_1 provides an mpn_divrem_1c entrypoint then 483# common.c will want that, but the generic divrem_1 doesn't provide it, 484# likewise for mod_1. The simplest way around this is to have the tune 485# build versions renamed suitably. 486# 487# FIXME: Would like say mul_n.c to depend on $(top_builddir)/mul_n.c so the 488# recompiled object will be rebuilt if that file changes. 489TUNE_MPN_SRCS = $(TUNE_MPN_SRCS_BASIC) $(TUNE_FFT_SRCS_BASIC) divrem_1.c mod_1.c 490TUNE_MPN_SRCS_BASIC = divrem_2.c gcd.c gcdext.c get_str.c set_str.c \ 491 matrix22_mul.c hgcd.c hgcd_appr.c hgcd_reduce.c \ 492 mul_n.c mullow_n.c mulhigh_n.c mul.c tdiv_qr.c \ 493 mulmid.c mulmid_n.c toom42_mulmid.c \ 494 toom4_mul_n.c toom4_mul.c toom3_mul.c toom3_mul_n.c \ 495 toom8h_mul.c toom8_sqr_n.c mulmod_2expm1.c mulmod_2expp1_basecase.c \ 496 rootrem.c divrem_euclidean_r_1.c \ 497 divrem_hensel_qr_1.c rsh_divrem_hensel_qr_1.c sb_divappr_q.c sb_div_qr.c \ 498 dc_divappr_q.c dc_div_qr.c dc_div_qr_n.c \ 499 inv_divappr_q.c inv_div_qr.c tdiv_q.c dc_bdiv_qr.c dc_bdiv_qr_n.c dc_bdiv_q.c 500 501TUNE_FFT_SRCS_BASIC = split_bits.c revbin.c normmod_2expp1.c mulmod_2expp1.c \ 502 mul_trunc_sqrt2.c mul_mfa_trunc_sqrt2.c mul_fft_main.c \ 503 mul_2expmod_2expp1.c ifft_trunc_sqrt2.c ifft_trunc.c ifft_radix2.c \ 504 ifft_negacyclic.c fft_trunc.c fft_radix2.c fft_negacyclic.c \ 505 fft_mfa_trunc_sqrt2.c fft_mfa_trunc_sqrt2_inner.c fermat_to_mpz.c \ 506 div_2expmod_2expp1.c combine_bits.c butterfly_rshB.c butterfly_lshB.c \ 507 adjust_sqrt2.c adjust.c 508 509 510# COMPILE minus CC. 511# 512COMPILE_FLAGS = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(INCLUDES) $(DEFAULT_INCLUDES) 513 514# Flags used for preprocessing (in ansi2knr rules). 515# 516PREPROCESS_FLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 517 $(CPPFLAGS) 518 519 520# Recent versions of automake (1.5 and up for instance) append automake 521# generated suffixes to this $(SUFFIXES) list. This is essential for us, 522# since .c must come after .s, .S and .asm. If .c is before .s, for 523# instance, then in the mpn directory "make" will see add_n.c mentioned in 524# an explicit rule (the ansi2knr stuff) and decide it must have add_n.c, 525# even if add_n.c doesn't exist but add_n.s does. See GNU make 526# documentation "(make)Implicit Rule Search", part 5c. 527# 528# On IRIX 6 native make this doesn't work properly though. Somehow .c 529# remains ahead of .s, perhaps because .c.s is a builtin rule. .asm works 530# fine though, and mpn/mips3 uses this. 531# 532SUFFIXES = .s .S .as .asm 533 534# can be overridden during development, eg. "make RM_TMP=: mul_1.lo" 535RM_TMP = rm -f 536 537#if BUILD_YASM 538#ASSEMBLER = $(top_srcdir)/strip_fPIC.sh $(MPIR_AS) -p gas -I $(top_builddir) $(OBJECT_FORMAT) $(GSYM_FLAG) -o $@ 539#else 540ASSEMBLER = $(CCAS) $(COMPILE_FLAGS) 541all: all-am 542 543.SUFFIXES: 544.SUFFIXES: .s .S .as .asm .c .lo .o .obj 545$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../mpn/Makeasm.am $(am__configure_deps) 546 @for dep in $?; do \ 547 case '$(am__configure_deps)' in \ 548 *$$dep*) \ 549 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ 550 && { if test -f $@; then exit 0; else break; fi; }; \ 551 exit 1;; \ 552 esac; \ 553 done; \ 554 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps tune/Makefile'; \ 555 $(am__cd) $(top_srcdir) && \ 556 $(AUTOMAKE) --gnu --ignore-deps tune/Makefile 557.PRECIOUS: Makefile 558Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 559 @case '$?' in \ 560 *config.status*) \ 561 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ 562 *) \ 563 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ 564 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 565 esac; 566$(srcdir)/../mpn/Makeasm.am: 567 568$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 569 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 570 571$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 572 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 573$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 574 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 575$(am__aclocal_m4_deps): 576 577libspeed.la: $(libspeed_la_OBJECTS) $(libspeed_la_DEPENDENCIES) $(EXTRA_libspeed_la_DEPENDENCIES) 578 $(AM_V_CCLD)$(libspeed_la_LINK) $(libspeed_la_OBJECTS) $(libspeed_la_LIBADD) $(LIBS) 579 580speed$(EXEEXT): $(speed_OBJECTS) $(speed_DEPENDENCIES) $(EXTRA_speed_DEPENDENCIES) 581 @rm -f speed$(EXEEXT) 582 $(AM_V_CCLD)$(speed_LINK) $(speed_OBJECTS) $(speed_LDADD) $(LIBS) 583 584speed-dynamic$(EXEEXT): $(speed_dynamic_OBJECTS) $(speed_dynamic_DEPENDENCIES) $(EXTRA_speed_dynamic_DEPENDENCIES) 585 @rm -f speed-dynamic$(EXEEXT) 586 $(AM_V_CCLD)$(LINK) $(speed_dynamic_OBJECTS) $(speed_dynamic_LDADD) $(LIBS) 587 588speed-ext$(EXEEXT): $(speed_ext_OBJECTS) $(speed_ext_DEPENDENCIES) $(EXTRA_speed_ext_DEPENDENCIES) 589 @rm -f speed-ext$(EXEEXT) 590 $(AM_V_CCLD)$(speed_ext_LINK) $(speed_ext_OBJECTS) $(speed_ext_LDADD) $(LIBS) 591 592tuneup$(EXEEXT): $(tuneup_OBJECTS) $(tuneup_DEPENDENCIES) $(EXTRA_tuneup_DEPENDENCIES) 593 @rm -f tuneup$(EXEEXT) 594 $(AM_V_CCLD)$(tuneup_LINK) $(tuneup_OBJECTS) $(tuneup_LDADD) $(LIBS) 595 596mostlyclean-compile: 597 -rm -f *.$(OBJEXT) 598 599distclean-compile: 600 -rm -f *.tab.c 601 602.c.o: 603 $(AM_V_CC)$(COMPILE) -c -o $@ $< 604 605.c.obj: 606 $(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 607 608.c.lo: 609 $(AM_V_CC)$(LTCOMPILE) -c -o $@ $< 610 611mostlyclean-libtool: 612 -rm -f *.lo 613 614clean-libtool: 615 -rm -rf .libs _libs 616 617ID: $(am__tagged_files) 618 $(am__define_uniq_tagged_files); mkid -fID $$unique 619tags: tags-am 620TAGS: tags 621 622tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 623 set x; \ 624 here=`pwd`; \ 625 $(am__define_uniq_tagged_files); \ 626 shift; \ 627 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ 628 test -n "$$unique" || unique=$$empty_fix; \ 629 if test $$# -gt 0; then \ 630 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 631 "$$@" $$unique; \ 632 else \ 633 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 634 $$unique; \ 635 fi; \ 636 fi 637ctags: ctags-am 638 639CTAGS: ctags 640ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) 641 $(am__define_uniq_tagged_files); \ 642 test -z "$(CTAGS_ARGS)$$unique" \ 643 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ 644 $$unique 645 646GTAGS: 647 here=`$(am__cd) $(top_builddir) && pwd` \ 648 && $(am__cd) $(top_srcdir) \ 649 && gtags -i $(GTAGS_ARGS) "$$here" 650cscopelist: cscopelist-am 651 652cscopelist-am: $(am__tagged_files) 653 list='$(am__tagged_files)'; \ 654 case "$(srcdir)" in \ 655 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ 656 *) sdir=$(subdir)/$(srcdir) ;; \ 657 esac; \ 658 for i in $$list; do \ 659 if test -f "$$i"; then \ 660 echo "$(subdir)/$$i"; \ 661 else \ 662 echo "$$sdir/$$i"; \ 663 fi; \ 664 done >> $(top_builddir)/cscope.files 665 666distclean-tags: 667 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 668 669distdir: $(DISTFILES) 670 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 671 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 672 list='$(DISTFILES)'; \ 673 dist_files=`for file in $$list; do echo $$file; done | \ 674 sed -e "s|^$$srcdirstrip/||;t" \ 675 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 676 case $$dist_files in \ 677 */*) $(MKDIR_P) `echo "$$dist_files" | \ 678 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 679 sort -u` ;; \ 680 esac; \ 681 for file in $$dist_files; do \ 682 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 683 if test -d $$d/$$file; then \ 684 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 685 if test -d "$(distdir)/$$file"; then \ 686 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 687 fi; \ 688 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 689 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 690 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 691 fi; \ 692 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 693 else \ 694 test -f "$(distdir)/$$file" \ 695 || cp -p $$d/$$file "$(distdir)/$$file" \ 696 || exit 1; \ 697 fi; \ 698 done 699check-am: all-am 700check: check-am 701all-am: Makefile $(HEADERS) 702installdirs: 703install: install-am 704install-exec: install-exec-am 705install-data: install-data-am 706uninstall: uninstall-am 707 708install-am: all-am 709 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 710 711installcheck: installcheck-am 712install-strip: 713 if test -z '$(STRIP)'; then \ 714 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 715 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 716 install; \ 717 else \ 718 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 719 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 720 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ 721 fi 722mostlyclean-generic: 723 724clean-generic: 725 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) 726 727distclean-generic: 728 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 729 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 730 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) 731 732maintainer-clean-generic: 733 @echo "This command is intended for maintainers to use" 734 @echo "it deletes files that may require special tools to rebuild." 735clean: clean-am 736 737clean-am: clean-generic clean-libtool mostlyclean-am 738 739distclean: distclean-am 740 -rm -f Makefile 741distclean-am: clean-am distclean-compile distclean-generic \ 742 distclean-tags 743 744dvi: dvi-am 745 746dvi-am: 747 748html: html-am 749 750html-am: 751 752info: info-am 753 754info-am: 755 756install-data-am: 757 758install-dvi: install-dvi-am 759 760install-dvi-am: 761 762install-exec-am: 763 764install-html: install-html-am 765 766install-html-am: 767 768install-info: install-info-am 769 770install-info-am: 771 772install-man: 773 774install-pdf: install-pdf-am 775 776install-pdf-am: 777 778install-ps: install-ps-am 779 780install-ps-am: 781 782installcheck-am: 783 784maintainer-clean: maintainer-clean-am 785 -rm -f Makefile 786maintainer-clean-am: distclean-am maintainer-clean-generic 787 788mostlyclean: mostlyclean-am 789 790mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 791 mostlyclean-libtool 792 793pdf: pdf-am 794 795pdf-am: 796 797ps: ps-am 798 799ps-am: 800 801uninstall-am: 802 803.MAKE: install-am install-strip 804 805.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ 806 clean-libtool cscopelist-am ctags ctags-am distclean \ 807 distclean-compile distclean-generic distclean-libtool \ 808 distclean-tags distdir dvi dvi-am html html-am info info-am \ 809 install install-am install-data install-data-am install-dvi \ 810 install-dvi-am install-exec install-exec-am install-html \ 811 install-html-am install-info install-info-am install-man \ 812 install-pdf install-pdf-am install-ps install-ps-am \ 813 install-strip installcheck installcheck-am installdirs \ 814 maintainer-clean maintainer-clean-generic mostlyclean \ 815 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ 816 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am 817 818 819$(top_builddir)/tests/libtests.la: 820 cd $(top_builddir)/tests; $(MAKE) $(AM_MAKEFLAGS) libtests.la 821 822tune: 823 $(MAKE) $(AM_MAKEFLAGS) tuneup$(EXEEXT) 824 ./tuneup 825 826allprogs: $(EXTRA_PROGRAMS) 827 828$(TUNE_MPN_SRCS_BASIC): 829 for i in $(TUNE_MPN_SRCS_BASIC); do \ 830 echo "#define TUNE_PROGRAM_BUILD 1" >$$i; \ 831 echo "#include \"mpn/generic/$$i\"" >>$$i; \ 832 done 833 834$(TUNE_FFT_SRCS_BASIC): 835 for i in $(TUNE_FFT_SRCS_BASIC); do \ 836 echo "#define TUNE_PROGRAM_BUILD 1" >$$i; \ 837 echo "#include \"fft/$$i\"" >>$$i; \ 838 done 839 840divrem_1.c: 841 echo "#define TUNE_PROGRAM_BUILD 1" >divrem_1.c 842 echo "#define __gmpn_divrem_1 mpn_divrem_1_tune" >>divrem_1.c 843 echo "#include \"mpn/generic/divrem_1.c\"" >>divrem_1.c 844 845mod_1.c: 846 echo "#define TUNE_PROGRAM_BUILD 1" >mod_1.c 847 echo "#define __gmpn_mod_1 mpn_mod_1_tune" >>mod_1.c 848 echo "#include \"mpn/generic/mod_1.c\"" >>mod_1.c 849 850sqr_asm.asm: $(top_builddir)/mpn/sqr_basecase.asm 851 echo 'define(SQR_KARATSUBA_THRESHOLD_OVERRIDE,SQR_KARATSUBA_THRESHOLD_MAX)' >sqr_asm.asm 852 echo 'include(../mpn/sqr_basecase.asm)' >>sqr_asm.asm 853 854# FIXME: Should it depend on $(top_builddir)/fac_ui.h too? 855fac_ui.c: $(top_builddir)/mpz/fac_ui.c 856 echo "#define TUNE_PROGRAM_BUILD 1" >fac_ui.c 857 echo "#define __gmpz_fac_ui mpz_fac_ui_tune" >>fac_ui.c 858 echo "#define __gmpz_oddfac_1 mpz_oddfac_1_tune" >>fac_ui.c 859 echo "#include \"mpz/oddfac_1.c\"" >>fac_ui.c 860 echo "#include \"mpz/fac_ui.c\"" >>fac_ui.c 861 862# .s assembler, no preprocessing. 863# 864.s.o: 865 $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$< 866.s.obj: 867 $(CCAS) $(COMPILE_FLAGS) `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` 868.s.lo: 869 $(LIBTOOL) --mode=compile --tag=CC $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$< 870 871# .S assembler, preprocessed with cpp. 872# 873# It's necessary to run $(CPP) separately, since it seems not all compilers 874# recognise .S files, in particular "cc" on HP-UX 10 and 11 doesn't (and 875# will silently do nothing if given a .S). 876# 877# For .lo we need a helper script, as described below for .asm.lo. 878# 879.S.o: 880 $(CPP) $(PREPROCESS_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$< | grep -v '^#' >tmp-$*.s 881 $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@ 882 $(RM_TMP) tmp-$*.s 883.S.obj: 884 $(CPP) $(PREPROCESS_FLAGS) `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` | grep -v '^#' >tmp-$*.s 885 $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@ 886 $(RM_TMP) tmp-$*.s 887.S.lo: 888 $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/mpn/cpp-ccas --cpp="$(CPP) $(PREPROCESS_FLAGS)" $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$< 889 890# .asm assembler, preprocessed with m4 unless we are in MINGW64 891# 892# .o and .obj are non-PIC and just need m4 followed by a compile. 893# 894# .lo is a bit tricky. Libtool (as of version 1.5) has foo.lo as a little 895# text file, and .libs/foo.o and foo.o as the PIC and non-PIC objects, 896# respectively. It'd be asking for lots of trouble to try to create foo.lo 897# ourselves, so instead arrange to invoke libtool like a --mode=compile, but 898# with a special m4-ccas script which first m4 preprocesses, then compiles. 899# --tag=CC is necessary since foo.asm is otherwise unknown to libtool. 900# 901# Libtool adds -DPIC when building a shared object and the .asm files look 902# for that. But it should be noted that the other PIC flags are on occasion 903# important too, in particular FreeBSD 2.2.8 gas 1.92.3 requires -k before 904# it accepts PIC constructs like @GOT, and gcc adds that flag only under 905# -fPIC. (Later versions of gas are happy to accept PIC stuff any time.) 906# 907 908.asm.o: 909 $(M4) -DOPERATION_$* `test -f '$<' || echo '$(srcdir)/'`$< >tmp-$*.s 910 $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@ 911 $(RM_TMP) tmp-$*.s 912.asm.obj: 913 $(M4) -DOPERATION_$* `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` >tmp-$*.s 914 $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@ 915 $(RM_TMP) tmp-$*.s 916#endif 917 918.asm.lo: 919 $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/mpn/m4-ccas --m4="$(M4)" $(ASSEMBLER) `test -f '$<' || echo '$(srcdir)/'`$< 920 921# .as assembler, assembled with Yasm 922 923.as.lo: 924 $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/strip_fPIC.sh $(MPIR_AS) -I $(top_builddir) $(OBJECT_FORMAT) $(GSYM_FLAG) -o $@ `test -f '$<' || echo '$(srcdir)/'`$< 925 926# Tell versions [3.59,3.63) of GNU make to not export all variables. 927# Otherwise a system limit (for SysV at least) may be exceeded. 928.NOEXPORT: 929