###################################################
#
# Makefile for HZppfast64 avec inclusion des dependances
# version 10 mars 2016
###################################################
#
# Macros, dÈfinition de variables (utiliser des tabulations et non des espaces !!)
# dans muparser-2.2.5_GR les .cc remplacent les .cpp originaux

# dans la suite <PATH> c-a-d chemin indique le chemin vers ...
# il est a priori différent pour chaque utilisation


REP_SOURCES = <PATH>/Herezh_pp
REP_SOURCES_muParser = <PATH>/MuParser/muparser-2.2.5_GR

REP_OBJET = <PATH>/HZppBinaires/HZ64bfast_dep
DESTI = <PATH>/hzavecmake_linux_fast64_dependances
DESTI_EXE = <PATH>/bin
EXEC=HZppfast64
LDFLAGS=
CFLAGS=


CC = /usr/bin/gcc
CC_OPTIONS = -Wno-deprecated -w\
	        -DENLINUX_2009=1  -DUTILISATION_DE_LA_LIBRAIRIE_BOOST=1 -D__cplusplus=1 -DENLINUX_STREAM=1 -UMISE_AU_POINT\
	        -O2
	        
LNK_OPTIONS = -t -w\
                -L/usr/lib/x86_64-linux-gnu -L/home/rio/boost_1_65_1/stage/lib -L/usr/lib\
		-lstdc++\
		-lcblas -llapack -lboost_chrono -lboost_system -lm

#
# INCLUDE directories for HZppfast
#

INCLUDE = -I.\
  -I<PATH>/boost_1_65_1\
		-I$(REP_SOURCES)/Elements/Mecanique/SFE\
		-I<PATH>/sparselib++/sp1_5c/include\
		-I$(REP_SOURCES)\
		-I$(REP_SOURCES)/Chargement\
		-I$(REP_SOURCES)/comportement\
		-I$(REP_SOURCES)/comportement/anisotropie\
		-I$(REP_SOURCES)/comportement/Energies_meca\
		-I$(REP_SOURCES)/comportement/Frottement\
		-I$(REP_SOURCES)/comportement/Hyper_elastique\
		-I$(REP_SOURCES)/comportement/Hypo_elastique\
		-I$(REP_SOURCES)/comportement/hysteresis\
		-I$(REP_SOURCES)/comportement/iso_elas_hooke\
		-I$(REP_SOURCES)/comportement/iso_elas_nonlinear\
		-I$(REP_SOURCES)/comportement/loi_Umat\
		-I$(REP_SOURCES)/comportement/loi_visco_plastiques\
		-I$(REP_SOURCES)/comportement/lois_combinees\
		-I$(REP_SOURCES)/comportement/lois_speciales\
		-I$(REP_SOURCES)/comportement/lois_visco_elastiques\
		-I$(REP_SOURCES)/comportement/plasticite\
		-I$(REP_SOURCES)/comportement/thermique\
		-I$(REP_SOURCES)/comportement/thermique/Taux_crista\
		-I$(REP_SOURCES)/contact\
		-I$(REP_SOURCES)/Elements\
		-I$(REP_SOURCES)/Elements/Geometrie/ElemGeom\
		-I$(REP_SOURCES)/Elements/Geometrie/ElemGeom/Ligne\
		-I$(REP_SOURCES)/Elements/Geometrie/ElemGeom/Point\
		-I$(REP_SOURCES)/Elements/Geometrie/ElemGeom/surface\
		-I$(REP_SOURCES)/Elements/Geometrie/ElemGeom/volume\
		-I$(REP_SOURCES)/Elements/Geometrie/Frontiere\
		-I$(REP_SOURCES)/Elements/Geometrie/Frontiere/Ligne\
		-I$(REP_SOURCES)/Elements/Geometrie/Frontiere/Point\
		-I$(REP_SOURCES)/Elements/Geometrie/Frontiere/Surface\
		-I$(REP_SOURCES)/Elements/Mecanique/Biellette\
		-I$(REP_SOURCES)/Elements/Mecanique/Deformation_gene\
		-I$(REP_SOURCES)/Elements/Mecanique\
		-I$(REP_SOURCES)/Elements/Mecanique/ElemPoint\
		-I$(REP_SOURCES)/Elements/Mecanique/Hexaedre\
		-I$(REP_SOURCES)/Elements/Mecanique/Pentaedre\
		-I$(REP_SOURCES)/Elements/Mecanique/Quad_asisymetrie\
		-I$(REP_SOURCES)/Elements/Mecanique/quadrangle\
		-I$(REP_SOURCES)/Elements/Mecanique/Tetraedre\
		-I$(REP_SOURCES)/Elements/Mecanique/Tria_axisymetrie\
		-I$(REP_SOURCES)/Elements/Mecanique/Triangle\
		-I$(REP_SOURCES)/Enumeration\
		-I$(REP_SOURCES)/Flambage\
		-I$(REP_SOURCES)/G_Var_precompile/Normals\
		-I$(REP_SOURCES)/General\
		-I$(REP_SOURCES)/Lecture\
		-I$(REP_SOURCES)/Maillage\
		-I$(REP_SOURCES)/NRC\
		-I$(REP_SOURCES)/Parametres\
		-I$(REP_SOURCES)/References\
		-I$(REP_SOURCES)/Resolin/Matrices\
		-I$(REP_SOURCES)/Resolin/Matrices/matrices_creuses\
		-I$(REP_SOURCES)/Resolin/Matrices/matrices_lapack\
		-I$(REP_SOURCES)/Resolin/Matrices_externes/definition\
		-I$(REP_SOURCES)/Resolin/Matrices_externes/MV++\
		-I$(REP_SOURCES)/Resolin/preconditionnement\
		-I$(REP_SOURCES)/Resolin/Resolution_Condi\
		-I$(REP_SOURCES)/Resultats/Commun_visu\
		-I$(REP_SOURCES)/Resultats/Ext_visu\
		-I$(REP_SOURCES)/Resultats/Geomview\
		-I$(REP_SOURCES)/Resultats/Gid\
		-I$(REP_SOURCES)/Resultats/Gmsh\
		-I$(REP_SOURCES)/Resultats/MAPLE\
		-I$(REP_SOURCES)/Resultats\
		-I$(REP_SOURCES)/Resultats/VRML\
		-I$(REP_SOURCES)/Tableaux\
		-I$(REP_SOURCES)/tenseurs_mai99/Coordonnees\
		-I$(REP_SOURCES)/tenseurs_mai99/Reperes_bases\
		-I$(REP_SOURCES)/tenseurs_mai99/Tenseur\
		-I$(REP_SOURCES)/tenseurs_mai99/Vecteurs\
		-I$(REP_SOURCES)/TypeBase\
		-I$(REP_SOURCES)/Util\
		-I$(REP_SOURCES)/Util/Courbes\
		-I$(REP_SOURCES)/Util/externe\
		-I$(REP_SOURCES)/Util/MvtSolide\
		-I$(REP_SOURCES)/Algo/AlgoRef\
		-I$(REP_SOURCES)/Algo/AlgorithmeCombiner\
		-I$(REP_SOURCES)/Algo/AlgoUtilitaires\
		-I$(REP_SOURCES)/Algo/GalerkinContinu/AlgoDynaExplicite\
		-I$(REP_SOURCES)/Algo/GalerkinContinu/AlgoDynaImplicite\
		-I$(REP_SOURCES)/Algo/GalerkinContinu/AlgoStatiques\
		-I$(REP_SOURCES)/Algo/GalerkinDiscontinu/DG_DynaExplicite\
		-I$(REP_SOURCES)/G_Var_precompile/en_debug_OSXunix\
		-I$(REP_SOURCES)/unix\
		-I<PATH>/sparselib++/sp1_5c/include\
		-I<PATH>/IML++/include\
		-I$(REP_SOURCES)/comportement/Energies_thermique\
		-I$(REP_SOURCES)/Elements/Thermique\
		-I$(REP_SOURCES)/Elements/Thermique/Biellette\
		-I$(REP_SOURCES_muParser)/include		
		
		
