[BACK]Return to Makefile.am CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp / tune

Annotation of OpenXM_contrib/gmp/tune/Makefile.am, Revision 1.1

1.1     ! maekawa     1: ## Process this file with automake to generate Makefile.in
        !             2:
        !             3: # Copyright (C) 2000 Free Software Foundation, Inc.
        !             4: #
        !             5: # This file is part of the GNU MP Library.
        !             6: #
        !             7: # The GNU MP Library is free software; you can redistribute it and/or modify
        !             8: # it under the terms of the GNU Lesser General Public License as published by
        !             9: # the Free Software Foundation; either version 2.1 of the License, or (at your
        !            10: # option) any later version.
        !            11: #
        !            12: # The GNU MP Library is distributed in the hope that it will be useful, but
        !            13: # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
        !            14: # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
        !            15: # License for more details.
        !            16: #
        !            17: # You should have received a copy of the GNU Lesser General Public License
        !            18: # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
        !            19: # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
        !            20: # MA 02111-1307, USA.
        !            21:
        !            22:
        !            23: AUTOMAKE_OPTIONS = gnu no-dependencies $(top_builddir)/ansi2knr
        !            24:
        !            25: INCLUDES = -I$(top_srcdir)
        !            26:
        !            27: EXTRA_DIST = alpha.asm pentium.asm sparcv9.asm hppa.asm hppa2.asm
        !            28: noinst_HEADERS = speed.h
        !            29:
        !            30: # No dependency on libgmp, so can use libgmptune instead for tune program
        !            31: EXTRA_LTLIBRARIES = libspeed.la
        !            32: libspeed_la_SOURCES = common.c time.c noop.c
        !            33: libspeed_la_DEPENDENCIES = $(SPEED_CYCLECOUNTER_OBJS)
        !            34: libspeed_la_LIBADD = $(libspeed_la_DEPENDENCIES)
        !            35:
        !            36: # Both libspeed and the programs are built static-only since static is
        !            37: # fastest and will be preferred by users who care about maximizing speed.
        !            38: #
        !            39: # Actually libtool doesn't seem to pass -static through to gcc, it only
        !            40: # chooses the ".a" versions of libtool libraries.  Rerun the gcc link
        !            41: # invocation with -static if you want a static link of libc and libm.
        !            42: #
        !            43: LDFLAGS = -static
        !            44: LDADD = libspeed.la $(top_builddir)/libgmp.la -lm
        !            45:
        !            46: EXTRA_PROGRAMS = speed speed-ext tuneup
        !            47:
        !            48: tuneup_SOURCES = tuneup.c
        !            49: tuneup_DEPENDENCIES = libspeed.la libgmptune.a
        !            50: tuneup_LDADD = $(tuneup_DEPENDENCIES) -lm
        !            51:
        !            52: # Don't know how to get tuneup$U.lo to depend on sqr_basecase.h, so just do
        !            53: # an explicit make.  A plain "make tuneup" will fail if used directly.
        !            54: tune:
        !            55:        $(MAKE) $(AM_MAKEFLAGS) sqr_basecase.h tuneup$(EXEEXT)
        !            56:        ./tuneup
        !            57:
        !            58: allprogs: sqr_basecase.h $(EXTRA_PROGRAMS)
        !            59:
        !            60:
        !            61: speed_SOURCES = speed.c
        !            62:
        !            63: SQR_CLEANFILES = sqr_basecase.c sqr_basecase.h sqr_basecase.asm
        !            64:
        !            65: CLEANFILES = $(EXTRA_PROGRAMS) $(EXTRA_LTLIBRARIES) \
        !            66:        $(SQR_CLEANFILES) libgmptune.a libgmptmp.a \
        !            67:        stg.gnuplot stg.data \
        !            68:        mtg.gnuplot mtg.data \
        !            69:        fibg.gnuplot fibg.data \
        !            70:        graph.gnuplot graph.data
        !            71:
        !            72:
        !            73: # This bit like mpn/Makefile.am
        !            74:
        !            75: # COMPILE minus CC.  FIXME: Really pass *_CFLAGS to CPP?
        !            76: COMPILE_FLAGS =        \
        !            77:        $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
        !            78:
        !            79: SUFFIXES = .asm
        !            80: .asm.o:
        !            81:        $(M4) $(M4FLAGS) -DOPERATION_$* $< >tmp-$*.s
        !            82:        $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@
        !            83:        rm -f tmp-$*.s
        !            84: .asm.obj:
        !            85:        $(M4) $(M4FLAGS) -DOPERATION_$* `cygpath -w $<` >tmp-$*.s
        !            86:        $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@
        !            87:        rm -f tmp-$*.s
        !            88: .asm.lo:
        !            89:        echo "$(COMPILE_FLAGS)"
        !            90:        $(M4) $(M4FLAGS) -DPIC -DOPERATION_$* $< >tmp-$*.s
        !            91:        $(LIBTOOL) --mode=compile $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@
        !            92:        $(M4) $(M4FLAGS) -DOPERATION_$* $< >tmp-$*.s
        !            93:        $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $*.o
        !            94:        rm -f tmp-$*.s
        !            95:
        !            96:
        !            97: # Recompiled versions of $(LIBGMPTUNE_OBJS) are always used.  sqr_basecase.o
        !            98: # is replaced if it's mpn/generic/sqr_basecase.c (due to the fixed size
        !            99: # temporary array), or sqr_basecase.asm with a KARATSUBA_SQR_THRESHOLD_MAX
        !           100: # (because that says it normally works only up to KARATSUBA_SQR_THRESHOLD).
        !           101:
        !           102: SQR_GENERIC_MAX = 200
        !           103:
        !           104: LIBGMPTUNE_OBJS = \
        !           105:   mul_n.o mul_fft.o mul.o \
        !           106:   bz_divrem_n.o tdiv_qr.o fib_ui.o powm.o gcd.o gcdext.o
        !           107:
        !           108: sqr_basecase.h: libgmptune.a
        !           109:
        !           110:
        !           111: # "cp -f" is not portable (eg. it fails on SunOS)
        !           112: # "ar r" is going to be a bit fragile because there's more than one mul.o in
        !           113: # libgmp.a.
        !           114:
        !           115: libgmptune.a: $(top_builddir)/libgmp.la $(LIBGMPTUNE_OBJS)
        !           116:        rm -f libgmptmp.a
        !           117:        eval `$(LIBTOOL) --config | grep '^objdir='` ; \
        !           118:                cp $(top_builddir)/$$objdir/libgmp.a libgmptmp.a
        !           119:        $(AR) r libgmptmp.a $(LIBGMPTUNE_OBJS)
        !           120:        rm -f $(SQR_CLEANFILES)
        !           121:        echo "" >sqr_basecase.h
        !           122:        if test -f $(top_builddir)/mpn/sqr_basecase.c; then             \
        !           123:          $(MAKE) $(AM_MAKEFLAGS) sqr-basecase-generic;                 \
        !           124:         else                                                           \
        !           125:          if grep KARATSUBA_SQR_THRESHOLD_MAX                           \
        !           126:              $(top_builddir)/mpn/sqr_basecase.asm >/dev/null; then     \
        !           127:            $(MAKE) $(AM_MAKEFLAGS) sqr-basecase-asm;                   \
        !           128:          fi                                                            \
        !           129:        fi
        !           130:        $(RANLIB) libgmptmp.a
        !           131:        rm -f libgmptune.a
        !           132:        mv libgmptmp.a libgmptune.a
        !           133:
        !           134: sqr-basecase-generic:
        !           135:        cp $(top_builddir)/mpn/sqr_basecase.c .
        !           136:        $(MAKE) $(AM_MAKEFLAGS) \
        !           137:                CFLAGS='$(CFLAGS) -DKARATSUBA_SQR_THRESHOLD=$(SQR_GENERIC_MAX)' \
        !           138:                sqr_basecase.o
        !           139:        $(AR) r libgmptmp.a sqr_basecase.o
        !           140:        echo '#define KARATSUBA_SQR_MAX  $(SQR_GENERIC_MAX)' >sqr_basecase.h
        !           141:
        !           142: sqr-basecase-asm:
        !           143:        cp $(top_builddir)/mpn/sqr_basecase.asm .
        !           144:        $(MAKE) $(AM_MAKEFLAGS) \
        !           145:                M4FLAGS='$(M4FLAGS) -DKARATSUBA_SQR_THRESHOLD_OVERRIDE=KARATSUBA_SQR_THRESHOLD_MAX' \
        !           146:                sqr_basecase.o
        !           147:        ar r libgmptmp.a sqr_basecase.o
        !           148:        echo "#define KARATSUBA_SQR_MAX  `sed -n 's/def...(KARATSUBA_SQR_THRESHOLD_MAX, *\([0-9]*\))/\1/p' sqr_basecase.asm`" >sqr_basecase.h
        !           149:
        !           150:
        !           151: mul_n.o: $(top_builddir)/mpn/mul_n.c
        !           152:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_builddir)/mpn/mul_n.c
        !           153:
        !           154: mul_fft.o: $(top_builddir)/mpn/mul_fft.c
        !           155:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_builddir)/mpn/mul_fft.c
        !           156:
        !           157: mul.o: $(top_builddir)/mpn/mul.c
        !           158:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_builddir)/mpn/mul.c
        !           159:
        !           160: bz_divrem_n.o: $(top_builddir)/mpn/bz_divrem_n.c
        !           161:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_builddir)/mpn/bz_divrem_n.c
        !           162:
        !           163: tdiv_qr.o: $(top_builddir)/mpn/tdiv_qr.c
        !           164:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_builddir)/mpn/tdiv_qr.c
        !           165:
        !           166: fib_ui.o: $(top_srcdir)/mpz/fib_ui.c
        !           167:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_srcdir)/mpz/fib_ui.c
        !           168:
        !           169: powm.o: $(top_srcdir)/mpz/powm.c
        !           170:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_srcdir)/mpz/powm.c
        !           171:
        !           172: gcd.o: $(top_builddir)/mpn/gcd.c
        !           173:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_builddir)/mpn/gcd.c
        !           174:
        !           175: gcdext.o: $(top_builddir)/mpn/gcdext.c
        !           176:        $(COMPILE) -DTUNE_PROGRAM_BUILD=1 -c $(top_builddir)/mpn/gcdext.c
        !           177:
        !           178:
        !           179:
        !           180:
        !           181: # "mk" is multiplication in the karatsuba range
        !           182: # "st" is squaring in the toom-cook range, etc
        !           183: # "g" forms produce graphs
        !           184:
        !           185: mk:
        !           186:        ./speed -s 5-40 -c mpn_mul_basecase mpn_kara_mul_n
        !           187:
        !           188: MTS = -s 50-150 -c
        !           189: mt:
        !           190:        ./speed $(MTS) mpn_kara_mul_n mpn_toom3_mul_n | less
        !           191: mtg:
        !           192:        ./speed $(MTS) -P mtg mpn_kara_mul_n mpn_toom3_mul_n
        !           193:
        !           194: sk:
        !           195:        ./speed -s 5-40 -c mpn_sqr_basecase mpn_kara_sqr_n
        !           196:
        !           197: STS = -s 50-150 -c
        !           198: st:
        !           199:        ./speed $(STS) mpn_kara_sqr_n mpn_toom3_sqr_n | less
        !           200: stg:
        !           201:        ./speed $(STS) -P stg mpn_kara_sqr_n mpn_toom3_sqr_n
        !           202:
        !           203: bz:
        !           204:        ./speed -s 5-40 -c mpn_bz_divrem_sb mpn_bz_divrem_n mpn_bz_tdiv_qr
        !           205:
        !           206: fib:
        !           207:        ./speed -s 80-120 -c mpz_fib_ui
        !           208: fibg:
        !           209:        ./speed -s 10-300 -P fibg mpz_fib_ui
        !           210:
        !           211:
        !           212: gcd:
        !           213:        ./speed -s 1-20 -c mpn_gcd
        !           214:
        !           215:
        !           216: graph:
        !           217:        ./speed -s 1-5000 -f 1.02 -P graph mpn_mul_n mpn_sqr
        !           218:        gnuplot graph.gnuplot

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>