Index: /issm/trunk-jpl/m4/issm_options.m4
===================================================================
--- /issm/trunk-jpl/m4/issm_options.m4	(revision 18317)
+++ /issm/trunk-jpl/m4/issm_options.m4	(revision 18318)
@@ -1623,4 +1623,18 @@
 
 	dnl Capabilities
+	dnl with-bamg{{{
+	AC_ARG_WITH([bamg],
+		AS_HELP_STRING([--with-bamg = YES],[compile with bamg capabilities (default is yes)]),
+		[BAMG=$withval],[BAMG=yes]) 
+	AC_MSG_CHECKING(for bamg capability compilation)
+
+	HAVE_BAMG=no
+	if test "x$BAMG" = "xyes"; then
+		HAVE_BAMG=yes
+		AC_DEFINE([_HAVE_BAMG_],[1],[with bamg meshing capability])
+	fi
+	AM_CONDITIONAL([BAMG], [test x$HAVE_BAMG = xyes])
+	AC_MSG_RESULT($HAVE_BAMG)
+	dnl }}}
 	dnl with-kml{{{
 	AC_ARG_WITH([kml],
Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 18317)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 18318)
@@ -459,176 +459,7 @@
 endif
 #}}}
-#Petsc sources  {{{
-if PETSC
-issm_sources += ./toolkits/petsc\
-					./toolkits/petsc/patches\
-					./toolkits/petsc/patches/SolverEnum.h\
-					./toolkits/petsc/patches/petscpatches.h\
-					./toolkits/petsc/patches/VecToMPISerial.cpp\
-					./toolkits/petsc/patches/MatToSerial.cpp\
-					./toolkits/petsc/patches/VecMerge.cpp\
-					./toolkits/petsc/patches/NewVec.cpp\
-					./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp\
-					./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp\
-					./toolkits/petsc/patches/NewMat.cpp\
-					./toolkits/petsc/patches/VecFree.cpp\
-					./toolkits/petsc/patches/KSPFree.cpp\
-					./toolkits/petsc/patches/MatFree.cpp\
-					./toolkits/petsc/patches/MatMultPatch.cpp\
-					./toolkits/petsc/patches/ISSMToPetscMatrixType.cpp\
-					./toolkits/petsc/patches/ISSMToPetscInsertMode.cpp\
-					./toolkits/petsc/patches/ISSMToPetscNormMode.cpp\
-					./toolkits/petsc/objects/petscobjects.h\
-					./toolkits/petsc/objects/PetscMat.h\
-					./toolkits/petsc/objects/PetscMat.cpp\
-					./toolkits/petsc/objects/PetscVec.h\
-					./toolkits/petsc/objects/PetscVec.cpp\
-					./toolkits/petsc/objects/PetscSolver.cpp\
-					./toolkits/petsc/objects/PetscSolver.h\
-					./toolkits/petsc/petscincludes.h
-endif
-#}}}
-#Mumps sources  {{{
-if MUMPS
-issm_sources += ./toolkits/mumps\
-					./toolkits/mumps/mumpsincludes.h\
-					./toolkits/mumps/MumpsSolve.cpp
-endif
-#}}}
-#Gsl sources  {{{
-if GSL
-issm_sources += ./toolkits/gsl\
-					./toolkits/gsl/gslincludes.h\
-					./toolkits/gsl/DenseGslSolve.cpp
-endif
-#}}}
-#Analyses{{{
-if ADJOINTBALANCETHICKNESS
-issm_sources += ./analyses/AdjointBalancethicknessAnalysis.cpp
-endif
-if ADJOINTBALANCETHICKNESS2
-issm_sources += ./analyses/AdjointBalancethickness2Analysis.cpp
-endif
-if ADJOINTHORIZ
-issm_sources += ./analyses/AdjointHorizAnalysis.cpp
-endif
-if BALANCETHICKNESS
-issm_sources += ./analyses/BalancethicknessAnalysis.cpp
-endif
-if BALANCETHICKNESS2
-issm_sources += ./analyses/Balancethickness2Analysis.cpp
-endif
-if BALANCETHICKNESSSOFT
-issm_sources += ./analyses/BalancethicknessSoftAnalysis.cpp
-endif
-if BALANCEVELOCITY
-issm_sources += ./analyses/BalancevelocityAnalysis.cpp
-endif
-if L2PROJECTIONBASE
-issm_sources += ./analyses/L2ProjectionBaseAnalysis.cpp
-endif
-if DAMAGEEVOLUTION
-issm_sources += ./analyses/DamageEvolutionAnalysis.cpp
-endif
-if STRESSBALANCE
-issm_sources += ./analyses/StressbalanceAnalysis.cpp
-endif
-if UZAWAPRESSURE
-issm_sources += ./analyses/UzawaPressureAnalysis.cpp
-endif
-if STRESSBALANCESIA
-issm_sources += ./analyses/StressbalanceSIAAnalysis.cpp
-endif
-if STRESSBALANCEVERTICAL
-issm_sources += ./analyses/StressbalanceVerticalAnalysis.cpp
-endif
-if ENTHALPY
-issm_sources += ./analyses/EnthalpyAnalysis.cpp
-endif
-if HYDROLOGYSHREVE
-issm_sources += ./analyses/HydrologyShreveAnalysis.cpp
-endif
-if HYDROLOGYDCINEFFICIENT
-issm_sources += ./analyses/HydrologyDCInefficientAnalysis.cpp
-endif
-if HYDROLOGYDCEFFICIENT
-issm_sources += ./analyses/HydrologyDCEfficientAnalysis.cpp
-endif
-if L2PROJECTIONEPL
-issm_sources += ./analyses/L2ProjectionEPLAnalysis.cpp
-endif
-if MELTING
-issm_sources += ./analyses/MeltingAnalysis.cpp
-endif
-if MASSTRANSPORT
-issm_sources += ./analyses/MasstransportAnalysis.cpp
-endif
-if FREESURFACEBASE
-issm_sources += ./analyses/FreeSurfaceBaseAnalysis.cpp
-endif
-if FREESURFACETOP
-issm_sources += ./analyses/FreeSurfaceTopAnalysis.cpp
-endif
-if EXTRUDEFROMBASE
-issm_sources += ./analyses/ExtrudeFromBaseAnalysis.cpp
-endif
-if EXTRUDEFROMTOP
-issm_sources += ./analyses/ExtrudeFromTopAnalysis.cpp
-endif
-if DEPTHAVERAGE
-issm_sources += ./analyses/DepthAverageAnalysis.cpp
-endif
-if THERMAL
-issm_sources += ./analyses/ThermalAnalysis.cpp
-endif
-if SMOOTHEDSURFACESLOPEX
-issm_sources += ./analyses/SmoothedSurfaceSlopeXAnalysis.cpp
-endif
-if SMOOTHEDSURFACESLOPEY
-issm_sources += ./analyses/SmoothedSurfaceSlopeYAnalysis.cpp
-endif
-if MESHDEFORMATION
-issm_sources += ./analyses/MeshdeformationAnalysis.cpp
-endif
-if LEVELSET
-issm_sources += ./analyses/LevelsetAnalysis.cpp
-endif
-if EXTRAPOLATION
-issm_sources += ./analyses/ExtrapolationAnalysis.cpp
-endif
-if LSFREINITIALIZATION
-issm_sources += ./analyses/LsfReinitializationAnalysis.cpp
-endif
-#}}}
-#Gia sources  {{{
-if GIA
-issm_sources +=  ./cores/gia_core.cpp\
-					./analyses/GiaAnalysis.cpp\
-					./modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp\
-					./modules/GiaDeflectionCorex/distme.f\
-					./modules/GiaDeflectionCorex/freed.f\
-					./modules/GiaDeflectionCorex/ojrule.f\
-					./modules/GiaDeflectionCorex/pwise.f\
-					./modules/GiaDeflectionCorex/qwise.f\
-					./modules/GiaDeflectionCorex/stot.f\
-					./modules/GiaDeflectionCorex/what0.f
-endif
-#}}}
-#Mpi sources  {{{
-if MPI
-issm_sources += ./toolkits/issm/IssmMpiDenseMat.h\
-					 ./toolkits/issm/IssmMpiVec.h
-endif
-#}}}
-#Metis sources  {{{
-if METIS
-issm_sources += ./toolkits/metis/patches/metispatches.h\
-					./toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp
-endif
-#}}}
-
-#Wrapper sources
-#Bamg sources  {{{
-bamg_sources =  ./bamg/bamgobjects.h\
+#BAMG sources  {{{
+if BAMG
+issm_sources += ./bamg/bamgobjects.h\
 					 ./bamg/BamgGeom.h\
 					 ./bamg/BamgGeom.cpp\
@@ -695,27 +526,178 @@
 					 ./modules/BamgTriangulatex/BamgTriangulatex.cpp\
 					 ./modules/BamgTriangulatex/BamgTriangulatex.h
-#}}}
-#Kriging sources  {{{
-if KRIGING
-kriging_sources = ./classes/kriging/Observations.h\
-					./classes/kriging/Observations.cpp\
-					./classes/kriging/Variogram.h \
-					./classes/kriging/GaussianVariogram.h\
-					./classes/kriging/GaussianVariogram.cpp\
-					./classes/kriging/ExponentialVariogram.h\
-					./classes/kriging/ExponentialVariogram.cpp\
-					./classes/kriging/SphericalVariogram.h\
-					./classes/kriging/SphericalVariogram.cpp\
-					./classes/kriging/PowerVariogram.h\
-					./classes/kriging/PowerVariogram.cpp\
-					./classes/kriging/Quadtree.h\
-					./classes/kriging/Quadtree.cpp\
-					./classes/kriging/Observation.h\
-					./classes/kriging/Observation.cpp\
-					./modules/Krigingx/Krigingx.cpp\
-					./modules/Krigingx/Krigingx.h\
-					./modules/Krigingx/pKrigingx.cpp
-issm_sources +=$(kriging_sources)
-endif
+endif
+#}}}
+#Petsc sources  {{{
+if PETSC
+issm_sources += ./toolkits/petsc\
+					./toolkits/petsc/patches\
+					./toolkits/petsc/patches/SolverEnum.h\
+					./toolkits/petsc/patches/petscpatches.h\
+					./toolkits/petsc/patches/VecToMPISerial.cpp\
+					./toolkits/petsc/patches/MatToSerial.cpp\
+					./toolkits/petsc/patches/VecMerge.cpp\
+					./toolkits/petsc/patches/NewVec.cpp\
+					./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp\
+					./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp\
+					./toolkits/petsc/patches/NewMat.cpp\
+					./toolkits/petsc/patches/VecFree.cpp\
+					./toolkits/petsc/patches/KSPFree.cpp\
+					./toolkits/petsc/patches/MatFree.cpp\
+					./toolkits/petsc/patches/MatMultPatch.cpp\
+					./toolkits/petsc/patches/ISSMToPetscMatrixType.cpp\
+					./toolkits/petsc/patches/ISSMToPetscInsertMode.cpp\
+					./toolkits/petsc/patches/ISSMToPetscNormMode.cpp\
+					./toolkits/petsc/objects/petscobjects.h\
+					./toolkits/petsc/objects/PetscMat.h\
+					./toolkits/petsc/objects/PetscMat.cpp\
+					./toolkits/petsc/objects/PetscVec.h\
+					./toolkits/petsc/objects/PetscVec.cpp\
+					./toolkits/petsc/objects/PetscSolver.cpp\
+					./toolkits/petsc/objects/PetscSolver.h\
+					./toolkits/petsc/petscincludes.h
+endif
+#}}}
+#Mumps sources  {{{
+if MUMPS
+issm_sources += ./toolkits/mumps\
+					./toolkits/mumps/mumpsincludes.h\
+					./toolkits/mumps/MumpsSolve.cpp
+endif
+#}}}
+#Gsl sources  {{{
+if GSL
+issm_sources += ./toolkits/gsl\
+					./toolkits/gsl/gslincludes.h\
+					./toolkits/gsl/DenseGslSolve.cpp
+endif
+#}}}
+#Analyses{{{
+if ADJOINTBALANCETHICKNESS
+issm_sources += ./analyses/AdjointBalancethicknessAnalysis.cpp
+endif
+if ADJOINTBALANCETHICKNESS2
+issm_sources += ./analyses/AdjointBalancethickness2Analysis.cpp
+endif
+if ADJOINTHORIZ
+issm_sources += ./analyses/AdjointHorizAnalysis.cpp
+endif
+if BALANCETHICKNESS
+issm_sources += ./analyses/BalancethicknessAnalysis.cpp
+endif
+if BALANCETHICKNESS2
+issm_sources += ./analyses/Balancethickness2Analysis.cpp
+endif
+if BALANCETHICKNESSSOFT
+issm_sources += ./analyses/BalancethicknessSoftAnalysis.cpp
+endif
+if BALANCEVELOCITY
+issm_sources += ./analyses/BalancevelocityAnalysis.cpp
+endif
+if L2PROJECTIONBASE
+issm_sources += ./analyses/L2ProjectionBaseAnalysis.cpp
+endif
+if DAMAGEEVOLUTION
+issm_sources += ./analyses/DamageEvolutionAnalysis.cpp
+endif
+if STRESSBALANCE
+issm_sources += ./analyses/StressbalanceAnalysis.cpp
+endif
+if UZAWAPRESSURE
+issm_sources += ./analyses/UzawaPressureAnalysis.cpp
+endif
+if STRESSBALANCESIA
+issm_sources += ./analyses/StressbalanceSIAAnalysis.cpp
+endif
+if STRESSBALANCEVERTICAL
+issm_sources += ./analyses/StressbalanceVerticalAnalysis.cpp
+endif
+if ENTHALPY
+issm_sources += ./analyses/EnthalpyAnalysis.cpp
+endif
+if HYDROLOGYSHREVE
+issm_sources += ./analyses/HydrologyShreveAnalysis.cpp
+endif
+if HYDROLOGYDCINEFFICIENT
+issm_sources += ./analyses/HydrologyDCInefficientAnalysis.cpp
+endif
+if HYDROLOGYDCEFFICIENT
+issm_sources += ./analyses/HydrologyDCEfficientAnalysis.cpp
+endif
+if L2PROJECTIONEPL
+issm_sources += ./analyses/L2ProjectionEPLAnalysis.cpp
+endif
+if MELTING
+issm_sources += ./analyses/MeltingAnalysis.cpp
+endif
+if MASSTRANSPORT
+issm_sources += ./analyses/MasstransportAnalysis.cpp
+endif
+if FREESURFACEBASE
+issm_sources += ./analyses/FreeSurfaceBaseAnalysis.cpp
+endif
+if FREESURFACETOP
+issm_sources += ./analyses/FreeSurfaceTopAnalysis.cpp
+endif
+if EXTRUDEFROMBASE
+issm_sources += ./analyses/ExtrudeFromBaseAnalysis.cpp
+endif
+if EXTRUDEFROMTOP
+issm_sources += ./analyses/ExtrudeFromTopAnalysis.cpp
+endif
+if DEPTHAVERAGE
+issm_sources += ./analyses/DepthAverageAnalysis.cpp
+endif
+if THERMAL
+issm_sources += ./analyses/ThermalAnalysis.cpp
+endif
+if SMOOTHEDSURFACESLOPEX
+issm_sources += ./analyses/SmoothedSurfaceSlopeXAnalysis.cpp
+endif
+if SMOOTHEDSURFACESLOPEY
+issm_sources += ./analyses/SmoothedSurfaceSlopeYAnalysis.cpp
+endif
+if MESHDEFORMATION
+issm_sources += ./analyses/MeshdeformationAnalysis.cpp
+endif
+if LEVELSET
+issm_sources += ./analyses/LevelsetAnalysis.cpp
+endif
+if EXTRAPOLATION
+issm_sources += ./analyses/ExtrapolationAnalysis.cpp
+endif
+if LSFREINITIALIZATION
+issm_sources += ./analyses/LsfReinitializationAnalysis.cpp
+endif
+#}}}
+#Gia sources  {{{
+if GIA
+issm_sources +=  ./cores/gia_core.cpp\
+					./analyses/GiaAnalysis.cpp\
+					./modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp\
+					./modules/GiaDeflectionCorex/distme.f\
+					./modules/GiaDeflectionCorex/freed.f\
+					./modules/GiaDeflectionCorex/ojrule.f\
+					./modules/GiaDeflectionCorex/pwise.f\
+					./modules/GiaDeflectionCorex/qwise.f\
+					./modules/GiaDeflectionCorex/stot.f\
+					./modules/GiaDeflectionCorex/what0.f
+endif
+#}}}
+#Mpi sources  {{{
+if MPI
+issm_sources += ./toolkits/issm/IssmMpiDenseMat.h\
+					 ./toolkits/issm/IssmMpiVec.h
+endif
+#}}}
+#Metis sources  {{{
+if METIS
+issm_sources += ./toolkits/metis/patches/metispatches.h\
+					./toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp
+endif
+#}}}
+
+#Wrapper sources
+#Bamg sources  {{{
+
 #}}}
 #Kml sources  {{{
@@ -845,4 +827,30 @@
 endif
 #}}}
+
+#kriging (WRAPPER and executable)
+#Kriging sources  {{{
+if KRIGING
+issm_sources +=./classes/kriging/Observations.h\
+					./classes/kriging/Observations.cpp\
+					./classes/kriging/Variogram.h \
+					./classes/kriging/GaussianVariogram.h\
+					./classes/kriging/GaussianVariogram.cpp\
+					./classes/kriging/ExponentialVariogram.h\
+					./classes/kriging/ExponentialVariogram.cpp\
+					./classes/kriging/SphericalVariogram.h\
+					./classes/kriging/SphericalVariogram.cpp\
+					./classes/kriging/PowerVariogram.h\
+					./classes/kriging/PowerVariogram.cpp\
+					./classes/kriging/Quadtree.h\
+					./classes/kriging/Quadtree.cpp\
+					./classes/kriging/Observation.h\
+					./classes/kriging/Observation.cpp\
+					./modules/Krigingx/pKrigingx.cpp
+
+modules_sources +=./modules/Krigingx/Krigingx.cpp\
+						./modules/Krigingx/Krigingx.h\
+						./modules/Krigingx/pKrigingx.cpp
+endif
+#}}}
 #}}}
 #Library flags and sources {{{