vpath %.h $(REP_SOURCES)/Elements/Mecanique/SFE\
:<PATH>/sparselib++/sp1_5c/include\
:$(REP_SOURCES)\
:$(REP_SOURCES)/Chargement\
:$(REP_SOURCES)/comportement\
:$(REP_SOURCES)/comportement/anisotropie\
:$(REP_SOURCES)/comportement/Energies_meca\
:$(REP_SOURCES)/comportement/Frottement\
:$(REP_SOURCES)/comportement/Hyper_elastique\
:$(REP_SOURCES)/comportement/Hypo_elastique\
:$(REP_SOURCES)/comportement/hysteresis\
:$(REP_SOURCES)/comportement/iso_elas_hooke\
:$(REP_SOURCES)/comportement/iso_elas_nonlinear\
:$(REP_SOURCES)/comportement/loi_Umat\
:$(REP_SOURCES)/comportement/loi_visco_plastiques\
:$(REP_SOURCES)/comportement/lois_combinees\
:$(REP_SOURCES)/comportement/lois_speciales\
:$(REP_SOURCES)/comportement/lois_visco_elastiques\
:$(REP_SOURCES)/comportement/plasticite\
:$(REP_SOURCES)/comportement/thermique\
:$(REP_SOURCES)/comportement/thermique/Taux_crista\
:$(REP_SOURCES)/contact\
:$(REP_SOURCES)/Elements\
:$(REP_SOURCES)/Elements/Geometrie/ElemGeom\
:$(REP_SOURCES)/Elements/Geometrie/ElemGeom/Ligne\
:$(REP_SOURCES)/Elements/Geometrie/ElemGeom/Point\
:$(REP_SOURCES)/Elements/Geometrie/ElemGeom/surface\
:$(REP_SOURCES)/Elements/Geometrie/ElemGeom/volume\
:$(REP_SOURCES)/Elements/Geometrie/Frontiere\
:$(REP_SOURCES)/Elements/Geometrie/Frontiere/Ligne\
:$(REP_SOURCES)/Elements/Geometrie/Frontiere/Point\
:$(REP_SOURCES)/Elements/Geometrie/Frontiere/Surface\
:$(REP_SOURCES)/Elements/Mecanique/Biellette\
:$(REP_SOURCES)/Elements/Mecanique/Deformation_gene\
:$(REP_SOURCES)/Elements/Mecanique\
:$(REP_SOURCES)/Elements/Mecanique/ElemPoint\
:$(REP_SOURCES)/Elements/Mecanique/Hexaedre\
:$(REP_SOURCES)/Elements/Mecanique/Pentaedre\
:$(REP_SOURCES)/Elements/Mecanique/Quad_asisymetrie\
:$(REP_SOURCES)/Elements/Mecanique/quadrangle\
:$(REP_SOURCES)/Elements/Mecanique/Tetraedre\
:$(REP_SOURCES)/Elements/Mecanique/Tria_axisymetrie\
:$(REP_SOURCES)/Elements/Mecanique/Triangle\
:$(REP_SOURCES)/Enumeration\
:$(REP_SOURCES)/Flambage\
:$(REP_SOURCES)/G_Var_precompile/Normals\
:$(REP_SOURCES)/General\
:$(REP_SOURCES)/Lecture\
:$(REP_SOURCES)/Maillage\
:$(REP_SOURCES)/NRC\
:$(REP_SOURCES)/Parametres\
:$(REP_SOURCES)/References\
:$(REP_SOURCES)/Resolin/Matrices\
:$(REP_SOURCES)/Resolin/Matrices/matrices_creuses\
:$(REP_SOURCES)/Resolin/Matrices/matrices_lapack\
:$(REP_SOURCES)/Resolin/Matrices_externes/definition\
:$(REP_SOURCES)/Resolin/Matrices_externes/MV++\
:$(REP_SOURCES)/Resolin/preconditionnement\
:$(REP_SOURCES)/Resolin/Resolution_Condi\
:$(REP_SOURCES)/Resultats/Commun_visu\
:$(REP_SOURCES)/Resultats/Ext_visu\
:$(REP_SOURCES)/Resultats/Geomview\
:$(REP_SOURCES)/Resultats/Gid\
:$(REP_SOURCES)/Resultats/Gmsh\
:$(REP_SOURCES)/Resultats/MAPLE\
:$(REP_SOURCES)/Resultats\
:$(REP_SOURCES)/Resultats/VRML\
:$(REP_SOURCES)/Tableaux\
:$(REP_SOURCES)/tenseurs_mai99/Coordonnees\
:$(REP_SOURCES)/tenseurs_mai99/Reperes_bases\
:$(REP_SOURCES)/tenseurs_mai99/Tenseur\
:$(REP_SOURCES)/tenseurs_mai99/Vecteurs\
:$(REP_SOURCES)/TypeBase\
:$(REP_SOURCES)/Util\
:$(REP_SOURCES)/Util/Courbes\
:$(REP_SOURCES)/Util/externe\
:$(REP_SOURCES)/Util/MvtSolide\
:$(REP_SOURCES)/Algo/AlgoRef\
:$(REP_SOURCES)/Algo/AlgorithmeCombiner\
:$(REP_SOURCES)/Algo/AlgoUtilitaires\
:$(REP_SOURCES)/Algo/GalerkinContinu/AlgoDynaExplicite\
:$(REP_SOURCES)/Algo/GalerkinContinu/AlgoDynaImplicite\
:$(REP_SOURCES)/Algo/GalerkinContinu/AlgoStatiques\
:$(REP_SOURCES)/Algo/GalerkinDiscontinu/DG_DynaExplicite\
:$(REP_SOURCES)/G_Var_precompile/en_debug_OSXunix\
:$(REP_SOURCES)/unix\
:<PATH>/sparselib++/sp1_5c/include\
:<PATH>/IML++/include\
:$(REP_SOURCES)/comportement/Energies_thermique\
:$(REP_SOURCES)/Elements/Thermique\
:$(REP_SOURCES)/Elements/Thermique/Biellette\
:$(REP_SOURCES_muParser)/include	
	
	vpath %.cc 	$(REP_SOURCES)/Algo/AlgoUtilitaires
	vpath %.cc 	$(REP_SOURCES)/Algo/AlgoUtilitaires
	vpath %.cc 	$(REP_SOURCES)/Algo/AlgoRef
	vpath %.cc 	$(REP_SOURCES)/Algo/AlgorithmeCombiner
	vpath %.cc 	$(REP_SOURCES)/Algo/GalerkinContinu/AlgoDynaExplicite
	vpath %.cc 	$(REP_SOURCES)/Algo/GalerkinContinu/AlgoDynaImplicite
	vpath %.cc 	$(REP_SOURCES)/Algo/GalerkinContinu/AlgoStatiques
	vpath %.cc 	$(REP_SOURCES)/Chargement
	vpath %.cc 	$(REP_SOURCES)/comportement/anisotropie
	vpath %.cc 	$(REP_SOURCES)/comportement/Hyper_elastique
	vpath %.cc 	$(REP_SOURCES)/comportement/iso_elas_hooke
	vpath %.cc 	$(REP_SOURCES)/comportement/iso_elas_nonlinear
	vpath %.cc 	$(REP_SOURCES)/comportement/loi_Umat
	vpath %.cc 	$(REP_SOURCES)/comportement/lois_combinees
	vpath %.cc 	$(REP_SOURCES)/comportement/lois_visco_elastiques
	vpath %.cc 	$(REP_SOURCES)/comportement
	vpath %.cc 	$(REP_SOURCES)/Util
	vpath %.cc 	$(REP_SOURCES)/TypeBase
	vpath %.cc 	$(REP_SOURCES)/tenseurs_mai99/Vecteurs
	vpath %.cc 	$(REP_SOURCES)/tenseurs_mai99/Tenseur
	vpath %.cc 	$(REP_SOURCES)/tenseurs_mai99/Reperes_bases
	vpath %.cc 	$(REP_SOURCES)/tenseurs_mai99/Coordonnees
	vpath %.cc 	$(REP_SOURCES)/Resultats
	vpath %.cc 	$(REP_SOURCES)/Resolin/Matrices
	vpath %.cc 	$(REP_SOURCES)/Resolin/Resolution_Condi
	vpath %.cc 	$(REP_SOURCES)/References
	vpath %.cc 	$(REP_SOURCES)/Maillage
	vpath %.cc 	$(REP_SOURCES)/Flambage
	vpath %.cc 	$(REP_SOURCES)/Enumeration
	vpath %.cc 	$(REP_SOURCES)/Elements
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/ElemGeom/volume
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/ElemGeom/surface
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/ElemGeom/Point
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/ElemGeom/Ligne
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/ElemGeom
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Biellette
	vpath %.cc 	$(REP_SOURCES)/Elements/Thermique
	vpath %.cc 	$(REP_SOURCES)/Elements/Thermique/Biellette
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Deformation_gene
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Triangle
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Tetraedre
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/quadrangle
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Quad_asisymetrie
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Tria_axisymetrie
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Pentaedre
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Hexaedre
	vpath %.cc 	$(REP_SOURCES)/contact
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/Frontiere
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/Frontiere/Point
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/Frontiere/Surface
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/SFE
	vpath %.cc 	$(REP_SOURCES)/comportement/Hyper_elastique
	vpath %.cc 	$(REP_SOURCES)/Chargement
	vpath %.cc 	$(REP_SOURCES)/comportement
	vpath %.cc 	$(REP_SOURCES)/comportement/Energies_meca
	vpath %.cc 	$(REP_SOURCES)/comportement/Energies_thermique
	vpath %.cc 	$(REP_SOURCES)/comportement/Frottement
	vpath %.cc 	$(REP_SOURCES)/comportement/Hyper_elastique
	vpath %.cc 	$(REP_SOURCES)/comportement/Hypo_elastique
	vpath %.cc 	$(REP_SOURCES)/comportement/hysteresis
	vpath %.cc 	$(REP_SOURCES)/comportement/iso_elas_nonlinear
	vpath %.cc 	$(REP_SOURCES)/comportement/lois_speciales
	vpath %.cc 	$(REP_SOURCES)/comportement/lois_visco_elastiques
	vpath %.cc 	$(REP_SOURCES)/comportement/plasticite
	vpath %.cc 	$(REP_SOURCES)/comportement/thermique
	vpath %.cc 	$(REP_SOURCES)/comportement/thermique/Taux_crista
	vpath %.cc 	$(REP_SOURCES)/comportement/thermique
	vpath %.cc 	$(REP_SOURCES)/contact
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/ElemGeom/volume
	vpath %.cc 	$(REP_SOURCES)/Elements/Geometrie/Frontiere/Ligne
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Biellette
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Deformation_gene
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/ElemPoint
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Hexaedre
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Pentaedre
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique
	vpath %.cc 	$(REP_SOURCES)/Elements/Thermique
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Quad_asisymetrie
	vpath %.cc 	$(REP_SOURCES)/Elements/Mecanique/Triangle
	vpath %.cc 	$(REP_SOURCES)/Enumeration
	vpath %.cc 	$(REP_SOURCES)/General
	vpath %.cc 	$(REP_SOURCES)/Lecture
	vpath %.cc 	$(REP_SOURCES)/Maillage
	vpath %.cc 	$(REP_SOURCES)/NRC
	vpath %.cc 	$(REP_SOURCES)/Parametres
	vpath %.cc 	$(REP_SOURCES)/Resolin/Matrices/matrices_creuses
	vpath %.cc 	$(REP_SOURCES)/Resolin/Matrices/matrices_lapack
	vpath %.cc 	$(REP_SOURCES)/Resolin/Matrices_externes/MV++
	vpath %.cc 	$(REP_SOURCES)/Resolin/preconditionnement
	vpath %.cc 	$(REP_SOURCES)/Resolin/Resolution_Condi
	vpath %.cc 	$(REP_SOURCES)/Resultats/Commun_visu
	vpath %.cc 	$(REP_SOURCES)/Resultats/Ext_visu
	vpath %.cc 	$(REP_SOURCES)/Resultats/Geomview
	vpath %.cc 	$(REP_SOURCES)/Resultats/Gid
	vpath %.cc 	$(REP_SOURCES)/Resultats/MAPLE
	vpath %.cc 	$(REP_SOURCES)/Resultats/VRML
	vpath %.cc 	$(REP_SOURCES)/Resultats/Gmsh
	vpath %.cc 	$(REP_SOURCES)/tenseurs_mai99/Coordonnees
	vpath %.cc 	$(REP_SOURCES)/tenseurs_mai99/Reperes_bases
	vpath %.cc 	$(REP_SOURCES)/tenseurs_mai99/Vecteurs
	vpath %.cc 	$(REP_SOURCES)/Util
	vpath %.cc 	$(REP_SOURCES)/Util/Courbes
	vpath %.cc 	$(REP_SOURCES)/Util/externe
	vpath %.cc 	$(REP_SOURCES)/Util/MvtSolide
	vpath %.cc 	$(REP_SOURCES)/Algo/AlgoRef
	vpath %.cc 	$(REP_SOURCES)/Algo/AlgorithmeCombiner
	vpath %.cc 	$(REP_SOURCES)/Algo/AlgoUtilitaires
	vpath %.cc 	$(REP_SOURCES)/Algo/GalerkinContinu/AlgoDynaExplicite
	vpath %.cc 	$(REP_SOURCES)/Algo/GalerkinContinu/AlgoStatiques
	vpath %.cc 	$(REP_SOURCES)/Algo/GalerkinDiscontinu/DG_DynaExplicite
	vpath %.cc 	<PATH>/sparselib++/sp1_5c/spblas
	vpath %.cc 	<PATH>/sparselib++/sp1_5c/src
	vpath %.cc 	$(REP_SOURCES_muParser)/src
	vpath %.o 	$(REP_OBJET)
	
	SRC= \
		PtTabRel.cc\
		Element.cc\
		herezh.cc\
		RemontErreur.cc\
		AlgoInformations.cc\
		Algori.cc\
		AlgoriCombine.cc\
		AlgoriCombine2.cc\
		Algori_chung_lee.cc\
		AlgoriDynaExpli.cc\
		AlgoriDynaExpli2.cc\
		AlgoriDynaExpli_zhai.cc\
		AlgoriNewmark.cc\
		AlgoriNewmark2.cc\
		AlgoriFlambLineaire.cc\
		AlgoriNonDyna.cc\
		ImpliNonDynaCont.cc\
		Charge.cc\
		Charge2.cc\
		BlocCharge.cc\
		Hyper3D.cc\
		Hyper3DN.cc\
		HyperD.cc\
		IsoHyper3DFavier3.cc\
		IsoHyper3DOrgeas1.cc\
		Loi_iso_elas1D.cc\
		Loi_iso_elas2D_C.cc\
		Loi_iso_elas2D_D.cc\
		Loi_iso_elas3D.cc\
		Loi_ortho3D_entrainee.cc\
		Loi_ortho2D_C_entrainee.cc\
		Hypo_ortho3D_entrainee.cc\
		Projection_anisotrope_3D.cc\
		Iso_elas_expo1D.cc\
		Iso_elas_SE1D.cc\
		Loi_Umat.cc\
		LoiAdditiveEnSigma.cc\
		Loi_maxwell1D.cc\
		Loi_newton1D.cc\
		LesLoisDeComp.cc\
		Loi_comp_abstraite.cc\
		LoiAbstraiteGeneral.cc\
		CharUtil.cc\
		MathUtil.cc\
		MathUtil2.cc\
		Sortie.cc\
		Handler_exception.cc\
		Util.cc\
		VeurPropre.cc\
		DefValConsTens.cc\
		NevezTenseur.cc\
		NevezTenseurQ.cc\
		Tenseur.cc\
		Tenseur1-1.cc\
		Tenseur1-2.cc\
		Tenseur1_TroisSym.cc\
		Tenseur2-1.cc\
		Tenseur2-2.cc\
		Tenseur2_ns.cc\
		Tenseur2_TroisSym.cc\
		Tenseur3-1.cc\
		Tenseur3-2.cc\
		Tenseur3_ns.cc\
		Tenseur3_TroisSym.cc\
		TenseurQ.cc\
		TenseurQ3-1.cc\
		TenseurQ3-2.cc\
		TenseurQ2-2.cc\
		TenseurQ2-1.cc\
		TenseurQ1-2.cc\
		TenseurQ1-1.cc\
		TenseurQ2gene-1.cc\
		TenseurQ2gene-2.cc\
		TenseurQ3gene-1.cc\
		TenseurQ3gene-2.cc\
		Base3D3.cc\
		Coordonnee1.cc\
		Coordonnee1B.cc\
		Coordonnee1H.cc\
		Coordonnee2.cc\
		Coordonnee2B.cc\
		Coordonnee2H.cc\
		Coordonnee2H_2.cc\
		Coordonnee3.cc\
		Coordonnee3B.cc\
		Coordonnee3H.cc\
		CoordonneeB.cc\
		CoordonneeH.cc\
		Resultats.cc\
		Visualisation.cc\
		Visualisation_maple.cc\
		Mat_abstraite.cc\
		Mat_pleine.cc\
		MatBand.cc\
		MatDiag.cc\
		Assemblage.cc\
		CondLim.cc\
		LesReferences.cc\
		Reference.cc\
		Reference_static.cc\
		ReferenceAF.cc\
		ReferencePtiAF.cc\
		ConstMath.cc\
		ParaGlob.cc\
		Ddl.cc\
		DdlElement.cc\
		DdlLim.cc\
		DdlNoeudElement.cc\
		DiversStockage.cc\
		LesCondLim.cc\
		LesMaillages.cc\
		Maillage.cc\
		Noeud.cc\
		Bloc.cc\
		LectBlocMot.cc\
		nouvelle_enreg.cc\
		UtilLecture.cc\
		LesValVecPropres.cc\
		Enum_comp.cc\
		Enum_contrainte_mathematique.cc\
		Enum_ddl.cc\
		Enum_geom.cc\
		Enum_interpol.cc\
		Enum_mat.cc\
		EnumCourbe1D.cc\
		EnumElemTypeProblem.cc\
		Enum_GrandeurGlobale.cc\
		EnumTypeCalcul.cc\
		Enum_chargement.cc\
		EnumTypeGrandeur.cc\
		Enum_StabHourglass.cc\
		Enum_StabMembrane.cc\
		MotCle.cc\
		GeomHexaCom.cc\
		GeomHexalin.cc\
		GeomHexalin2.cc\
		GeomHexaQuad.cc\
		GeomHexaQuad2.cc\
		GeomPentaCom.cc\
		GeomPentaL.cc\
		GeomPentaQ.cc\
		GeomPentaQComp.cc\
		GeomTetraCom.cc\
		GeomTetraL.cc\
		GeomTetraQ.cc\
		GeomQuadrangle.cc\
		GeomTriangle.cc\
		GeomPoint.cc\
		GeomSeg.cc\
		ElemGeomC0.cc\
		ElemMeca.cc\
		BielletteThermi.cc\
		Biellette.cc\
		Biel_axi.cc\
		BielletteQ.cc\
		Biel_axiQ.cc\
		DeformationP2D.cc\
		Met_biellette.cc\
		Met_pout2D.cc\
		PoutSimple1.cc\
		Deformation.cc\
		Met_abstraite2s2.cc\
		Met_PiPoCo1.cc\
		Met_PiPoCo2.cc\
		Met_PiPoCo3.cc\
		PiPoCo.cc\
		DeformationPP.cc\
		Met_abstraite1s2.cc\
		TriaMemb.cc\
		TriaMembL1.cc\
		TriaMembQ3.cc\
		TriaMembQ3_cm1pti.cc\
		Tetra.cc\
		TetraMemb.cc\
		TetraQ.cc\
		TetraQ_cm1pti.cc\
		TetraQ_cm15pti.cc\
		Quad.cc\
		Quad_cm1pti.cc\
		QuadCCom.cc\
		QuadQCom_cm4pti.cc\
		QuadCCom_cm9pti.cc\
		QuadQ.cc\
		QuadQCom.cc\
		QuadraMemb.cc\
		QuadAxiCCom.cc\
		PentaL.cc\
		PentaMemb.cc\
		PentaQ.cc\
		PentaQComp.cc\
		Hexa.cc\
		HexaMemb.cc\
		HexaQ.cc\
		Droite.cc\
		Algo_edp.cc\
		ElContact.cc\
		ElContact_2.cc\
		LesContacts.cc\
		LesContacts_3.cc\
		Plan.cc\
		ElFrontiere.cc\
		Front.cc\
		FrontSegLine.cc\
		FrontSegQuad.cc\
		FrontPointF.cc\
		FrontQuadCC.cc\
		FrontQuadLine.cc\
		FrontQuadQC.cc\
		FrontQuadQuad.cc\
		FrontTriaLine.cc\
		FrontTriaQuad.cc\
		DeformationSfe1.cc\
		Met_Sfe1s1.cc\
		Met_Sfe1s2.cc\
		Met_Sfe1s3.cc\
		Met_Sfe1s4.cc\
		SfeMembT.cc\
		SfeMembT2.cc\
		SfeMembT3.cc\
		TriaSfe1.cc\
		TriaSfe1_cm5pti.cc\
		TriaSfe2.cc\
		TriaSfe3.cc\
		TriaSfe3_3D.cc\
		TriaSfe3C.cc\
		TriaSfe3_cm3pti.cc\
		TriaSfe3_cm4pti.cc\
		TriaSfe3_cm5pti.cc\
		TriaSfe3_cm6pti.cc\
		TriaSfe3_cm7pti.cc\
		TriaSfe3_cm12pti.cc\
		TriaSfe3_cm13pti.cc\
		TriaQSfe1.cc\
		TriaQSfe3.cc\
		TreloarN.cc\
		spmm.cc\
		spsm.cc\
		compcol_double.cc\
		comprow_double.cc\
		coord_double.cc\
		iohb.cc\
		iohb_double.cc\
		iotext.cc\
		iotext_double.cc\
		qsort_double.cc\
		qsort_int.cc\
		Charge3.cc\
		VariablesTemps.cc\
		CompFrotAbstraite.cc\
		CompThermoPhysiqueAbstraite.cc\
		EnergiesMeca.cc\
		EnergiesThermi.cc\
		CompFrotCoulomb.cc\
		Hart_Smith3D.cc\
		Hyper_W_gene_3D.cc\
		IsoHyper3DOrgeas2.cc\
		IsoHyperBulk3.cc\
		IsoHyperBulk_gene.cc\
		MooneyRivlin1D.cc\
		MooneyRivlin3D.cc\
		Poly_hyper3D.cc\
		Hypo_hooke2D_C.cc\
		Hypo_hooke3D.cc\
		Hypo_hooke1D.cc\
		Maheo_hyper.cc \
		Hyper_externe_W.cc\
		Hysteresis1D.cc\
		Hysteresis1D_2.cc\
		Hysteresis3D.cc\
		Hysteresis3D_2.cc\
		Hysteresis3D_3.cc\
		Hysteresis_bulk.cc\
		Hysteresis_bulk_2.cc\
		iso_elas_expo3D.cc\
		LoiDesMelangesEnSigma.cc\
		LoiContraintesPlanes.cc\
		LoiContraintesPlanesDouble.cc\
		LoiContraintesPlanesDouble_2.cc\
		LoiCritere.cc\
		LoiCritere2.cc\
		Ponderation.cc\
		LoiDeformationsPlanes.cc\
		Loi_rien1D.cc\
		Loi_rien2D_C.cc\
		Loi_rien2D_D.cc\
		Loi_rien3D.cc\
		Loi_maxwell2D_C.cc\
		Loi_maxwell2D_D.cc\
		Loi_maxwell3D.cc\
		Loi_newton2D_D.cc\
		Loi_newton3D.cc\
		Prandtl_Reuss.cc\
		Prandtl_Reuss1D.cc\
		Prandtl_Reuss2D_D.cc\
		Loi_de_Tait.cc\
		Loi_iso_thermo.cc\
		CristaliniteAbstraite.cc\
		Hoffman1.cc\
		Hoffman2.cc\
		ThermoDonnee.cc\
		Cercle.cc\
		Cylindre.cc\
		Sphere.cc\
		GeomHexaQuadComp.cc\
		FrontSegCub.cc\
		Def_Umat.cc\
		Deformation_2.cc\
		Deformation_Almansi.cc\
		Deformation_log.cc\
		Deformation_stockage.cc\
		DeformationSfe1_stockage.cc\
		Met_abstraite3s2.cc\
		Met_abstraite_struc_donnees.cc\
		MetAxisymetrique2D.cc\
		MetAxisymetrique3D.cc\
		ElemMeca2.cc\
		ElemMeca3.cc\
		ElemMeca4.cc\
		ElemMeca5.cc\
		ElemPoint.cc\
				ElemPoint_CP.cc\
		ElemThermi.cc\
		ElemThermi2.cc\
		ElemThermi3.cc\
		ElemThermi4.cc\
		ElemThermi5.cc\
		Met_ElemPoint.cc\
		UmatAbaqus.cc\
		Hexa_cm1pti.cc\
		Hexa_cm27pti.cc\
		Hexa_cm64pti.cc\
		HexaQ_cm1pti.cc\
		HexaQ_cm27pti.cc\
		HexaQ_cm64pti.cc\
		HexaQComp.cc\
		HexaQComp_1pti.cc\
		HexaQComp_27pti.cc\
		HexaQComp_64pti.cc\
		LesPtIntegMecaInterne.cc\
		LesPtIntegThermiInterne.cc\
		LesChargeExtSurElement.cc\
		PentaL_cm1pti.cc\
		PentaQ_cm3pti.cc\
		PentaL_cm6pti.cc\
		PentaQ_cm12pti.cc\
		PentaQ_cm18pti.cc\
		PentaQ_cm9pti.cc\
		PentaQComp_cm12pti.cc\
		PentaQComp_cm18pti.cc\
		PentaQComp_cm9pti.cc\
		PtIntegMecaInterne.cc\
		PtIntegThermiInterne.cc\
		QuadAxiL1.cc\
		QuadAxiL1_cm1pti.cc\
		QuadAxiMemb.cc\
		QuadAxiQ.cc\
		QuadAxiQComp.cc\
		QuadAxiQComp_cm4pti.cc\
		QuadAxiCCom_cm9pti.cc\
		TriaAxiL1.cc\
		TriaAxiMemb.cc\
		TriaAxiQ3.cc\
		TriaAxiQ3_cm1pti.cc\
		TriaCub.cc\
		TriaCub_cm4pti.cc\
		TriaQ3_cmpti1003.cc\
		TriaAxiQ3_cmpti1003.cc\
		Enum_boolddl.cc\
		Enum_calcul_masse.cc\
		Enum_categorie_loi_comp.cc\
		Enum_crista.cc\
		Enum_Critere_loi.cc\
		Enum_ddl_var_static.cc\
		Enum_dure.cc\
		Enum_IO_XML.cc\
		Enum_liaison_noeud.cc\
		Enum_matrice.cc\
		Enum_PiPoCo.cc\
		Enum_type_deformation.cc\
		Enum_type_geom.cc\
		Enum_type_resolution_matri.cc\
		Enum_type_stocke_deformation.cc\
		Enum_TypeQuelconque.cc\
		Enum_variable_metrique.cc\
		EnumLangue.cc\
		EnumTypeGradient.cc\
		EnumTypePilotage.cc\
		EnumTypeViteRotat.cc\
		EnumTypeVitesseDefor.cc\
		EnuTypeCL.cc\
		EnumFonction_nD.cc\
		EnuTypeQuelParticulier.cc\
		Enum_proj_aniso.cc\
		TypeQuelconque_enum_etendu.cc\
		Projet.cc\
		Projet2.cc\
		utilLecture2.cc\
		Ddl_etendu.cc\
		I_O_Condilineaire.cc\
		LesCondLim2.cc\
		LesMaillages2.cc\
		Maillage2.cc\
		Maillage3.cc\
		maillage4.cc\
		Noeud2.cc\
		banniere.cc\
		ConstPhysico.cc\
		ParaAlgoControle.cc\
		Mat_creuse_CompCol.cc\
		MatLapack.cc\
		mvvdio.cc\
		diagpre_double_GR.cc\
		icpre_double_GR.cc\
		ilupre_double_GR.cc\
		Condilineaire.cc\
		Frontiere_initiale.cc\
		rgb.cc\
		spectre.cc\
		Animation_geomview.cc\
		Deformees_geomview.cc\
		Fin_geomview.cc\
		Frontiere_initiale_geomview.cc\
		Isovaleurs_geomview.cc\
		Mail_initiale_geomview.cc\
		Visuali_geomview.cc\
		Visualisation_geomview.cc\
		Deformees_Gid.cc\
		Fin_Gid.cc\
		Isovaleurs_Gid.cc\
		Isovaleurs_Gid2.cc\
		Mail_initiale_Gid.cc\
		Visuali_Gid.cc\
		Visualisation_Gid.cc\
		Deformees_Gmsh.cc\
		Fin_Gmsh.cc\
		Isovaleurs_Gmsh.cc\
		Isovaleurs_Gmsh2.cc\
		Mail_initiale_Gmsh.cc\
		Visuali_Gmsh.cc\
		Visualisation_Gmsh.cc\
		Animation_maple.cc\
		Choix_grandeurs_maple.cc\
		Choix_grandeurs_maple2.cc\
		Choix_grandeurs_maple3.cc\
		Deformees_maple.cc\
		Fin_maple.cc\
		Visuali_maple.cc\
		Animation_vrml.cc\
		ChoixDesMaillages_vrml.cc\
		Deformees_vrml.cc\
		Fin_vrml.cc\
		Increment_vrml.cc\
		Isovaleurs_vrml.cc\
		Mail_initiale_vrml.cc\
		OrdreVisu.cc\
		Visuali_vrml.cc\
		Coordonnee.cc\
		Coordonnee1_2.cc\
		Coordonnee1B_2.cc\
		Coordonnee1H_2.cc\
		Coordonnee2_2.cc\
		Coordonnee2B_2.cc\
		Coordonnee3_2.cc\
		Coordonnee3B_2.cc\
		Coordonnee3H_2.cc\
		Coordonnee_2.cc\
		CoordonneeB_2.cc\
		CoordonneeH_2.cc\
		Base.cc\
		Base_1.cc\
		TenseurQ1gene.cc\
		Vecteur.cc\
		Vecteur2.cc\
		Basiques.cc\
		Ddl_enum_etendu.cc\
		Temps_CPU_HZpp.cc\
		Temps_CPU_HZpp_3.cc\
		TypeQuelconque.cc\
		TypeQuelconqueParticulier.cc\
		TypeQuelconqueParticulier_2.cc\
		TypeQuelconqueParticulier_3.cc\
		Algo_edp_2.cc\
		Algo_Integ1D.cc\
		Algo_zero.cc\
		Algo_zero_2.cc\
		Courbe1D.cc\
		Courbe_1-cos.cc\
		Courbe_cos.cc\
		Courbe_expo2_n.cc\
		Courbe_expo_n.cc\
		Courbe_expoaff.cc\
		Courbe_relax_expo.cc\
		Courbe_sin.cc\
		Courbe_un_moins_cos.cc\
		CourbePolyLineaire.cc\
		CourbePolyLineaire1D_simpli.cc\
		CourbePolyHermite1D.cc\
		CourbePolynomiale.cc\
		Courbe_ln_cosh.cc\
		F1_plus_F2.cc\
		F1_rond_F2.cc\
		F_cycle_add.cc\
		F_cyclique.cc\
		F_union_1D.cc\
		LesCourbes1D.cc\
		Poly_Lagrange.cc\
		SixpodeCos3phi.cc\
		TangenteHyperbolique.cc\
		TripodeCos3phi.cc\
		muParser.cc\
		muParserBase.cc\
		muParserBytecode.cc\
		muParserCallback.cc\
		muParserError.cc\
		muParserInt.cc\
		muParserTest.cc\
		muParserTokenReader.cc\
		Courbe_expression_litterale_avec_derivees_1D.cc\
		Courbe_expression_litterale_1D.cc\
		Fonction_expression_litterale_nD.cc\
		Fonction_nD.cc\
		F_nD_courbe1D.cc\
		Fonc_scal_combinees_nD.cc\
		Fonction_externe_nD.cc\
		LesFonctions_nD.cc\
		Racine.cc\
		MvtSolide.cc\
		Algori2.cc\
		Algori3.cc\
		Algori4.cc\
		AlgoUmatAbaqus.cc\
		AlgoUtils.cc\
		Algori_relax_dyna.cc\
		Algori_tchamwa.cc\
		Algori_tchamwa2.cc\
		AlgoRungeKutta.cc\
		AlgoriNonDyna2.cc\
		AlgoBonelli.cc\
		VariablesExporter.cc


