From 3b005a7f212828fe358678ea0cc186b00fb1b015 Mon Sep 17 00:00:00 2001 From: enge Date: Fri, 28 Nov 2008 09:49:41 +0000 Subject: new Makefile.vc git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@362 211d60ee-9f03-0410-a15a-8952a2c7a4e4 --- Makefile.vc | 321 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 321 insertions(+) create mode 100644 Makefile.vc (limited to 'Makefile.vc') diff --git a/Makefile.vc b/Makefile.vc new file mode 100644 index 0000000..0936d22 --- /dev/null +++ b/Makefile.vc @@ -0,0 +1,321 @@ +# Makefile for the MPC library (Windows version). +# +# Copyright (C) 2002, 2004, 2005, 2007, 2008 Andreas Enge, Mickael Gastineau, Paul Zimmermann +# +# This file is part of the MPC Library. +# +# The MPC 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 2.1 of the License, or (at your +# option) any later version. +# +# The MPC 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 MPC Library; see the file COPYING.LIB. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +# MA 02111-1307, USA. +# + +# usage: +# nmake /f Makefile.vc clean +# clean the temporaries objects +# +# nmake /f Makefile.vc GMPDIR=gmpdirectory MPFRDIR=mpfrdirectory +# compile MPC +# +# nmake /f Makefile.vc install DESTDIR=installdirectory +# install MPC to installdirectory +# +# nmake /f Makefile.vc check GMPDIR=gmpdirectory MPFRDIR=mpfrdirectory +# perform tests on MPC +# + + +CPP = cl.exe +CC = cl.exe +CDEFAULTFLAGS=/O2 /GR- /MD /nologo /EHs + +VERSION=0.5.1 + +######################## do not edit below this line ########################## + +DIRMPC=.\src\ +DIRMPCTESTS=$(DIRMPC)\..\tests\ + +INCLUDES = /I$(DIRMPC) /I$(GMPDIR)\include /I$(MPFR)\include +CKERNELFLAGS = $(CDEFAULTFLAGS) /D__GMP_LIBGMP_DLL $(INCLUDES) +CFLAGS = $(CKERNELFLAGS) /D__MPC_WITHIN_MPC /D_GMP_IEEE_FLOATS /DHAVE_CONFIG_H + +TESTCOMPILE=$(CC) $(CKERNELFLAGS) $(DIRMPC)\..\tests\tgeneric.c $(DIRMPC)\..\tests\comparisons.c $(DIRMPC)\..\tests\read_data.c $(DIRMPC)\..\tests\random.c $(DIRMPC)\..\tests\ +MIDTESTCOMPILE=/link /out:$(DIRMPCTESTS) +ENDTESTCOMPILE=/LIBPATH:"$(GMPDIR)\lib" libmpc.lib libmpfr.lib libgmp.lib + + +#generate the CPPOBJECTS : goto src and execute +# ls *.c | sed "s/\.c/\.obj/" | awk ' { printf("$(DIRMPC)\\%s \\\n",$1); } ' +#generate the CPPLINKOBJECTS : goto src and execute +# ls *.c | sed "s/\.c/\.obj/" | awk ' { printf("%s \\\n",$1); } ' +#generate the list for tests : goto tests and execute +# ls *.c | sed "s/\.c//" | awk ' { printf("\t$(TESTCOMPILE)%s.c $(MIDTESTCOMPILE)%s.exe $(ENDTESTCOMPILE)\n\tcd $(DIRMPCTESTS) && %s.exe && cd ..\n",$1,$1,$1,$1); } ' + +LIBRARY = libmpc.dll +LIBRARYLIB = libmpc.lib + +CPPOBJECTS = $(DIRMPC)\abs.obj \ +$(DIRMPC)\add.obj \ +$(DIRMPC)\add_fr.obj \ +$(DIRMPC)\add_ui.obj \ +$(DIRMPC)\arg.obj \ +$(DIRMPC)\clear.obj \ +$(DIRMPC)\cmp.obj \ +$(DIRMPC)\cmp_si_si.obj \ +$(DIRMPC)\conj.obj \ +$(DIRMPC)\cos.obj \ +$(DIRMPC)\cosh.obj \ +$(DIRMPC)\div.obj \ +$(DIRMPC)\div_2exp.obj \ +$(DIRMPC)\div_fr.obj \ +$(DIRMPC)\div_ui.obj \ +$(DIRMPC)\exp.obj \ +$(DIRMPC)\fr_div.obj \ +$(DIRMPC)\fr_sub.obj \ +$(DIRMPC)\get_prec.obj \ +$(DIRMPC)\get_prec2.obj \ +$(DIRMPC)\imag.obj \ +$(DIRMPC)\init.obj \ +$(DIRMPC)\init2.obj \ +$(DIRMPC)\init3.obj \ +$(DIRMPC)\inp_str.obj \ +$(DIRMPC)\log.obj \ +$(DIRMPC)\mul.obj \ +$(DIRMPC)\mul_2exp.obj \ +$(DIRMPC)\mul_fr.obj \ +$(DIRMPC)\mul_i.obj \ +$(DIRMPC)\mul_si.obj \ +$(DIRMPC)\mul_ui.obj \ +$(DIRMPC)\neg.obj \ +$(DIRMPC)\norm.obj \ +$(DIRMPC)\out_str.obj \ +$(DIRMPC)\proj.obj \ +$(DIRMPC)\random.obj \ +$(DIRMPC)\random2.obj \ +$(DIRMPC)\real.obj \ +$(DIRMPC)\set.obj \ +$(DIRMPC)\set_d_d.obj \ +$(DIRMPC)\set_dfl_prec.obj \ +$(DIRMPC)\set_fr.obj \ +$(DIRMPC)\set_fr_fr.obj \ +$(DIRMPC)\set_prec.obj \ +$(DIRMPC)\set_si_si.obj \ +$(DIRMPC)\set_ui_fr.obj \ +$(DIRMPC)\set_ui_ui.obj \ +$(DIRMPC)\sin.obj \ +$(DIRMPC)\sinh.obj \ +$(DIRMPC)\sqr.obj \ +$(DIRMPC)\sqrt.obj \ +$(DIRMPC)\sub.obj \ +$(DIRMPC)\sub_fr.obj \ +$(DIRMPC)\sub_ui.obj \ +$(DIRMPC)\tan.obj \ +$(DIRMPC)\tanh.obj \ +$(DIRMPC)\uceil_log2.obj \ +$(DIRMPC)\ui_div.obj \ +$(DIRMPC)\ui_ui_sub.obj \ +$(DIRMPC)\urandom.obj \ +$(DIRMPC)\version.obj + + + +CPPLINKOBJECTS = abs.obj \ +add.obj \ +add_fr.obj \ +add_ui.obj \ +arg.obj \ +clear.obj \ +cmp.obj \ +cmp_si_si.obj \ +conj.obj \ +cos.obj \ +cosh.obj \ +div.obj \ +div_2exp.obj \ +div_fr.obj \ +div_ui.obj \ +exp.obj \ +fr_div.obj \ +fr_sub.obj \ +get_prec.obj \ +get_prec2.obj \ +imag.obj \ +init.obj \ +init2.obj \ +init3.obj \ +inp_str.obj \ +log.obj \ +mul.obj \ +mul_2exp.obj \ +mul_fr.obj \ +mul_i.obj \ +mul_si.obj \ +mul_ui.obj \ +neg.obj \ +norm.obj \ +out_str.obj \ +proj.obj \ +random.obj \ +random2.obj \ +real.obj \ +set.obj \ +set_d_d.obj \ +set_dfl_prec.obj \ +set_fr.obj \ +set_fr_fr.obj \ +set_prec.obj \ +set_si_si.obj \ +set_ui_fr.obj \ +set_ui_ui.obj \ +sin.obj \ +sinh.obj \ +sqr.obj \ +sqrt.obj \ +sub.obj \ +sub_fr.obj \ +sub_ui.obj \ +tan.obj \ +tanh.obj \ +uceil_log2.obj \ +ui_div.obj \ +ui_ui_sub.obj \ +urandom.obj \ +version.obj + +# +# Link target: automatically builds its object dependencies before +# executing its link command. +# + +$(LIBRARY): $(DIRMPC)config.h $(CPPOBJECTS) + link.exe /DLL /out:$@ $(CPPLINKOBJECTS) /LIBPATH:"$(GMPDIR)\lib" libmpfr.lib libgmp.lib + +$(DIRMPC)config.h : + echo #define PACKAGE_STRING "mpc" >$(DIRMPC)config.h + echo #define PACKAGE_VERSION "$(VERSION)" >>$(DIRMPC)config.h + echo #define STDC_HEADERS 1 >>$(DIRMPC)config.h + + +# +# Clean target: "nmake /f Makefile.vc clean" to remove unwanted +# objects and executables. +# + +clean: + del *.obj $(CPPLINKOBJECTS) $(LIBRARY) *.tlh $(DIRMPC)config.h *.dll *.lib *.exe + + + +# +# install target: "nmake /f Makefile.vc install DESTDIR=xxx" to perform the installation. +# + +install: + -mkdir $(DESTDIR) + -mkdir $(DESTDIR)\include + copy $(DIRMPC)mpc.h $(DESTDIR)\include + -mkdir $(DESTDIR)\lib + copy $(LIBRARY) $(DESTDIR)\lib + copy $(LIBRARYLIB) $(DESTDIR)\lib + +# +# install target: "nmake /f Makefile.vc check GMPDIR=xxx MPFRDIR=xxx" to perform the installation. +# +check : test +test : + copy $(GMPDIR)\lib\*gmp*.dll $(DIRMPCTESTS) + copy $(MPFRDIR)\lib\*mpfr*.dll $(DIRMPCTESTS) + copy $(LIBRARY) $(DIRMPCTESTS) + $(TESTCOMPILE)tabs.c $(MIDTESTCOMPILE)tabs.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tabs.exe && cd .. + $(TESTCOMPILE)tadd.c $(MIDTESTCOMPILE)tadd.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tadd.exe && cd .. + $(TESTCOMPILE)tadd_fr.c $(MIDTESTCOMPILE)tadd_fr.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tadd_fr.exe && cd .. + $(TESTCOMPILE)tadd_ui.c $(MIDTESTCOMPILE)tadd_ui.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tadd_ui.exe && cd .. + $(TESTCOMPILE)targ.c $(MIDTESTCOMPILE)targ.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && targ.exe && cd .. + $(TESTCOMPILE)tconj.c $(MIDTESTCOMPILE)tconj.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tconj.exe && cd .. + $(TESTCOMPILE)tcos.c $(MIDTESTCOMPILE)tcos.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tcos.exe && cd .. + $(TESTCOMPILE)tcosh.c $(MIDTESTCOMPILE)tcosh.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tcosh.exe && cd .. + $(TESTCOMPILE)tdiv.c $(MIDTESTCOMPILE)tdiv.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tdiv.exe && cd .. + $(TESTCOMPILE)tdiv_2exp.c $(MIDTESTCOMPILE)tdiv_2exp.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tdiv_2exp.exe && cd .. + $(TESTCOMPILE)tdiv_fr.c $(MIDTESTCOMPILE)tdiv_fr.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tdiv_fr.exe && cd .. + $(TESTCOMPILE)tdiv_ui.c $(MIDTESTCOMPILE)tdiv_ui.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tdiv_ui.exe && cd .. +# $(TESTCOMPILE)test.c $(MIDTESTCOMPILE)test.exe $(ENDTESTCOMPILE) +# cd $(DIRMPCTESTS) && test.exe && cd .. + $(TESTCOMPILE)texp.c $(MIDTESTCOMPILE)texp.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && texp.exe && cd .. + $(TESTCOMPILE)tfr_div.c $(MIDTESTCOMPILE)tfr_div.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tfr_div.exe && cd .. + $(TESTCOMPILE)tfr_sub.c $(MIDTESTCOMPILE)tfr_sub.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tfr_sub.exe && cd .. + $(TESTCOMPILE)timag.c $(MIDTESTCOMPILE)timag.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && timag.exe && cd .. + $(TESTCOMPILE)tlog.c $(MIDTESTCOMPILE)tlog.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tlog.exe && cd .. +# $(TESTCOMPILE)tmul.c $(MIDTESTCOMPILE)tmul.exe $(ENDTESTCOMPILE) +# cd $(DIRMPCTESTS) && tmul.exe && cd .. + $(TESTCOMPILE)tmul_2exp.c $(MIDTESTCOMPILE)tmul_2exp.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tmul_2exp.exe && cd .. + $(TESTCOMPILE)tmul_fr.c $(MIDTESTCOMPILE)tmul_fr.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tmul_fr.exe && cd .. + $(TESTCOMPILE)tmul_i.c $(MIDTESTCOMPILE)tmul_i.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tmul_i.exe && cd .. + $(TESTCOMPILE)tmul_si.c $(MIDTESTCOMPILE)tmul_si.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tmul_si.exe && cd .. + $(TESTCOMPILE)tmul_ui.c $(MIDTESTCOMPILE)tmul_ui.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tmul_ui.exe && cd .. + $(TESTCOMPILE)tneg.c $(MIDTESTCOMPILE)tneg.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tneg.exe && cd .. + $(TESTCOMPILE)tnorm.c $(MIDTESTCOMPILE)tnorm.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tnorm.exe && cd .. + $(TESTCOMPILE)tproj.c $(MIDTESTCOMPILE)tproj.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tproj.exe && cd .. + $(TESTCOMPILE)treal.c $(MIDTESTCOMPILE)treal.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && treal.exe && cd .. + $(TESTCOMPILE)tsin.c $(MIDTESTCOMPILE)tsin.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tsin.exe && cd .. + $(TESTCOMPILE)tsinh.c $(MIDTESTCOMPILE)tsinh.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tsinh.exe && cd .. + $(TESTCOMPILE)tsqr.c $(MIDTESTCOMPILE)tsqr.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tsqr.exe && cd .. + $(TESTCOMPILE)tsqrt.c $(MIDTESTCOMPILE)tsqrt.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tsqrt.exe && cd .. + $(TESTCOMPILE)tsub.c $(MIDTESTCOMPILE)tsub.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tsub.exe && cd .. + $(TESTCOMPILE)tsub_fr.c $(MIDTESTCOMPILE)tsub_fr.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tsub_fr.exe && cd .. + $(TESTCOMPILE)tsub_ui.c $(MIDTESTCOMPILE)tsub_ui.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tsub_ui.exe && cd .. + $(TESTCOMPILE)ttan.c $(MIDTESTCOMPILE)ttan.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && ttan.exe && cd .. + $(TESTCOMPILE)ttanh.c $(MIDTESTCOMPILE)ttanh.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && ttanh.exe && cd .. + $(TESTCOMPILE)tui_div.c $(MIDTESTCOMPILE)tui_div.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tui_div.exe && cd .. + $(TESTCOMPILE)tui_ui_sub.c $(MIDTESTCOMPILE)tui_ui_sub.exe $(ENDTESTCOMPILE) + cd $(DIRMPCTESTS) && tui_ui_sub.exe && cd .. + @echo -------------------------------------------------- + @echo All tests passed + @echo -------------------------------------------------- + -- cgit v1.2.1