xref: /netbsd-src/external/lgpl3/mpc/dist/Makefile.vc (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
1# Makefile for the MPC library (Windows version).
2#
3# Copyright (C) INRIA - CNRS, 2002, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2016, 2017, 2018, 2020
4#
5# This file is part of the MPC Library.
6#
7# The MPC 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 MPC 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 MPC 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# usage:
24#  nmake /f Makefile.vc clean
25#       clean the temporaries objects
26#
27#  nmake /f Makefile.vc  STATIC=0|1 GMPDIR=gmpdirectory MPFRDIR=mpfrdirectory
28#      compile MPC
29#
30#  nmake /f Makefile.vc  STATIC=0|1 install GMPDIR=gmpdirectory MPFRDIR=mpfrdirectory  DESTDIR=installdirectory
31#      install MPC to installdirectory
32#
33#  nmake /f Makefile.vc  STATIC=0|1 check GMPDIR=gmpdirectory MPFRDIR=mpfrdirectory
34#      perform tests on MPC
35#
36#  GMPDIR : specify the location where GMP is installed
37#  MPFRDIR : specify the location where MPFR is installed
38#  DESTDIR : specify the location where MPC will be installed
39#  STATIC  : specify if a static or dynamic library of MPC will be created
40#            STATIC=1  : build a static library
41#            STATIC=0  : build a dynamic library (DLL)
42#            A dynamic library is created by default if STATIC is omitted (STATIC=0)
43#  ENABLELOGGING  : specify if MPC functions calls are logged
44#            ENABLELOGGING=1  : MPC functions calls are logged
45#            ENABLELOGGING=0  : MPC functions calls are not logged (default)
46#            Functions calls are not logged by default if ENABLELOGGING is omitted (ENABLELOGGING=0)
47
48
49CPP = cl.exe
50CC = cl.exe
51CDEFAULTFLAGS=/O2 /GR- /MD /nologo /EHs
52
53VERSION=1.2.1
54
55######################## do not edit below this line ##########################
56
57DIRMPC=.\src
58DIRMPCTESTS=.\tests\\
59
60!if "$(STATIC)" == "0"
61LIBRARY = libmpc.dll
62LINKER = link.exe /DLL
63GMPMUSTBEDLL=/D__GMP_LIBGMP_DLL
64!else
65LIBRARY = libmpc.lib
66LINKER = lib.exe
67GMPMUSTBEDLL=
68!endif
69
70#check for logging. if yes then add logging.c to the library
71!if "$(ENABLELOGGING)" == "1"
72CPPOBJECTS_LOGGING = $(DIRMPC)\logging.obj
73CPPLINKOBJECTS_LOGGING = logging.obj
74LIBS_LOGGING = kernel32.lib
75!else
76CPPOBJECTS_LOGGING =
77CPPLINKOBJECTS_LOGGING =
78LIBS_LOGGING =
79!endif
80
81
82INCLUDES = /I$(DIRMPC) /I$(GMPDIR)\include  /I$(MPFR)\include
83CKERNELFLAGS = $(CDEFAULTFLAGS) $(GMPMUSTBEDLL)   $(INCLUDES)
84CFLAGS = $(CKERNELFLAGS)  /D__MPC_WITHIN_MPC /D_GMP_IEEE_FLOATS /DHAVE_CONFIG_H
85
86TESTSSOURCES=$(DIRMPCTESTS)\check_data.c $(DIRMPCTESTS)\clear_parameters.c	\
87  $(DIRMPCTESTS)\close_datafile.c $(DIRMPCTESTS)\comparisons.c $(DIRMPCTESTS)\copy_parameter.c $(DIRMPCTESTS)\double_rounding.c	\
88  $(DIRMPCTESTS)\init_parameters.c $(DIRMPCTESTS)\mpfr_flags.c $(DIRMPCTESTS)\open_datafile.c $(DIRMPCTESTS)\print_parameter.c	\
89  $(DIRMPCTESTS)\random.c $(DIRMPCTESTS)\read_data.c $(DIRMPCTESTS)\read_description.c $(DIRMPCTESTS)\read_line.c $(DIRMPCTESTS)\rounding.c	\
90  $(DIRMPCTESTS)\setprec_parameters.c $(DIRMPCTESTS)\tpl_gmp.c $(DIRMPCTESTS)\tpl_mpc.c $(DIRMPCTESTS)\tpl_mpfr.c $(DIRMPCTESTS)\tpl_native.c
91
92TESTCOMPILE=$(CC) $(CKERNELFLAGS) $(TESTSSOURCES) $(DIRMPCTESTS)
93MIDTESTCOMPILE=/link  /out:$(DIRMPCTESTS)
94ENDTESTCOMPILE=/LIBPATH:"$(DIRMPCTESTS)" libmpc.lib  /LIBPATH:"$(GMPDIR)\lib" libmpfr.lib libgmp.lib $(LIBS_LOGGING)
95
96
97#generate the CPPOBJECTS : goto src and execute
98# ls *.c | sed "s/\.c/\.obj/" | awk ' { printf("$(DIRMPC)\\%s \\\n",$1); } '
99#generate the CPPLINKOBJECTS : goto src and execute
100# ls *.c | sed "s/\.c/\.obj/" | awk ' { printf("%s \\\n",$1); } '
101#generate the list for tests : goto tests and execute
102# 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); } '
103
104LIBRARYLIB = libmpc.lib
105
106CPPOBJECTS =$(DIRMPC)\abs.obj \
107$(DIRMPC)\acos.obj \
108$(DIRMPC)\acosh.obj \
109$(DIRMPC)\add.obj \
110$(DIRMPC)\add_fr.obj \
111$(DIRMPC)\add_si.obj \
112$(DIRMPC)\add_ui.obj \
113$(DIRMPC)\arg.obj \
114$(DIRMPC)\asin.obj \
115$(DIRMPC)\asinh.obj \
116$(DIRMPC)\atan.obj \
117$(DIRMPC)\atanh.obj \
118$(DIRMPC)\clear.obj \
119$(DIRMPC)\cmp.obj \
120$(DIRMPC)\cmp_abs.obj \
121$(DIRMPC)\cmp_si_si.obj \
122$(DIRMPC)\conj.obj \
123$(DIRMPC)\cos.obj \
124$(DIRMPC)\cosh.obj \
125$(DIRMPC)\div.obj \
126$(DIRMPC)\div_2ui.obj \
127$(DIRMPC)\div_fr.obj \
128$(DIRMPC)\div_ui.obj \
129$(DIRMPC)\exp.obj \
130$(DIRMPC)\fma.obj \
131$(DIRMPC)\fr_div.obj \
132$(DIRMPC)\fr_sub.obj \
133$(DIRMPC)\get_prec.obj \
134$(DIRMPC)\get_prec2.obj \
135$(DIRMPC)\get_version.obj \
136$(DIRMPC)\get_x.obj \
137$(DIRMPC)\imag.obj \
138$(DIRMPC)\init2.obj \
139$(DIRMPC)\init3.obj \
140$(DIRMPC)\inp_str.obj \
141$(DIRMPC)\log.obj \
142$(DIRMPC)\log10.obj \
143$(DIRMPC)\mem.obj \
144$(DIRMPC)\mul.obj \
145$(DIRMPC)\mul_2ui.obj \
146$(DIRMPC)\mul_fr.obj \
147$(DIRMPC)\mul_i.obj \
148$(DIRMPC)\mul_si.obj \
149$(DIRMPC)\mul_ui.obj \
150$(DIRMPC)\neg.obj \
151$(DIRMPC)\norm.obj \
152$(DIRMPC)\out_str.obj \
153$(DIRMPC)\pow.obj \
154$(DIRMPC)\pow_d.obj \
155$(DIRMPC)\pow_fr.obj \
156$(DIRMPC)\pow_ld.obj \
157$(DIRMPC)\pow_si.obj \
158$(DIRMPC)\pow_ui.obj \
159$(DIRMPC)\pow_z.obj \
160$(DIRMPC)\proj.obj \
161$(DIRMPC)\real.obj \
162$(DIRMPC)\rootofunity.obj \
163$(DIRMPC)\set.obj \
164$(DIRMPC)\set_prec.obj \
165$(DIRMPC)\set_str.obj \
166$(DIRMPC)\set_x.obj \
167$(DIRMPC)\set_x_x.obj \
168$(DIRMPC)\sin.obj \
169$(DIRMPC)\sin_cos.obj \
170$(DIRMPC)\sinh.obj \
171$(DIRMPC)\sqr.obj \
172$(DIRMPC)\sqrt.obj \
173$(DIRMPC)\strtoc.obj \
174$(DIRMPC)\sub.obj \
175$(DIRMPC)\sub_fr.obj \
176$(DIRMPC)\sub_ui.obj \
177$(DIRMPC)\swap.obj \
178$(DIRMPC)\tan.obj \
179$(DIRMPC)\tanh.obj \
180$(DIRMPC)\uceil_log2.obj \
181$(DIRMPC)\ui_div.obj \
182$(DIRMPC)\ui_ui_sub.obj $(CPPOBJECTS_LOGGING) \
183$(DIRMPC)\urandom.obj
184
185CPPLINKOBJECTS = abs.obj \
186acos.obj \
187acosh.obj \
188add.obj \
189add_fr.obj \
190add_si.obj \
191add_ui.obj \
192arg.obj \
193asin.obj \
194asinh.obj \
195atan.obj \
196atanh.obj \
197clear.obj \
198cmp.obj \
199cmp_abs.obj \
200cmp_si_si.obj \
201conj.obj \
202cos.obj \
203cosh.obj \
204div.obj \
205div_2ui.obj \
206div_fr.obj \
207div_ui.obj \
208exp.obj \
209fma.obj \
210fr_div.obj \
211fr_sub.obj \
212get_prec.obj \
213get_prec2.obj \
214get_version.obj \
215get_x.obj \
216imag.obj \
217init2.obj \
218init3.obj \
219inp_str.obj \
220log.obj \
221log10.obj \
222mem.obj \
223mul.obj \
224mul_2ui.obj \
225mul_fr.obj \
226mul_i.obj \
227mul_si.obj \
228mul_ui.obj \
229neg.obj \
230norm.obj \
231out_str.obj \
232pow.obj \
233pow_d.obj \
234pow_fr.obj \
235pow_ld.obj \
236pow_si.obj \
237pow_ui.obj \
238pow_z.obj \
239proj.obj \
240real.obj \
241rootofunity.obj \
242set.obj \
243set_prec.obj \
244set_str.obj \
245set_x.obj \
246set_x_x.obj \
247sin.obj \
248sin_cos.obj \
249sinh.obj \
250sqr.obj \
251sqrt.obj \
252strtoc.obj \
253sub.obj \
254sub_fr.obj \
255sub_ui.obj \
256swap.obj \
257tan.obj \
258tanh.obj \
259uceil_log2.obj \
260ui_div.obj \
261ui_ui_sub.obj $(CPPLINKOBJECTS_LOGGING)  \
262urandom.obj
263
264#
265# Link target: automatically builds its object dependencies before
266# executing its link command.
267#
268
269$(LIBRARY): $(DIRMPC)config.h $(CPPOBJECTS)
270	$(LINKER) /out:$@ $(CPPLINKOBJECTS) /LIBPATH:"$(GMPDIR)\lib" libmpfr.lib libgmp.lib $(LIBS_LOGGING)
271
272$(DIRMPC)config.h :
273	echo #define PACKAGE_STRING "mpc"           >$(DIRMPC)\config.h
274	echo #define PACKAGE_VERSION "$(VERSION)"   >>$(DIRMPC)\config.h
275	echo #define STDC_HEADERS 1                 >>$(DIRMPC)\config.h
276	echo #define dlsym(handle, name) GetProcAddress(GetModuleHandle(handle), name)   >>$(DIRMPC)\config.h
277	echo #include "windows.h"   >>$(DIRMPC)\config.h
278
279
280#
281# Clean target: "nmake /f Makefile.vc clean" to remove unwanted
282#               objects and executables.
283#
284
285clean:
286	del *.obj $(CPPLINKOBJECTS) $(LIBRARY) *.tlh  $(DIRMPC)config.h *.dll *.lib *.exe
287
288
289
290#
291# install target: "nmake /f Makefile.vc install DESTDIR=xxx" to perform the installation.
292#
293
294install: $(LIBRARY)
295	-mkdir $(DESTDIR)
296	-mkdir $(DESTDIR)\include
297	copy $(DIRMPC)\mpc.h $(DESTDIR)\include
298	-mkdir $(DESTDIR)\lib
299	copy $(LIBRARY) $(DESTDIR)\lib
300	copy $(LIBRARYLIB) $(DESTDIR)\lib
301
302#
303# check target: "nmake /f Makefile.vc check GMPDIR=xxx MPFRDIR=xxx" to perform the installation.
304#
305check : test
306test :
307	-copy $(GMPDIR)\lib\*gmp*.dll $(DIRMPCTESTS)
308	-copy $(MPFRDIR)\lib\*mpfr*.dll $(DIRMPCTESTS)
309	copy $(LIBRARY)  $(DIRMPCTESTS)
310	$(TESTCOMPILE)tabs.c  $(MIDTESTCOMPILE)tabs.exe $(ENDTESTCOMPILE)
311	cd $(DIRMPCTESTS) && tabs.exe && cd ..
312	$(TESTCOMPILE)tacos.c  $(MIDTESTCOMPILE)tacos.exe $(ENDTESTCOMPILE)
313	cd $(DIRMPCTESTS) && tacos.exe && cd ..
314	$(TESTCOMPILE)tacosh.c  $(MIDTESTCOMPILE)tacosh.exe $(ENDTESTCOMPILE)
315	cd $(DIRMPCTESTS) && tacosh.exe && cd ..
316	$(TESTCOMPILE)tadd.c  $(MIDTESTCOMPILE)tadd.exe $(ENDTESTCOMPILE)
317	cd $(DIRMPCTESTS) && tadd.exe && cd ..
318	$(TESTCOMPILE)tadd_fr.c  $(MIDTESTCOMPILE)tadd_fr.exe $(ENDTESTCOMPILE)
319	cd $(DIRMPCTESTS) && tadd_fr.exe && cd ..
320	$(TESTCOMPILE)tadd_si.c  $(MIDTESTCOMPILE)tadd_si.exe $(ENDTESTCOMPILE)
321	cd $(DIRMPCTESTS) && tadd_si.exe && cd ..
322	$(TESTCOMPILE)tadd_ui.c  $(MIDTESTCOMPILE)tadd_ui.exe $(ENDTESTCOMPILE)
323	cd $(DIRMPCTESTS) && tadd_ui.exe && cd ..
324	$(TESTCOMPILE)targ.c  $(MIDTESTCOMPILE)targ.exe $(ENDTESTCOMPILE)
325	cd $(DIRMPCTESTS) && targ.exe && cd ..
326	$(TESTCOMPILE)tasin.c  $(MIDTESTCOMPILE)tasin.exe $(ENDTESTCOMPILE)
327	cd $(DIRMPCTESTS) && tasin.exe && cd ..
328	$(TESTCOMPILE)tasinh.c  $(MIDTESTCOMPILE)tasinh.exe $(ENDTESTCOMPILE)
329	cd $(DIRMPCTESTS) && tasinh.exe && cd ..
330	$(TESTCOMPILE)tatan.c  $(MIDTESTCOMPILE)tatan.exe $(ENDTESTCOMPILE)
331	cd $(DIRMPCTESTS) && tatan.exe && cd ..
332	$(TESTCOMPILE)tatanh.c  $(MIDTESTCOMPILE)tatanh.exe $(ENDTESTCOMPILE)
333	cd $(DIRMPCTESTS) && tatanh.exe && cd ..
334	$(TESTCOMPILE)tcmp_abs.c  $(MIDTESTCOMPILE)tcmp_abs.exe $(ENDTESTCOMPILE)
335	cd $(DIRMPCTESTS) && tcmp_abs.exe && cd ..
336	$(TESTCOMPILE)tconj.c  $(MIDTESTCOMPILE)tconj.exe $(ENDTESTCOMPILE)
337	cd $(DIRMPCTESTS) && tconj.exe && cd ..
338	$(TESTCOMPILE)tcos.c  $(MIDTESTCOMPILE)tcos.exe $(ENDTESTCOMPILE)
339	cd $(DIRMPCTESTS) && tcos.exe && cd ..
340	$(TESTCOMPILE)tcosh.c  $(MIDTESTCOMPILE)tcosh.exe $(ENDTESTCOMPILE)
341	cd $(DIRMPCTESTS) && tcosh.exe && cd ..
342	$(TESTCOMPILE)tdiv.c  $(MIDTESTCOMPILE)tdiv.exe $(ENDTESTCOMPILE)
343	cd $(DIRMPCTESTS) && tdiv.exe && cd ..
344	$(TESTCOMPILE)tdiv_2ui.c  $(MIDTESTCOMPILE)tdiv_2ui.exe $(ENDTESTCOMPILE)
345	cd $(DIRMPCTESTS) && tdiv_2ui.exe && cd ..
346	$(TESTCOMPILE)tdiv_fr.c  $(MIDTESTCOMPILE)tdiv_fr.exe $(ENDTESTCOMPILE)
347	cd $(DIRMPCTESTS) && tdiv_fr.exe && cd ..
348	$(TESTCOMPILE)tdiv_ui.c  $(MIDTESTCOMPILE)tdiv_ui.exe $(ENDTESTCOMPILE)
349	cd $(DIRMPCTESTS) && tdiv_ui.exe && cd ..
350	$(TESTCOMPILE)texp.c  $(MIDTESTCOMPILE)texp.exe $(ENDTESTCOMPILE)
351	cd $(DIRMPCTESTS) && texp.exe && cd ..
352	$(TESTCOMPILE)tfma.c  $(MIDTESTCOMPILE)tfma.exe $(ENDTESTCOMPILE)
353	cd $(DIRMPCTESTS) && tfma.exe && cd ..
354	$(TESTCOMPILE)tfr_div.c  $(MIDTESTCOMPILE)tfr_div.exe $(ENDTESTCOMPILE)
355	cd $(DIRMPCTESTS) && tfr_div.exe && cd ..
356	$(TESTCOMPILE)tfr_sub.c  $(MIDTESTCOMPILE)tfr_sub.exe $(ENDTESTCOMPILE)
357	cd $(DIRMPCTESTS) && tfr_sub.exe && cd ..
358	$(TESTCOMPILE)tget_version.c  $(MIDTESTCOMPILE)tget_version.exe $(ENDTESTCOMPILE)
359	cd $(DIRMPCTESTS) && tget_version.exe && cd ..
360	$(TESTCOMPILE)timag.c  $(MIDTESTCOMPILE)timag.exe $(ENDTESTCOMPILE)
361	cd $(DIRMPCTESTS) && timag.exe && cd ..
362	$(TESTCOMPILE)tio_str.c  $(MIDTESTCOMPILE)tio_str.exe $(ENDTESTCOMPILE)
363	cd $(DIRMPCTESTS) && tio_str.exe && cd ..
364	$(TESTCOMPILE)tlog.c  $(MIDTESTCOMPILE)tlog.exe $(ENDTESTCOMPILE)
365	cd $(DIRMPCTESTS) && tlog.exe && cd ..
366	$(TESTCOMPILE)tlog10.c  $(MIDTESTCOMPILE)tlog10.exe $(ENDTESTCOMPILE)
367	cd $(DIRMPCTESTS) && tlog10.exe && cd ..
368	$(TESTCOMPILE)tmul.c  $(MIDTESTCOMPILE)tmul.exe $(ENDTESTCOMPILE)
369	cd $(DIRMPCTESTS) && tmul.exe && cd ..
370	$(TESTCOMPILE)tmul_2si.c  $(MIDTESTCOMPILE)tmul_2si.exe $(ENDTESTCOMPILE)
371	cd $(DIRMPCTESTS) && tmul_2si.exe && cd ..
372	$(TESTCOMPILE)tmul_2ui.c  $(MIDTESTCOMPILE)tmul_2ui.exe $(ENDTESTCOMPILE)
373	cd $(DIRMPCTESTS) && tmul_2ui.exe && cd ..
374	$(TESTCOMPILE)tmul_fr.c  $(MIDTESTCOMPILE)tmul_fr.exe $(ENDTESTCOMPILE)
375	cd $(DIRMPCTESTS) && tmul_fr.exe && cd ..
376	$(TESTCOMPILE)tmul_i.c  $(MIDTESTCOMPILE)tmul_i.exe $(ENDTESTCOMPILE)
377	cd $(DIRMPCTESTS) && tmul_i.exe && cd ..
378	$(TESTCOMPILE)tmul_si.c  $(MIDTESTCOMPILE)tmul_si.exe $(ENDTESTCOMPILE)
379	cd $(DIRMPCTESTS) && tmul_si.exe && cd ..
380	$(TESTCOMPILE)tmul_ui.c  $(MIDTESTCOMPILE)tmul_ui.exe $(ENDTESTCOMPILE)
381	cd $(DIRMPCTESTS) && tmul_ui.exe && cd ..
382	$(TESTCOMPILE)tneg.c  $(MIDTESTCOMPILE)tneg.exe $(ENDTESTCOMPILE)
383	cd $(DIRMPCTESTS) && tneg.exe && cd ..
384	$(TESTCOMPILE)tnorm.c  $(MIDTESTCOMPILE)tnorm.exe $(ENDTESTCOMPILE)
385	cd $(DIRMPCTESTS) && tnorm.exe && cd ..
386	$(TESTCOMPILE)tpow.c  $(MIDTESTCOMPILE)tpow.exe $(ENDTESTCOMPILE)
387	cd $(DIRMPCTESTS) && tpow.exe && cd ..
388	$(TESTCOMPILE)tpow_d.c  $(MIDTESTCOMPILE)tpow_d.exe $(ENDTESTCOMPILE)
389	cd $(DIRMPCTESTS) && tpow_d.exe && cd ..
390	$(TESTCOMPILE)tpow_fr.c  $(MIDTESTCOMPILE)tpow_fr.exe $(ENDTESTCOMPILE)
391	cd $(DIRMPCTESTS) && tpow_fr.exe && cd ..
392	$(TESTCOMPILE)tpow_ld.c  $(MIDTESTCOMPILE)tpow_ld.exe $(ENDTESTCOMPILE)
393	cd $(DIRMPCTESTS) && tpow_ld.exe && cd ..
394	$(TESTCOMPILE)tpow_si.c  $(MIDTESTCOMPILE)tpow_si.exe $(ENDTESTCOMPILE)
395	cd $(DIRMPCTESTS) && tpow_si.exe && cd ..
396	$(TESTCOMPILE)tpow_ui.c  $(MIDTESTCOMPILE)tpow_ui.exe $(ENDTESTCOMPILE)
397	cd $(DIRMPCTESTS) && tpow_ui.exe && cd ..
398	$(TESTCOMPILE)tpow_z.c  $(MIDTESTCOMPILE)tpow_z.exe $(ENDTESTCOMPILE)
399	cd $(DIRMPCTESTS) && tpow_z.exe && cd ..
400	$(TESTCOMPILE)tprec.c  $(MIDTESTCOMPILE)tprec.exe $(ENDTESTCOMPILE)
401	cd $(DIRMPCTESTS) && tprec.exe && cd ..
402	$(TESTCOMPILE)tproj.c  $(MIDTESTCOMPILE)tproj.exe $(ENDTESTCOMPILE)
403	cd $(DIRMPCTESTS) && tproj.exe && cd ..
404	$(TESTCOMPILE)treal.c  $(MIDTESTCOMPILE)treal.exe $(ENDTESTCOMPILE)
405	cd $(DIRMPCTESTS) && treal.exe && cd ..
406	$(TESTCOMPILE)treimref.c  $(MIDTESTCOMPILE)treimref.exe $(ENDTESTCOMPILE)
407	cd $(DIRMPCTESTS) && treimref.exe && cd ..
408	$(TESTCOMPILE)trootofunity.c  $(MIDTESTCOMPILE)trootofunity.exe $(ENDTESTCOMPILE)
409	cd $(DIRMPCTESTS) && trootofunity.exe && cd ..
410	$(TESTCOMPILE)tset.c  $(MIDTESTCOMPILE)tset.exe $(ENDTESTCOMPILE)
411	cd $(DIRMPCTESTS) && tset.exe && cd ..
412	$(TESTCOMPILE)tsin.c  $(MIDTESTCOMPILE)tsin.exe $(ENDTESTCOMPILE)
413	cd $(DIRMPCTESTS) && tsin.exe && cd ..
414	$(TESTCOMPILE)tsin_cos.c  $(MIDTESTCOMPILE)tsin_cos.exe $(ENDTESTCOMPILE)
415	cd $(DIRMPCTESTS) && tsin_cos.exe && cd ..
416	$(TESTCOMPILE)tsinh.c  $(MIDTESTCOMPILE)tsinh.exe $(ENDTESTCOMPILE)
417	cd $(DIRMPCTESTS) && tsinh.exe && cd ..
418	$(TESTCOMPILE)tsqr.c  $(MIDTESTCOMPILE)tsqr.exe $(ENDTESTCOMPILE)
419	cd $(DIRMPCTESTS) && tsqr.exe && cd ..
420	$(TESTCOMPILE)tsqrt.c  $(MIDTESTCOMPILE)tsqrt.exe $(ENDTESTCOMPILE)
421	cd $(DIRMPCTESTS) && tsqrt.exe && cd ..
422	$(TESTCOMPILE)tstrtoc.c  $(MIDTESTCOMPILE)tstrtoc.exe $(ENDTESTCOMPILE)
423	cd $(DIRMPCTESTS) && tstrtoc.exe && cd ..
424	$(TESTCOMPILE)tsub.c  $(MIDTESTCOMPILE)tsub.exe $(ENDTESTCOMPILE)
425	cd $(DIRMPCTESTS) && tsub.exe && cd ..
426	$(TESTCOMPILE)tsub_fr.c  $(MIDTESTCOMPILE)tsub_fr.exe $(ENDTESTCOMPILE)
427	cd $(DIRMPCTESTS) && tsub_fr.exe && cd ..
428	$(TESTCOMPILE)tsub_ui.c  $(MIDTESTCOMPILE)tsub_ui.exe $(ENDTESTCOMPILE)
429	cd $(DIRMPCTESTS) && tsub_ui.exe && cd ..
430	$(TESTCOMPILE)tswap.c  $(MIDTESTCOMPILE)tswap.exe $(ENDTESTCOMPILE)
431	cd $(DIRMPCTESTS) && tswap.exe && cd ..
432	$(TESTCOMPILE)ttan.c  $(MIDTESTCOMPILE)ttan.exe $(ENDTESTCOMPILE)
433	cd $(DIRMPCTESTS) && ttan.exe && cd ..
434	$(TESTCOMPILE)ttanh.c  $(MIDTESTCOMPILE)ttanh.exe $(ENDTESTCOMPILE)
435	cd $(DIRMPCTESTS) && ttanh.exe && cd ..
436	$(TESTCOMPILE)tui_div.c  $(MIDTESTCOMPILE)tui_div.exe $(ENDTESTCOMPILE)
437	cd $(DIRMPCTESTS) && tui_div.exe && cd ..
438	$(TESTCOMPILE)tui_ui_sub.c  $(MIDTESTCOMPILE)tui_ui_sub.exe $(ENDTESTCOMPILE)
439	cd $(DIRMPCTESTS) && tui_ui_sub.exe && cd ..
440	@echo --------------------------------------------------
441	@echo All tests passed
442	@echo --------------------------------------------------
443