diff options
Diffstat (limited to 'tools/mbench/Makefile')
-rw-r--r-- | tools/mbench/Makefile | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/tools/mbench/Makefile b/tools/mbench/Makefile new file mode 100644 index 000000000..f9728903a --- /dev/null +++ b/tools/mbench/Makefile @@ -0,0 +1,128 @@ +# Copyright 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Contributed by Patrick Pelissier, INRIA. +# +# This file is part of the MPFR Library. +# +# The MPFR Library is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# The MPFR Library is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +# License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with the MPFR Library; see the file COPYING.LESSER. If not, write to +# the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +AR=ar +CC=gcc +CXX=g++ +RANLIB=ranlib +CFLAGS=-O2 -fomit-frame-pointer -Wall -g +RM=rm -f +CP=cp -f +MV=mv -f + +GMP=/usr +MPFR=$(PWD)/.. +PARI=$(GMP) +NTL=$(GMP) +CLN=$(GMP) +MAPM=$(GMP) +ARPREC=$(GMP) +CRLIBM=$(GMP) +LIDIA=/localdisk/lidia/ + +MPFR_INCLUDE=$(MPFR)/include +MPFR_LIB=$(MPFR)/lib + +######################################################## +VERSION=0.6.1 +NAME=mbench + +######################################################### +.SUFFIXES: .c .o + +# add -I$(MPFR) and -I$(GMP) if GMP/MPFR build directories are given +# Warning! If $(MPFR) and/or $(GMP) is regarded as a "system directory", +# this may give unexpected results[*]; in particular, with GCC, the option +# is ignored in such a case. +# [*] http://austingroupbugs.net/view.php?id=187 +ifeq ($(CC),gcc) +INCLUDES=`test -f $(GMP_INCLUDE)/gmp.h && echo "-include $(GMP_INCLUDE)/gmp.h"` `test -f $(GMP)/gmp.h && echo "-include $(GMP)/gmp.h"` `test -f $(MPFR_INCLUDE)/mpfr.h && echo "-include $(MPFR_INCLUDE)/mpfr.h"` `test -f $(MPFR)/mpfr.h && echo "-include $(MPFR)/mpfr.h"` -I. -I$(MPFR_INCLUDE) -I$(MPFR) -I$(GMP)/include/ -I$(GMP) +else +INCLUDES=-I. -I$(MPFR_INCLUDE) -I$(MPFR) -I$(GMP)/include/ -I$(GMP) +endif + +# search first for real install, then for build directory +LIBS=`(test -f $(MPFR_LIB)/libmpfr.a && echo $(MPFR_LIB)/libmpfr.a)` `(test -f $(MPFR)/.libs/libmpfr.a && echo $(MPFR)/.libs/libmpfr.a)` `(test -f $(GMP)/lib/libgmp.a && echo $(GMP)/lib/libgmp.a)` `(test -f $(GMP)/.libs/libgmp.a && echo $(GMP)/.libs/libgmp.a)` + +XLIBS=`test -f $(PARI)/lib/libpari.a && echo $(PARI)/lib/libpari.a` \ + `test -f $(NTL)/lib/libntl.a && echo $(NTL)/lib/libntl.a` \ + `test -f $(CLN)/lib/libcln.a && echo $(CLN)/lib/libcln.a` \ + `test -f $(ARPREC)/lib/libmp.a && echo $(ARPREC)/lib/libmp.a` \ + `test -f $(CRLIBM)/lib/libcrlibm.a && echo $(CRLIBM)/lib/libcrlibm.a` \ + -lm + +TARGETS=mpfr-v4 mpfr-v6 mpfr-gfx mfv5 +DIST=Makefile mpfr-v4.c mpfr-v6.c mpfr-gfx.c generate.c timp.h mfv5-arprec.cc mfv5-cln.cc mfv5-mpfr.cc mfv5-pari.cc mfv5.cc mfv5-mpf.cc mfv5-ntl.cc mfv5-lidia.cc mfv5.h mfv5-void.cc mfv5-libc.cc mfv5-crlibm.cc + +############################################################## + +.c.o: + $(CC) $(INCLUDES) $(CFLAGS) -c $< + +.cc.o: + $(CXX) $(INCLUDES) $(CFLAGS) -c $< + +all: mfv5 + +clean: + $(RM) *.o *~ $(TARGETS) float.data + +mpfr-v4: mpfr-v4.o + $(CC) $(CFLAGS) mpfr-v4.o $(LIBS) -o mpfr-v4 + +mpfr-v6: mpfr-v6.o float.data + $(CC) $(CFLAGS) mpfr-v6.o $(LIBS) -lm -o mpfr-v6 + +mpfr-gfx: mpfr-gfx.o + $(CC) $(CFLAGS) mpfr-gfx.o $(LIBS) -o mpfr-gfx + +float.data: generate.o + $(CC) $(CFLAGS) generate.o $(LIBS) -o generate-float-data + ./generate-float-data + $(RM) generate-float-data + +mfv5-ntl.o: mfv5-ntl.cc mfv5.h + @(test -f $(NTL)/lib/libntl.a && $(CXX) $(INCLUDES) -I$(NTL)/include/ $(CFLAGS) -c $< && echo "Using NTL.") || ($(CXX) -c mfv5-void.cc -o mfv5-ntl.o && echo "NTL not found.") + +mfv5-arprec.o: mfv5-arprec.cc mfv5.h + @(test -f $(ARPREC)/lib/libmp.a && $(CXX) $(INCLUDES) -I$(ARPREC)/include/ $(CFLAGS) -c $< && echo "Using ARPREC.") || ($(CXX) -c mfv5-void.cc -o mfv5-arprec.o && echo "Arprec not found.") + +mfv5-pari.o: mfv5-pari.cc mfv5.h + @(test -f $(PARI)/lib/libpari.a && $(CXX) $(INCLUDES) -I$(PARI)/include/ $(CFLAGS) -c $< && echo "Using PARI.") || ($(CXX) -c mfv5-void.cc -o mfv5-pari.o && echo "PARI not found.") + +mfv5-cln.o: mfv5-cln.cc mfv5.h + @(test -f $(CLN)/lib/libcln.a && $(CXX) $(INCLUDES) -I$(CLN)/include/ $(CFLAGS) -c $< && echo "Using CLN.") || ($(CXX) -c mfv5-void.cc -o mfv5-cln.o && echo "CLN not found.") + +mfv5-lidia.o: mfv5-lidia.cc mfv5.h + @(test -f $(LIDIA)/lib/liblidia.a && $(CXX) $(INCLUDES) -I$(LIDIA)/include/ $(CFLAGS) -c $< && echo "Using LIDIA.") || ($(CXX) -c mfv5-void.cc -o mfv5-lidia.o && echo "LIDIA not found.") + +mfv5-crlibm.o: mfv5-crlibm.cc mfv5.h + @(test -f $(CRLIBM)/lib/libcrlibm.a && $(CXX) $(INCLUDES) -I$(CRLIBM)/include/ $(CFLAGS) -c $< && echo "Using CRLIBM.") || ($(CXX) -c mfv5-void.cc -o mfv5-crlibm.o && echo "CRLIBM not found.") + +mfv5: mfv5.o mfv5-mpfr.o mfv5-mpf.o mfv5-ntl.o mfv5-arprec.o mfv5-pari.o mfv5-cln.o mfv5-libc.o mfv5-crlibm.o + $(CXX) $(CFLAGS) mfv5.o mfv5-mpfr.o mfv5-mpf.o mfv5-ntl.o mfv5-arprec.o mfv5-pari.o mfv5-cln.o mfv5-libc.o mfv5-crlibm.o $(XLIBS) $(LIBS) -o mfv5 + +dist: $(DIST) + rm -fr $(NAME)-$(VERSION) $(NAME)-$(VERSION).tar $(NAME)-$(VERSION).tar.bz2 + mkdir $(NAME)-$(VERSION) + cp $(DIST) $(NAME)-$(VERSION) + tar cf $(NAME)-$(VERSION).tar $(NAME)-$(VERSION) + bzip2 $(NAME)-$(VERSION).tar + rm -fr $(NAME)-$(VERSION) |