# on génère les objets
# SRC:.cc=.o -> substitue la fin .cc en .o
OBJ=$(SRC:.cc=.o)
		
		# ---------------- Exécution proprement dite ------------------
		# ---------------- Exécution proprement dite ------------------
#
# Build HZppfast64
#
#all: $(EXEC)

# ici je fabrique la liste des objets avec le préfixe du chemin
# parceque bizarrement j'ai un pb avec le fichier herezh.o ?? 
# cf la seconde ligne qui est commentée
P_OBJ = $(patsubst %,$(REP_OBJET)/%.o,$(basename $(SRC)))

$(EXEC):	$(OBJ)    
		$(CC) $(LNK_OPTIONS) -o  $(DESTI_EXE)/$(EXEC) $(P_OBJ) 
#		$(CC) $(LNK_OPTIONS) -o  $(DESTI_EXE)/$(EXEC) $(REP_OBJET)/$^ 
		cp $(DESTI_EXE)/$(EXEC) $(DESTI)/$(EXEC)

# partie pour fabriquer les dependances "http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/"

DEPDIR := $(REP_OBJET)/.d
$(shell mkdir -p $(DEPDIR) >/dev/null)
DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
COMPILE.cc = $(CC) $(DEPFLAGS) $(CC_OPTIONS)  -c
POSTCOMPILE = mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d

