# Makefile for the MPC library (Windows version). # # Copyright (C) INRIA - CNRS, 2002, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013 # # 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 STATIC=0|1 GMPDIR=gmpdirectory MPFRDIR=mpfrdirectory # compile MPC # # nmake /f Makefile.vc STATIC=0|1 install GMPDIR=gmpdirectory MPFRDIR=mpfrdirectory DESTDIR=installdirectory # install MPC to installdirectory # # nmake /f Makefile.vc STATIC=0|1 check GMPDIR=gmpdirectory MPFRDIR=mpfrdirectory # perform tests on MPC # # GMPDIR : specify the location where GMP is installed # MPFRDIR : specify the location where MPFR is installed # DESTDIR : specify the location where MPC will be installed # STATIC : specify if a static or dynamic library of MPC will be created # STATIC=1 : build a static library # STATIC=0 : build a dynamic library (DLL) # A dynamic library is created by default if STATIC is omitted (STATIC=0) # ENABLELOGGING : specify if MPC functions calls are logged # ENABLELOGGING=1 : MPC functions calls are logged # ENABLELOGGING=0 : MPC functions calls are not logged (default) # Functions calls are not logged by default if ENABLELOGGING is omitted (ENABLELOGGING=0) CPP = cl.exe CC = cl.exe CDEFAULTFLAGS=/O2 /GR- /MD /nologo /EHs VERSION=1.1dev ######################## do not edit below this line ########################## DIRMPC=.\src DIRMPCTESTS=.\tests\\ !if "$(STATIC)" == "0" LIBRARY = libmpc.dll LINKER = link.exe /DLL GMPMUSTBEDLL=/D__GMP_LIBGMP_DLL !else LIBRARY = libmpc.lib LINKER = lib.exe GMPMUSTBEDLL= !endif #check for logging. if yes then add logging.c to the library !if "$(ENABLELOGGING)" == "1" CPPOBJECTS_LOGGING = $(DIRMPC)\logging.obj CPPLINKOBJECTS_LOGGING = logging.obj LIBS_LOGGING = kernel32.lib !else CPPOBJECTS_LOGGING = CPPLINKOBJECTS_LOGGING = LIBS_LOGGING = !endif INCLUDES = /I$(DIRMPC) /I$(GMPDIR)\include /I$(MPFR)\include CKERNELFLAGS = $(CDEFAULTFLAGS) $(GMPMUSTBEDLL) $(INCLUDES) CFLAGS = $(CKERNELFLAGS) /D__MPC_WITHIN_MPC /D_GMP_IEEE_FLOATS /DHAVE_CONFIG_H TESTSSOURCES=$(DIRMPCTESTS)\check_data.c $(DIRMPCTESTS)\clear_parameters.c \ $(DIRMPCTESTS)\close_datafile.c $(DIRMPCTESTS)\comparisons.c $(DIRMPCTESTS)\copy_parameter.c $(DIRMPCTESTS)\double_rounding.c \ $(DIRMPCTESTS)\init_parameters.c $(DIRMPCTESTS)\mpfr_flags.c $(DIRMPCTESTS)\open_datafile.c $(DIRMPCTESTS)\print_parameter.c \ $(DIRMPCTESTS)\random.c $(DIRMPCTESTS)\read_data.c $(DIRMPCTESTS)\read_description.c $(DIRMPCTESTS)\read_line.c $(DIRMPCTESTS)\rounding.c \ $(DIRMPCTESTS)\setprec_parameters.c $(DIRMPCTESTS)\tpl_gmp.c $(DIRMPCTESTS)\tpl_mpc.c $(DIRMPCTESTS)\tpl_mpfr.c $(DIRMPCTESTS)\tpl_native.c TESTCOMPILE=$(CC) $(CKERNELFLAGS) $(TESTSSOURCES) $(DIRMPCTESTS) MIDTESTCOMPILE=/link /out:$(DIRMPCTESTS) ENDTESTCOMPILE=/LIBPATH:"$(DIRMPCTESTS)" libmpc.lib /LIBPATH:"$(GMPDIR)\lib" libmpfr.lib libgmp.lib $(LIBS_LOGGING) #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 t*.c | sed "s/\.c//" | grep -v comparisons | grep -v read_data | grep -v random | awk ' { printf("\t$(TESTCOMPILE)%s.c $(MIDTESTCOMPILE)%s.exe $(ENDTESTCOMPILE)\n\tcd $(DIRMPCTESTS) && %s.exe && cd ..\n",$1,$1,$1,$1); } ' LIBRARYLIB = libmpc.lib CPPOBJECTS =$(DIRMPC)\abs.obj \ $(DIRMPC)\acos.obj \ $(DIRMPC)\acosh.obj \ $(DIRMPC)\add.obj \ $(DIRMPC)\add_fr.obj \ $(DIRMPC)\add_si.obj \ $(DIRMPC)\add_ui.obj \ $(DIRMPC)\arg.obj \ $(DIRMPC)\asin.obj \ $(DIRMPC)\asinh.obj \ $(DIRMPC)\atan.obj \ $(DIRMPC)\atanh.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_2ui.obj \ $(DIRMPC)\div_fr.obj \ $(DIRMPC)\div_ui.obj \ $(DIRMPC)\exp.obj \ $(DIRMPC)\fma.obj \ $(DIRMPC)\fr_div.obj \ $(DIRMPC)\fr_sub.obj \ $(DIRMPC)\get_prec.obj \ $(DIRMPC)\get_prec2.obj \ $(DIRMPC)\get_version.obj \ $(DIRMPC)\get_x.obj \ $(DIRMPC)\imag.obj \ $(DIRMPC)\init2.obj \ $(DIRMPC)\init3.obj \ $(DIRMPC)\inp_str.obj \ $(DIRMPC)\log.obj \ $(DIRMPC)\log10.obj \ $(DIRMPC)\mem.obj \ $(DIRMPC)\mul.obj \ $(DIRMPC)\mul_2ui.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)\pow.obj \ $(DIRMPC)\pow_d.obj \ $(DIRMPC)\pow_fr.obj \ $(DIRMPC)\pow_ld.obj \ $(DIRMPC)\pow_si.obj \ $(DIRMPC)\pow_ui.obj \ $(DIRMPC)\pow_z.obj \ $(DIRMPC)\proj.obj \ $(DIRMPC)\real.obj \ $(DIRMPC)\set.obj \ $(DIRMPC)\set_prec.obj \ $(DIRMPC)\set_str.obj \ $(DIRMPC)\set_x.obj \ $(DIRMPC)\set_x_x.obj \ $(DIRMPC)\sin.obj \ $(DIRMPC)\sin_cos.obj \ $(DIRMPC)\sinh.obj \ $(DIRMPC)\sqr.obj \ $(DIRMPC)\sqrt.obj \ $(DIRMPC)\strtoc.obj \ $(DIRMPC)\sub.obj \ $(DIRMPC)\sub_fr.obj \ $(DIRMPC)\sub_ui.obj \ $(DIRMPC)\swap.obj \ $(DIRMPC)\tan.obj \ $(DIRMPC)\tanh.obj \ $(DIRMPC)\uceil_log2.obj \ $(DIRMPC)\ui_div.obj \ $(DIRMPC)\ui_ui_sub.obj $(CPPOBJECTS_LOGGING) \ $(DIRMPC)\urandom.obj CPPLINKOBJECTS = abs.obj \ acos.obj \ acosh.obj \ add.obj \ add_fr.obj \ add_si.obj \ add_ui.obj \ arg.obj \ asin.obj \ asinh.obj \ atan.obj \ atanh.obj \ clear.obj \ cmp.obj \ cmp_si_si.obj \ conj.obj \ cos.obj \ cosh.obj \ div.obj \ div_2ui.obj \ div_fr.obj \ div_ui.obj \ exp.obj \ fma.obj \ fr_div.obj \ fr_sub.obj \ get_prec.obj \ get_prec2.obj \ get_version.obj \ get_x.obj \ imag.obj \ init2.obj \ init3.obj \ inp_str.obj \ log.obj \ log10.obj \ mem.obj \ mul.obj \ mul_2ui.obj \ mul_fr.obj \ mul_i.obj \ mul_si.obj \ mul_ui.obj \ neg.obj \ norm.obj \ out_str.obj \ pow.obj \ pow_d.obj \ pow_fr.obj \ pow_ld.obj \ pow_si.obj \ pow_ui.obj \ pow_z.obj \ proj.obj \ real.obj \ set.obj \ set_prec.obj \ set_str.obj \ set_x.obj \ set_x_x.obj \ sin.obj \ sin_cos.obj \ sinh.obj \ sqr.obj \ sqrt.obj \ strtoc.obj \ sub.obj \ sub_fr.obj \ sub_ui.obj \ swap.obj \ tan.obj \ tanh.obj \ uceil_log2.obj \ ui_div.obj \ ui_ui_sub.obj $(CPPLINKOBJECTS_LOGGING) \ urandom.obj # # Link target: automatically builds its object dependencies before # executing its link command. # $(LIBRARY): $(DIRMPC)config.h $(CPPOBJECTS) $(LINKER) /out:$@ $(CPPLINKOBJECTS) /LIBPATH:"$(GMPDIR)\lib" libmpfr.lib libgmp.lib $(LIBS_LOGGING) $(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 echo #define dlsym(handle, name) GetProcAddress(GetModuleHandle(handle), name) >>$(DIRMPC)\config.h echo #include "windows.h" >>$(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: $(LIBRARY) -mkdir $(DESTDIR) -mkdir $(DESTDIR)\include copy $(DIRMPC)\mpc.h $(DESTDIR)\include -mkdir $(DESTDIR)\lib copy $(LIBRARY) $(DESTDIR)\lib copy $(LIBRARYLIB) $(DESTDIR)\lib # # check 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)tacos.c $(MIDTESTCOMPILE)tacos.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tacos.exe && cd .. $(TESTCOMPILE)tacosh.c $(MIDTESTCOMPILE)tacosh.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tacosh.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_si.c $(MIDTESTCOMPILE)tadd_si.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tadd_si.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)tasin.c $(MIDTESTCOMPILE)tasin.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tasin.exe && cd .. $(TESTCOMPILE)tasinh.c $(MIDTESTCOMPILE)tasinh.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tasinh.exe && cd .. $(TESTCOMPILE)tatan.c $(MIDTESTCOMPILE)tatan.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tatan.exe && cd .. $(TESTCOMPILE)tatanh.c $(MIDTESTCOMPILE)tatanh.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tatanh.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_2ui.c $(MIDTESTCOMPILE)tdiv_2ui.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tdiv_2ui.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)texp.c $(MIDTESTCOMPILE)texp.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && texp.exe && cd .. $(TESTCOMPILE)tfma.c $(MIDTESTCOMPILE)tfma.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tfma.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)tget_version.c $(MIDTESTCOMPILE)tget_version.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tget_version.exe && cd .. $(TESTCOMPILE)timag.c $(MIDTESTCOMPILE)timag.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && timag.exe && cd .. $(TESTCOMPILE)tio_str.c $(MIDTESTCOMPILE)tio_str.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tio_str.exe && cd .. $(TESTCOMPILE)tlog.c $(MIDTESTCOMPILE)tlog.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tlog.exe && cd .. $(TESTCOMPILE)tlog10.c $(MIDTESTCOMPILE)tlog10.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tlog10.exe && cd .. $(TESTCOMPILE)tmul.c $(MIDTESTCOMPILE)tmul.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tmul.exe && cd .. $(TESTCOMPILE)tmul_2si.c $(MIDTESTCOMPILE)tmul_2si.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tmul_2si.exe && cd .. $(TESTCOMPILE)tmul_2ui.c $(MIDTESTCOMPILE)tmul_2ui.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tmul_2ui.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)tpow.c $(MIDTESTCOMPILE)tpow.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tpow.exe && cd .. $(TESTCOMPILE)tpow_d.c $(MIDTESTCOMPILE)tpow_d.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tpow_d.exe && cd .. $(TESTCOMPILE)tpow_fr.c $(MIDTESTCOMPILE)tpow_fr.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tpow_fr.exe && cd .. $(TESTCOMPILE)tpow_ld.c $(MIDTESTCOMPILE)tpow_ld.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tpow_ld.exe && cd .. $(TESTCOMPILE)tpow_si.c $(MIDTESTCOMPILE)tpow_si.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tpow_si.exe && cd .. $(TESTCOMPILE)tpow_ui.c $(MIDTESTCOMPILE)tpow_ui.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tpow_ui.exe && cd .. $(TESTCOMPILE)tpow_z.c $(MIDTESTCOMPILE)tpow_z.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tpow_z.exe && cd .. $(TESTCOMPILE)tprec.c $(MIDTESTCOMPILE)tprec.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tprec.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)treimref.c $(MIDTESTCOMPILE)treimref.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && treimref.exe && cd .. $(TESTCOMPILE)tset.c $(MIDTESTCOMPILE)tset.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tset.exe && cd .. $(TESTCOMPILE)tsin.c $(MIDTESTCOMPILE)tsin.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tsin.exe && cd .. $(TESTCOMPILE)tsin_cos.c $(MIDTESTCOMPILE)tsin_cos.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tsin_cos.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)tstrtoc.c $(MIDTESTCOMPILE)tstrtoc.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tstrtoc.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)tswap.c $(MIDTESTCOMPILE)tswap.exe $(ENDTESTCOMPILE) cd $(DIRMPCTESTS) && tswap.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 --------------------------------------------------