1############################################################################
2# This file is part of FreeFEM.                                            #
3#                                                                          #
4# FreeFEM is free software: you can redistribute it and/or modify          #
5# it under the terms of the GNU Lesser General Public License as           #
6# published by the Free Software Foundation, either version 3 of           #
7# the License, or (at your option) any later version.                      #
8#                                                                          #
9# FreeFEM is distributed in the hope that it will be useful,               #
10# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
12# GNU Lesser General Public License for more details.                      #
13#                                                                          #
14# You should have received a copy of the GNU Lesser General Public License #
15# along with FreeFEM. If not, see <http://www.gnu.org/licenses/>.          #
16############################################################################
17# SUMMARY : Makefile for FreeFEM
18# LICENSE : LGPLv3
19# ORG     : LJLL Universite Pierre et Marie Curie, Paris, FRANCE
20# AUTHORS : ...
21# E-MAIL  : ...
22
23LOG_DRIVER=$(SHELL) $(top_srcdir)/bin/test-driver-ff
24TESTS_ENVIRONMENT=TEST_FFPP=$(TEST_FFPP) FLAGS_FFPP=-nw
25
26all-local: all.edp regtests.edp freefem++.pref
27
28TESTS=forall.edp adapt.edp adaptindicatorP1.edp adaptindicatorP2.edp algo.edp array.edp a_tutorial.edp beam.edp  calculus.edp cavity.edp convect2.edp convect-apt.edp convect.edp dumptable.edp ex-vf.edp FE.edp fluidStructAdapt.edp fluidStruct.edp freeboundary.edp freeboundary-weak.edp LapDG2.edp Laplace.edp LaplaceP1bis.edp LaplaceP1.edp LaplaceP1P2h.edp LaplaceRT.edp mesh.edp movemesh.edp nolinear-elas.edp NSUzawaCahouetChabart.edp onde.edp periodic4.edp Periodic.edp plot.edp readmesh.edp region.edp saverestore.edp schwarz-gc.edp schwarz-no-overlap.edp schwarz-overlap.edp sparse-matrix.edp sparse-cmatrix.edp StokesUzawa.edp tablefunction.edp intlevelset.edp mesh-internal.edp minlenedge.edp AdjointSolve.edp
29
30EXTRA_DIST=*.edp aile.msh xyf all.edp regtests.edp regtests.m4 ref.edp
31
32
33all.edp:
34	(echo "NoUseOfWait=true;int verbosityy=verbosity;"; \
35	for i in *`ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
36		echo ' cout << "--------- file : '$$i' --------------------------------------------------------" << endl;' ;\
37		echo "verbosity=verbosityy;" ; \
38		echo \{ include \"$$i\"\;\}\; ;\
39		echo ' cout << "------------------------------------------------------------------------------ " << endl;' ;\
40	done) > $@
41
42clean-local:
43	-rm *.fg *.eps *~ *.ps *.mesh *.mesh.gmsh f.txt	u.txt A.matrix	mm.matrix mm.b sphere-a.faces	sphere-a.points	sphere.faces	sphere.points toto.Th		toto.am_fmt	toto.dbg.gmsh toto.Th.gmsh	toto.dbg	toto.msh plot.gp ListOfAllocPtr-8.bin ffglut*.ppm th.msh Th1.msh		Th12.msh	th.msh 	emptymesh-2.msh	 thermic.dat
44
45# To create a new set of reference values in "ref.edp"
46Ref: makeref.edp freefem++.pref
47	../../src/nw/FreeFem++-nw makeref.edp
48
49makeref.edp: regtests.m4 ../../etc/config/m4/regtests.m4
50	m4 regtests.m4 > makeref.edp
51
52freefem++.pref:Makefile
53	echo includepath = \"../../idp/\" > freefem++.pref
54	echo loadpath = \"../../plugin/seq/\" >> freefem++.pref
55
56# To check the scripts against their reference values
57regtests.edp: regtests.m4 ../../etc/config/m4/regtests.m4
58	m4 -DASSERT regtests.m4 > regtests.edp
59
60FORCE:
61