%.o: %.cc	$(DEPDIR)/%.d
								$(CC) $(DEPFLAGS) $(CC_OPTIONS) $(INCLUDE) -o $(REP_OBJET)/$@ -c $< 
								$(POSTCOMPILE)

listes_SRC:
	echo $(LISTE_DE_CC) $(SRC) $(LISTE_DE_DEPEND) $(VPATH)
	
listes_path:
	$(VPATH) $(vpath)	

liste_INCLUDE:
	echo $(INCLUDE) 
	
	
#total_dependance = $(patsubst %,$(DEPDIR)/%,$(dependance))	
liste_total_depend:
	@echo  $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRC))) 
	#$(total_dependance) 
	
liste_objet:
	@echo $(OBJ)	
	
liste_objet_pre:
	@echo $(P_OBJ)

# .PRECIOUS: suivi d'une cible, indique que la cible ne doit pas être détruite
# si le make plante !, cela permet de concerver les dépendances déjà construite
$(DEPDIR)/%.d: ;
.PRECIOUS: $(DEPDIR)/%.d

# -include : veut dire d'inclure la suite, avec le moins cela indique que si la suite
# n'existe pas, il n'y a pas de pb généré
# patsubst -> veut dire substituer : l'expression régulière qui suit
# $(basename $(SRCS)) : le nom de base sans le .quelquechose c-a-d ici sans le .cc
# %,$(DEPDIR)/%.d, $(chose)  -> remplace un nom de $(chose) par $(DEPDIR)/<le nom>.d
# donc si je comprends bien la ligne
# on inclue tous les fichiers  makefile situés en  $(DEPDIR)/
# normalement le make fait toutes ses inclusions à la fin de sa lecture
-include $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRC)))

