Changeset 11658


Ignore:
Timestamp:
03/07/12 13:52:17 (13 years ago)
Author:
Eric.Larour
Message:

Update of Makefile.am to match src/c/Makefile.am

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/ad/Makefile.am

    r10323 r11658  
    1 INCLUDES = @DAKOTAINCL@ @PETSCINCL@ @SLEPCINCL@ @MPIINCL@ @MATLABINCL@  @METISINCL@  @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@  @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@  @TRIANGLEINCL@ @HYPREINCL@ @MLINCL@ @TAOINCL@  @ADIC2INCL@
    2 
    3 #This Makefile.am is for automatic differentiation of the parallel version of ISSM.
    4 #We do not compile in serial mode
    5 #If user requests no parallel compilation, we compile an empty ISSM.
    6 #Compilation can still be blocked if user has not activated --with-adic compilation
     1INCLUDES = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @MPIINCL@ @MATLABINCL@  @METISINCL@  @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@  @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@  @TRIANGLEINCL@ @HYPREINCL@ @MLINCL@ @TAOINCL@
     2EXEEXT=$(ISSMEXT)
    73
    84#Library declaration {{{1
    9 
     5#Compile serial library, and then try and compile parallel library
     6if NOSERIAL
    107if NOPARALLEL
    118lib_LIBRARIES =
    129else
    13 lib_LIBRARIES = libpISSM.a   libOverload.a
    14 endif
    15 
    16 if ADIC2
    17 lib_LIBRARIES += libAD.a libpISSMRose.a
    18 endif
    19 
    20 #}}}
    21 #Overload library, to overload any non-standard symbols. {{{1
    22 libOverload_a_SOURCES = ./shared/String/stricmp.c
    23 libOverload_a_CFLAGS = -fPIC -D_PARALLEL_   -D_C_ $(COPTFLAGS)
    24 #}}}
    25 #ISSM library  {{{1
    26 libpISSM_a_SOURCES = ./include/macros.h\
     10lib_LIBRARIES = libpISSM.a libOverload.a
     11endif
     12else
     13if NOPARALLEL
     14lib_LIBRARIES = libISSM.a  libOverload.a
     15else
     16lib_LIBRARIES = libISSM.a libpISSM.a libOverload.a
     17endif
     18endif
     19#}}}
     20
     21#sources
     22#Core sources{{{1
     23core_sources  = ./include/macros.h\
    2724                                        ./include/typedefs.h\
    2825                                        ./include/types.h\
     
    3835                                        ./objects/Material.h\
    3936                                        ./objects/Load.h\
     37                                        ./objects/Contour.h\
     38                                        ./objects/Contour.cpp\
     39                                        ./objects/OptArgs.h\
     40                                        ./objects/OptPars.h\
    4041                                        ./objects/Loads/Friction.h\
    4142                                        ./objects/Loads/Friction.cpp\
     
    6162                                        ./objects/ElementResults/DoubleElementResult.h\
    6263                                        ./objects/ElementResults/DoubleElementResult.cpp\
    63                                         ./objects/ElementResults/TriaVertexElementResult.h\
    64                                         ./objects/ElementResults/TriaVertexElementResult.cpp\
     64                                        ./objects/ElementResults/TriaP1ElementResult.h\
     65                                        ./objects/ElementResults/TriaP1ElementResult.cpp\
    6566                                        ./objects/ElementResults/BoolElementResult.h\
    6667                                        ./objects/ElementResults/BoolElementResult.cpp\
     
    8889                                        ./objects/Inputs/Input.h\
    8990                                        ./objects/Inputs/InputLocal.h\
    90                                         ./objects/Inputs/TriaVertexInput.h\
    91                                         ./objects/Inputs/TriaVertexInput.cpp\
     91                                        ./objects/Inputs/TriaP1Input.h\
     92                                        ./objects/Inputs/TriaP1Input.cpp\
    9293                                        ./objects/Inputs/BoolInput.h\
    9394                                        ./objects/Inputs/BoolInput.cpp\
     
    138139                                        ./objects/Params/DoubleMatParam.cpp\
    139140                                        ./objects/Params/DoubleMatParam.h\
     141                                        ./objects/Params/DoubleTransientMatParam.cpp\
     142                                        ./objects/Params/DoubleTransientMatParam.h\
    140143                                        ./objects/Params/DoubleMatArrayParam.cpp\
    141144                                        ./objects/Params/DoubleMatArrayParam.h\
     
    161164                                        ./Container/Nodes.h\
    162165                                        ./Container/Nodes.cpp\
     166                                        ./Container/Options.h\
     167                                        ./Container/Options.cpp\
    163168                                        ./Container/Parameters.h\
    164169                                        ./Container/Parameters.cpp\
     
    181186                                        ./shared/Numerics/GaussPoints.cpp\
    182187                                        ./shared/Numerics/cross.cpp\
     188                                        ./shared/Numerics/isnan.h\
     189                                        ./shared/Numerics/isnan.cpp\
    183190                                        ./shared/Numerics/extrema.cpp\
     191                                        ./shared/Numerics/XZvectorsToCoordinateSystem.cpp\
    184192                                        ./shared/Numerics/UnitConversion.cpp\
    185193                                        ./shared/Numerics/PetscOptionsFromAnalysis.cpp\
     
    244252                                        ./io/PrintfFunction.cpp\
    245253                                        ./EnumDefinitions/EnumDefinitions.h\
    246                                         ./EnumDefinitions/EnumToModelField.cpp\
    247254                                        ./modules/ModelProcessorx/ModelProcessorx.h\
    248255                                        ./modules/ModelProcessorx/ModelProcessorx.cpp\
     
    261268                                        ./modules/NodesDofx/NodesDofx.h\
    262269                                        ./modules/NodesDofx/NodesDofx.cpp\
     270                                        ./modules/NodalValuex/NodalValuex.h\
     271                                        ./modules/NodalValuex/NodalValuex.cpp\
    263272                                        ./modules/VerticesDofx/VerticesDofx.h\
    264273                                        ./modules/VerticesDofx/VerticesDofx.cpp\
     
    269278                                        ./modules/InputScalex/InputScalex.h\
    270279                                        ./modules/InputScalex/InputScalex.cpp\
     280                                        ./modules/SurfaceAreax/SurfaceAreax.h\
     281                                        ./modules/SurfaceAreax/SurfaceAreax.cpp\
    271282                                        ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h\
    272283                                        ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp\
     
    299310                                        ./modules/SpcNodesx/SpcNodesx.h\
    300311                                        ./modules/SpcNodesx/SpcNodesx.cpp\
     312                                        ./modules/PositiveDegreeDayx/PositiveDegreeDayx.h\
     313                                        ./modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp\
    301314                                        ./modules/UpdateConstraintsx/UpdateConstraintsx.h\
    302315                                        ./modules/UpdateConstraintsx/UpdateConstraintsx.cpp\
     
    313326                                        ./modules/SystemMatricesx/SystemMatricesx.cpp\
    314327                                        ./modules/SystemMatricesx/SystemMatricesx.h\
     328                                        ./modules/CreateJacobianMatrixx/CreateJacobianMatrixx.cpp\
     329                                        ./modules/CreateJacobianMatrixx/CreateJacobianMatrixx.h\
    315330                                        ./modules/ConstraintsStatex/ConstraintsStatex.cpp\
    316331                                        ./modules/ConstraintsStatex/ConstraintsStatex.h\
    317332                                        ./modules/ConstraintsStatex/ConstraintsStateLocal.h\
     333                                        ./modules/Responsex/Responsex.h\
     334                                        ./modules/Responsex/Responsex.cpp\
    318335                                        ./modules/RequestedOutputsx/RequestedOutputsx.h\
    319336                                        ./modules/RequestedOutputsx/RequestedOutputsx.cpp\
    320337                                        ./modules/ResetConstraintsx/ResetConstraintsx.h\
    321338                                        ./modules/ResetConstraintsx/ResetConstraintsx.cpp\
     339                                        ./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.h\
     340                                        ./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.cpp\
    322341                                        ./modules/Solverx/Solverx.cpp\
    323342                                        ./modules/Solverx/Solverx.h\
     
    332351                                        ./modules/InputConvergencex/InputConvergencex.h\
    333352                                        ./solutions/convergence.cpp\
     353                                        ./solutions/ProcessArguments.cpp\
    334354                                        ./solutions/WriteLockFile.cpp\
    335355                                        ./solutions/ResetBoundaryConditions.cpp\
     
    337357                                        ./solutions/CorePointerFromSolutionEnum.cpp\
    338358                                        ./solvers/solver_linear.cpp\
    339                                         ./solvers/solver_nonlinear.cpp
    340 
    341 
    342 libpISSM_a_CXXFLAGS = -fPIC -D_PARALLEL_   -D_C_ $(CXXOPTFLAGS)
     359                                        ./solvers/solver_nonlinear.cpp\
     360                                        ./solvers/solver_newton.cpp
    343361#}}}
    344362#DAKOTA sources  {{{1
    345 if DAKOTA
    346 libpISSM_a_SOURCES +=  ./objects/DakotaPlugin.h\
     363dakota_sources = ./objects/DakotaPlugin.h\
    347364                                          ./objects/DakotaPlugin.cpp\
    348365                                          ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.h\
     
    352369                                          ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h\
    353370                                          ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp\
     371                                          ./modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.h\
     372                                          ./modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.cpp\
    354373                                          ./modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp\
    355374                                          ./modules/AverageOntoPartitionx/AverageOntoPartitionx.h\
     
    359378                                          ./modules/Dakotax/DakotaFree.cpp\
    360379                                          ./modules/Dakotax/SpawnCore.cpp\
    361                                           ./modules/Dakotax/SpawnCoreParallel.cpp\
    362380                                          ./modules/Dakotax/DescriptorIndex.cpp\
    363381                                          ./modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp\
    364                                           ./modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp\
     382                                          ./modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp\
    365383                                          ./modules/AverageOntoPartitionx/AverageOntoPartitionx.h
    366 endif
     384dakota_psources= ./modules/Dakotax/SpawnCoreParallel.cpp
    367385#}}}
    368386#Transient sources  {{{1
    369 if TRANSIENT
    370 libpISSM_a_SOURCES +=  ./solutions/transient_core.cpp\
    371                                            ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp
    372 endif
     387transient_sources  = ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp
     388transient_psources = ./solutions/transient_core.cpp
    373389#}}}
    374390#Steadystate sources  {{{1
    375 if STEADYSTATE
    376 libpISSM_a_SOURCES += ./solutions/steadystate_core.cpp\
    377                                           ./solutions/steadystateconvergence.cpp
    378 endif
     391steadystate_psources = ./solutions/steadystate_core.cpp\
     392                                                ./solutions/steadystateconvergence.cpp
    379393#}}}
    380394#Prognostic sources  {{{1
    381 if PROGNOSTIC
    382 libpISSM_a_SOURCES +=  ./solutions/prognostic_core.cpp\
    383                                            ./modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp\
    384                                            ./modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp\
    385                                            ./modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp\
    386                                            ./modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
    387 
    388 endif
     395prognostic_sources = ./modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp\
     396                                              ./modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp\
     397                                              ./modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp\
     398                                              ./modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
     399prognostic_psources = ./solutions/prognostic_core.cpp
    389400#}}}
    390401#Thermal sources  {{{1
    391 if THERMAL
    392 libpISSM_a_SOURCES +=  ./solutions/thermal_core.cpp\
    393                                            ./solutions/thermal_core_step.cpp\
    394                                            ./solutions/enthalpy_core.cpp\
    395                                            ./solvers/solver_thermal_nonlinear.cpp\
    396                                            ./modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp\
     402thermal_sources = ./modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp\
    397403                                           ./modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp\
    398404                                           ./modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp\
     
    409415                                           ./modules/ConstraintsStatex/ThermalIsPresent.cpp\
    410416                                           ./modules/ResetConstraintsx/ThermalConstraintsReset.cpp
    411 endif
     417
     418thermal_psources = ./solutions/thermal_core.cpp\
     419                                            ./solutions/thermal_core_step.cpp\
     420                                            ./solutions/enthalpy_core.cpp\
     421                                            ./solutions/enthalpy_core_step.cpp\
     422                                            ./solvers/solver_thermal_nonlinear.cpp
    412423#}}}
    413424#Control sources  {{{1
    414 if CONTROL
    415 libpISSM_a_SOURCES += ./solutions/control_core.cpp\
    416                                           ./solutions/controltao_core.cpp\
    417                                           ./solutions/controlrestart.cpp\
    418                                           ./solutions/controlconvergence.cpp\
    419                                           ./solutions/objectivefunctionC.cpp\
    420                                           ./solutions/gradient_core.cpp\
    421                                           ./solutions/adjointdiagnostic_core.cpp\
    422                                           ./solutions/adjointbalancethickness_core.cpp\
    423                                           ./solutions/AdjointCorePointerFromSolutionEnum.cpp\
    424                                           ./solvers/solver_adjoint_linear.cpp\
    425                                           ./modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp\
     425control_sources= ./modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp\
    426426                                          ./modules/ControlInputGetGradientx/ControlInputGetGradientx.h\
    427427                                          ./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp\
     
    429429                                          ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.cpp\
    430430                                          ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.h\
     431                                          ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp\
     432                                          ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h\
     433                                          ./modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.cpp\
     434                                          ./modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.h\
    431435                                          ./modules/ModelProcessorx/Control/CreateParametersControl.cpp\
    432436                                          ./modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp\
     
    461465                                          ./shared/Numerics/BrentSearch.cpp\
    462466                                          ./shared/Numerics/OptimalSearch.cpp\
    463                                           ./shared/Numerics/OptFunc.cpp\
    464                                           ./objects/OptArgs.h\
    465                                           ./objects/OptPars.h
    466 
    467 endif
     467                                          ./shared/Numerics/OptFunc.cpp
     468
     469control_psources=./solutions/control_core.cpp\
     470                                          ./solutions/controltao_core.cpp\
     471                                          ./solutions/controlrestart.cpp\
     472                                          ./solutions/controlconvergence.cpp\
     473                                          ./solutions/objectivefunctionC.cpp\
     474                                          ./solutions/gradient_core.cpp\
     475                                          ./solutions/adjointdiagnostic_core.cpp\
     476                                          ./solutions/adjointbalancethickness_core.cpp\
     477                                          ./solutions/AdjointCorePointerFromSolutionEnum.cpp\
     478                                          ./solvers/solver_adjoint_linear.cpp
     479
    468480#}}}
    469481#Hydrology sources  {{{1
    470 if HYDROLOGY
    471 libpISSM_a_SOURCES += ./modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp\
    472                                           ./modules/ModelProcessorx/Hydrology/CreateNodesHydrology.cpp\
    473                                           ./modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp\
    474                                           ./modules/ModelProcessorx/Hydrology/CreateLoadsHydrology.cpp\
    475                                           ./solutions/hydrology_core.cpp\
    476                                           ./solutions/hydrology_core_step.cpp
    477 endif
     482hydrology_sources  = ./modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp\
     483                                              ./modules/ModelProcessorx/Hydrology/CreateNodesHydrology.cpp\
     484                                              ./modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp\
     485                                              ./modules/ModelProcessorx/Hydrology/CreateLoadsHydrology.cpp
     486                                         
     487hydrology_psources  = ./solutions/hydrology_core.cpp\
     488                                               ./solutions/hydrology_core_step.cpp
    478489#}}}
    479490#Diagnostic sources  {{{1
    480 if DIAGNOSTIC
    481 libpISSM_a_SOURCES += ./modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp\
    482                                           ./modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp \
    483                                           ./modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp \
    484                                           ./modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp\
    485                                           ./modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp\
    486                                           ./modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp \
    487                                           ./modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp \
    488                                           ./modules/ModelProcessorx/DiagnosticVert/CreateLoadsDiagnosticVert.cpp\
    489                                           ./modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp\
    490                                           ./modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp \
    491                                           ./modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp \
    492                                           ./modules/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp\
    493                                           ./solutions/diagnostic_core.cpp\
    494                                           ./solvers/solver_stokescoupling_nonlinear.cpp
    495 endif
     491diagnostic_sources = ./modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp\
     492                                              ./modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp \
     493                                              ./modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp \
     494                                              ./modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp\
     495                                              ./modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp\
     496                                              ./modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp \
     497                                              ./modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp \
     498                                              ./modules/ModelProcessorx/DiagnosticVert/CreateLoadsDiagnosticVert.cpp\
     499                                              ./modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp\
     500                                              ./modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp \
     501                                              ./modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp \
     502                                              ./modules/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp \
     503                                                        ./shared/Elements/CoordinateSystemTransform.cpp\
     504                                                        ./shared/Elements/TransformLoadVectorCoord.cpp \
     505                                                        ./shared/Elements/TransformStiffnessMatrixCoord.cpp \
     506                                                        ./shared/Elements/TransformInvStiffnessMatrixCoord.cpp \
     507                                                        ./shared/Elements/TransformSolutionCoord.cpp
     508diagnostic_psources =./solutions/diagnostic_core.cpp\
     509                                              ./solvers/solver_stokescoupling_nonlinear.cpp
    496510#}}}
    497511#Balanced sources  {{{1
    498 if BALANCED
    499 libpISSM_a_SOURCES += ./modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp\
    500                                           ./modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp\
    501                                           ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\
    502                                           ./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp\
    503                                           ./solutions/balancethickness_core.cpp
    504 endif
     512balanced_sources = ./modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp\
     513                                            ./modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp\
     514                                            ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\
     515                                            ./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp
     516balanced_psources = ./solutions/balancethickness_core.cpp
    505517#}}}
    506518#Responses sources  {{{1
    507 if RESPONSES
    508 libpISSM_a_SOURCES += ./modules/MinVelx/MinVelx.h\
    509                                           ./modules/MinVelx/MinVelx.cpp\
    510                                           ./modules/MaxVelx/MaxVelx.h\
    511                                           ./modules/MaxVelx/MaxVelx.cpp\
    512                                           ./modules/MaxAbsVxx/MaxAbsVxx.h\
    513                                           ./modules/MaxAbsVxx/MaxAbsVxx.cpp\
    514                                           ./modules/MaxAbsVyx/MaxAbsVyx.h\
    515                                           ./modules/MaxAbsVyx/MaxAbsVyx.cpp\
    516                                           ./modules/MaxAbsVzx/MaxAbsVzx.h\
    517                                           ./modules/MaxAbsVzx/MaxAbsVzx.cpp\
    518                                           ./modules/MaxVxx/MaxVxx.h\
    519                                           ./modules/MaxVxx/MaxVxx.cpp\
    520                                           ./modules/MaxVyx/MaxVyx.h\
    521                                           ./modules/MaxVyx/MaxVyx.cpp\
    522                                           ./modules/MaxVzx/MaxVzx.h\
    523                                           ./modules/MaxVzx/MaxVzx.cpp\
    524                                           ./modules/MinVxx/MinVxx.h\
    525                                           ./modules/MinVxx/MinVxx.cpp\
    526                                           ./modules/MinVyx/MinVyx.h\
    527                                           ./modules/MinVyx/MinVyx.cpp\
    528                                           ./modules/MinVzx/MinVzx.h\
    529                                           ./modules/MinVzx/MinVzx.cpp\
    530                                           ./modules/RheologyBbarx/RheologyBbarx.cpp\
    531                                           ./modules/RheologyBbarx/RheologyBbarx.h\
    532                                           ./modules/MassFluxx/MassFluxx.cpp\
    533                                           ./modules/MassFluxx/MassFluxx.h\
    534                                           ./modules/NodalValuex/NodalValuex.h\
    535                                           ./modules/NodalValuex/NodalValuex.cpp\
    536                                           ./modules/SurfaceAreax/SurfaceAreax.h\
    537                                           ./modules/SurfaceAreax/SurfaceAreax.cpp\
    538                                           ./modules/Responsex/Responsex.h\
    539                                           ./modules/Responsex/Responsex.cpp
    540 endif
     519responses_sources = ./modules/MinVelx/MinVelx.h\
     520                                             ./modules/MinVelx/MinVelx.cpp\
     521                                             ./modules/MaxVelx/MaxVelx.h\
     522                                             ./modules/MaxVelx/MaxVelx.cpp\
     523                                             ./modules/MaxAbsVxx/MaxAbsVxx.h\
     524                                             ./modules/MaxAbsVxx/MaxAbsVxx.cpp\
     525                                             ./modules/MaxAbsVyx/MaxAbsVyx.h\
     526                                             ./modules/MaxAbsVyx/MaxAbsVyx.cpp\
     527                                             ./modules/MaxAbsVzx/MaxAbsVzx.h\
     528                                             ./modules/MaxAbsVzx/MaxAbsVzx.cpp\
     529                                             ./modules/MaxVxx/MaxVxx.h\
     530                                             ./modules/MaxVxx/MaxVxx.cpp\
     531                                             ./modules/MaxVyx/MaxVyx.h\
     532                                             ./modules/MaxVyx/MaxVyx.cpp\
     533                                             ./modules/MaxVzx/MaxVzx.h\
     534                                             ./modules/MaxVzx/MaxVzx.cpp\
     535                                             ./modules/MinVxx/MinVxx.h\
     536                                             ./modules/MinVxx/MinVxx.cpp\
     537                                             ./modules/MinVyx/MinVyx.h\
     538                                             ./modules/MinVyx/MinVyx.cpp\
     539                                             ./modules/MinVzx/MinVzx.h\
     540                                             ./modules/MinVzx/MinVzx.cpp\
     541                                             ./modules/IceVolumex/IceVolumex.h\
     542                                             ./modules/IceVolumex/IceVolumex.cpp\
     543                                             ./modules/ElementResponsex/ElementResponsex.h\
     544                                             ./modules/ElementResponsex/ElementResponsex.cpp\
     545                                             ./modules/MassFluxx/MassFluxx.cpp\
     546                                             ./modules/MassFluxx/MassFluxx.h
    541547#}}}
    542548#Slope sources  {{{1
    543 if SLOPE
    544 libpISSM_a_SOURCES += ./modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp\
     549slope_sources =  ./modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp\
    545550                                          ./modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp \
    546551                                          ./modules/ModelProcessorx/BedSlope/CreateConstraintsBedSlope.cpp\
     
    549554                                          ./modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp \
    550555                                          ./modules/ModelProcessorx/SurfaceSlope/CreateConstraintsSurfaceSlope.cpp\
    551                                           ./modules/ModelProcessorx/SurfaceSlope/CreateLoadsSurfaceSlope.cpp\
    552                                           ./solutions/surfaceslope_core.cpp\
     556                                          ./modules/ModelProcessorx/SurfaceSlope/CreateLoadsSurfaceSlope.cpp
     557slope_psources = ./solutions/surfaceslope_core.cpp\
    553558                                          ./solutions/bedslope_core.cpp
    554 endif
    555 #}}}
    556 #GroundingLine sources  {{{1
     559#}}}
     560#Groundingline sources  {{{1
     561groundingline_sources= ./modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp\
     562                                                ./modules/GroundinglineMigrationx/GroundinglineMigrationx.h
     563#}}}
     564#Rifts sources  {{{1
     565rifts_sources = ./objects/Loads/Riftfront.cpp\
     566                                    ./objects/Loads/Riftfront.h\
     567                                    ./modules/ConstraintsStatex/RiftConstraintsState.cpp
     568#}}}
     569#3D sources  {{{1
     570threed_sources = ./objects/Gauss/GaussPenta.h\
     571                                     ./objects/Gauss/GaussPenta.cpp\
     572                                     ./objects/ElementResults/PentaP1ElementResult.h\
     573                                     ./objects/ElementResults/PentaP1ElementResult.cpp\
     574                                     ./objects/Inputs/PentaP1Input.h\
     575                                     ./objects/Inputs/PentaP1Input.cpp\
     576                                     ./objects/Elements/Penta.h\
     577                                     ./objects/Elements/Penta.cpp\
     578                                     ./objects/Elements/PentaHook.h\
     579                                     ./objects/Elements/PentaHook.cpp\
     580                                     ./objects/Elements/PentaRef.h\
     581                                     ./objects/Elements/PentaRef.cpp
     582#}}}
     583#Bamg sources  {{{1
     584bamg_sources =  ./objects/Bamg/BamgGeom.h\
     585                                ./objects/Bamg/BamgGeom.cpp\
     586                                ./objects/Bamg/BamgMesh.h\
     587                                ./objects/Bamg/BamgMesh.cpp\
     588                                ./objects/Bamg/BamgOpts.h\
     589                                ./objects/Bamg/BamgOpts.cpp\
     590                                ./objects/Bamg/CrackedEdge.h\
     591                                ./objects/Bamg/CrackedEdge.cpp\
     592                                ./objects/Bamg/Curve.h\
     593                                ./objects/Bamg/Curve.cpp\
     594                                ./objects/Bamg/Direction.h\
     595                                ./objects/Bamg/Direction.cpp\
     596                                ./objects/Bamg/DoubleAndInt.h\
     597                                ./objects/Bamg/Edge.h\
     598                                ./objects/Bamg/Edge.cpp\
     599                                ./objects/Bamg/GeomEdge.h\
     600                                ./objects/Bamg/GeomEdge.cpp\
     601                                ./objects/Bamg/GeomSubDomain.h\
     602                                ./objects/Bamg/GeomSubDomain.cpp\
     603                                ./objects/Bamg/GeomVertex.h\
     604                                ./objects/Bamg/GeomVertex.cpp\
     605                                ./objects/Bamg/Geometry.cpp\
     606                                ./objects/Bamg/Geometry.h\
     607                                ./objects/Bamg/ListofIntersectionTriangles.cpp\
     608                                ./objects/Bamg/ListofIntersectionTriangles.h\
     609                                ./objects/Bamg/EigenMetric.cpp\
     610                                ./objects/Bamg/Metric.cpp\
     611                                ./objects/Bamg/Metric.h\
     612                                ./objects/Bamg/QuadTree.cpp\
     613                                ./objects/Bamg/QuadTree.h\
     614                                ./objects/Bamg/R2.h\
     615                                ./objects/Bamg/SetOfE4.cpp\
     616                                ./objects/Bamg/SetOfE4.h\
     617                                ./objects/Bamg/SubDomain.h\
     618                                ./objects/Bamg/SubDomain.cpp\
     619                                ./objects/Bamg/AdjacentTriangle.h\
     620                                ./objects/Bamg/AdjacentTriangle.cpp\
     621                                ./objects/Bamg/Triangle.cpp\
     622                                ./objects/Bamg/Triangle.h\
     623                                ./objects/Bamg/BamgVertex.cpp\
     624                                ./objects/Bamg/BamgVertex.h\
     625                                ./objects/Bamg/VertexOnEdge.h\
     626                                ./objects/Bamg/VertexOnEdge.cpp\
     627                                ./objects/Bamg/VertexOnGeom.h\
     628                                ./objects/Bamg/VertexOnGeom.cpp\
     629                                ./objects/Bamg/VertexOnVertex.h\
     630                                ./objects/Bamg/VertexOnVertex.cpp\
     631                                ./objects/Bamg/Mesh.cpp\
     632                                ./objects/Bamg/Mesh.h\
     633                                ./shared/Bamg/Abs.h \
     634                                ./shared/Bamg/BigPrimeNumber.h\
     635                                ./shared/Bamg/BigPrimeNumber.cpp\
     636                                ./shared/Bamg/BinaryRand.h \
     637                                ./shared/Bamg/det.h \
     638                                ./shared/Bamg/Exchange.h \
     639                                ./shared/Bamg/extrema.h \
     640                                ./shared/Bamg/HeapSort.h \
     641                                ./shared/Bamg/OppositeAngle.h \
     642                                ./modules/Bamgx/Bamgx.cpp\
     643                                ./modules/Bamgx/Bamgx.h\
     644                                ./modules/BamgConvertMeshx/BamgConvertMeshx.cpp\
     645                                ./modules/BamgConvertMeshx/BamgConvertMeshx.h\
     646                                ./modules/BamgTriangulatex/BamgTriangulatex.cpp\
     647                                ./modules/BamgTriangulatex/BamgTriangulatex.h
     648#}}}
     649#Kml sources  {{{1
     650kml_sources = ./modules/Exp2Kmlx/Exp2Kmlx.h\
     651                             ./modules/Exp2Kmlx/Exp2Kmlx.cpp\
     652                             ./modules/Kml2Expx/Kml2Expx.h\
     653                             ./modules/Kml2Expx/Kml2Expx.cpp\
     654                             ./modules/Shp2Kmlx/Shp2Kmlx.h\
     655                             ./modules/Shp2Kmlx/Shp2Kmlx.cpp\
     656                             ./modules/KMLFileReadx/KMLFileReadx.h\
     657                             ./modules/KMLFileReadx/KMLFileReadx.cpp\
     658                             ./modules/KMLMeshWritex/KMLMeshWritex.h\
     659                             ./modules/KMLMeshWritex/KMLMeshWritex.cpp\
     660                             ./modules/KMLOverlayx/KMLOverlayx.h\
     661                             ./modules/KMLOverlayx/KMLOverlayx.cpp\
     662                             ./objects/KML/KML_Attribute.cpp\
     663                             ./objects/KML/KML_Attribute.h\
     664                             ./objects/KML/KML_Comment.cpp\
     665                             ./objects/KML/KML_Comment.h\
     666                             ./objects/KML/KML_ColorStyle.cpp\
     667                             ./objects/KML/KML_ColorStyle.h\
     668                             ./objects/KML/KML_Container.cpp\
     669                             ./objects/KML/KML_Container.h\
     670                             ./objects/KML/KML_Document.cpp\
     671                             ./objects/KML/KML_Document.h\
     672                             ./objects/KML/KML_Feature.cpp\
     673                             ./objects/KML/KML_Feature.h\
     674                             ./objects/KML/KML_File.cpp\
     675                             ./objects/KML/KML_File.h\
     676                             ./objects/KML/KML_Folder.cpp\
     677                             ./objects/KML/KML_Folder.h\
     678                             ./objects/KML/KML_Geometry.cpp\
     679                             ./objects/KML/KML_Geometry.h\
     680                             ./objects/KML/KML_GroundOverlay.cpp\
     681                             ./objects/KML/KML_GroundOverlay.h\
     682                             ./objects/KML/KML_Icon.cpp\
     683                             ./objects/KML/KML_Icon.h\
     684                             ./objects/KML/KML_LatLonBox.cpp\
     685                             ./objects/KML/KML_LatLonBox.h\
     686                             ./objects/KML/KML_LinearRing.cpp\
     687                             ./objects/KML/KML_LinearRing.h\
     688                             ./objects/KML/KML_LineString.cpp\
     689                             ./objects/KML/KML_LineString.h\
     690                             ./objects/KML/KML_LineStyle.cpp\
     691                             ./objects/KML/KML_LineStyle.h\
     692                             ./objects/KML/KML_MultiGeometry.cpp\
     693                             ./objects/KML/KML_MultiGeometry.h\
     694                             ./objects/KML/KML_Object.cpp\
     695                             ./objects/KML/KML_Object.h\
     696                             ./objects/KML/KML_Overlay.cpp\
     697                             ./objects/KML/KML_Overlay.h\
     698                             ./objects/KML/KML_Point.cpp\
     699                             ./objects/KML/KML_Point.h\
     700                             ./objects/KML/KML_Placemark.cpp\
     701                             ./objects/KML/KML_Placemark.h\
     702                             ./objects/KML/KML_Polygon.cpp\
     703                             ./objects/KML/KML_Polygon.h\
     704                             ./objects/KML/KML_PolyStyle.cpp\
     705                             ./objects/KML/KML_PolyStyle.h\
     706                             ./objects/KML/KML_Style.cpp\
     707                             ./objects/KML/KML_Style.h\
     708                             ./objects/KML/KML_StyleSelector.cpp\
     709                             ./objects/KML/KML_StyleSelector.h\
     710                             ./objects/KML/KML_SubStyle.cpp\
     711                             ./objects/KML/KML_SubStyle.h\
     712                             ./objects/KML/KML_Unknown.cpp\
     713                             ./objects/KML/KML_Unknown.h\
     714                             ./objects/KML/KMLFileReadUtils.cpp\
     715                             ./objects/KML/KMLFileReadUtils.h
     716#}}}
     717#Matlab sources  {{{1
     718matlab_sources= ./shared/Matlab/matlabshared.h\
     719                                    ./shared/Matlab/ModuleBoot.cpp\
     720                                    ./shared/Matlab/ModuleEnd.cpp\
     721                                    ./shared/Matlab/mxGetAssignedField.cpp\
     722                                    ./shared/Matlab/mxGetField.cpp\
     723                                    ./shared/Matlab/CheckNumMatlabArguments.cpp\
     724                                    ./toolkits/matlab/matlabincludes.h\
     725                                    ./toolkits/matlab/MatlabNArrayToNArray.cpp\
     726                                    ./io/Matlab/matlabio.h\
     727                                    ./io/Matlab/WriteMatlabData.cpp\
     728                                    ./io/Matlab/FetchMatlabData.cpp\
     729                                    ./io/Matlab/OptionParse.cpp
     730#}}}
     731#Serialsources  {{{1
     732serial_sources= ./objects/Options/Option.cpp\
     733                        ./objects/Options/Option.h\
     734                        ./objects/Options/OptionDouble.cpp\
     735                        ./objects/Options/OptionDouble.h\
     736                        ./objects/Options/OptionLogical.cpp\
     737                        ./objects/Options/OptionLogical.h\
     738                        ./objects/Options/OptionChar.cpp\
     739                        ./objects/Options/OptionChar.h\
     740                        ./objects/Options/OptionStruct.cpp\
     741                        ./objects/Options/OptionStruct.h\
     742                        ./objects/Options/OptionCell.cpp\
     743                        ./objects/Options/OptionCell.h\
     744                        ./objects/Options/OptionUtilities.cpp\
     745                        ./objects/Options/OptionUtilities.h\
     746                        ./shared/Threads/issm_threads.h\
     747                        ./shared/Threads/LaunchThread.cpp\
     748                        ./shared/Threads/PartitionRange.cpp\
     749                        ./shared/Exp/exp.h\
     750                        ./shared/Exp/IsInPoly.cpp\
     751                        ./shared/Exp/IsInPolySerial.cpp\
     752                        ./shared/Exp/DomainOutlineRead.cpp\
     753                        ./shared/Exp/DomainOutlineWrite.cpp\
     754                        ./shared/TriMesh/trimesh.h\
     755                        ./shared/TriMesh/AssociateSegmentToElement.cpp\
     756                        ./shared/TriMesh/GridInsideHole.cpp\
     757                        ./shared/TriMesh/OrderSegments.cpp\
     758                        ./shared/TriMesh/SplitMeshForRifts.cpp\
     759                        ./shared/TriMesh/TriMeshUtils.cpp\
     760                        ./modules/AddExternalResultx/AddExternalResultx.h\
     761                        ./modules/AddExternalResultx/AddExternalResultx.cpp\
     762                        ./modules/Chacox/Chacox.h\
     763                        ./modules/Chacox/Chacox.cpp\
     764                        ./modules/Chacox/input_parse.cpp\
     765                        ./modules/Chacox/chaco_seconds.cpp\
     766                        ./modules/Chacox/user_params.cpp\
     767                        ./modules/Dakotax/SpawnCoreSerial.cpp\
     768                        ./modules/TriaSearchx/TriaSearchx.h\
     769                        ./modules/TriaSearchx/TriaSearchx.cpp\
     770                        ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h\
     771                        ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp\
     772                        ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp\
     773                        ./modules/Xy2llx/Xy2llx.h\
     774                        ./modules/Xy2llx/Xy2llx.cpp\
     775                        ./modules/Ll2xyx/Ll2xyx.h\
     776                        ./modules/Ll2xyx/Ll2xyx.cpp\
     777                        ./modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp\
     778                        ./modules/InterpFromGridToMeshx/InterpFromGridToMeshx.h\
     779                        ./modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp\
     780                        ./modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp\
     781                        ./modules/InterpFromMesh2dx/InterpFromMesh2dx.h\
     782                        ./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp\
     783                        ./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.h\
     784                        ./modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp\
     785                        ./modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.h\
     786                        ./modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp\
     787                        ./modules/InterpFromMeshToGridx/InterpFromMeshToGridx.h\
     788                        ./modules/HoleFillerx/HoleFillerx.cpp\
     789                        ./modules/HoleFillerx/HoleFillerx.h\
     790                        ./modules/AverageFilterx/AverageFilterx.cpp\
     791                        ./modules/AverageFilterx/AverageFilterx.h\
     792                        ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp\
     793                        ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.h\
     794                        ./modules/MeshProfileIntersectionx/MeshSegmentsIntersection.cpp\
     795                        ./modules/MeshProfileIntersectionx/ElementSegmentsIntersection.cpp\
     796                        ./modules/MeshProfileIntersectionx/ElementSegment.cpp\
     797                        ./modules/MeshProfileIntersectionx/SegmentIntersect.cpp\
     798                        ./modules/MeshProfileIntersectionx/NodeInElement.cpp\
     799                        ./modules/ContourToMeshx/ContourToMeshx.cpp\
     800                        ./modules/ContourToMeshx/ContourToMeshxt.cpp\
     801                        ./modules/ContourToMeshx/ContourToMeshx.h\
     802                        ./modules/ContourToNodesx/ContourToNodesx.cpp\
     803                        ./modules/ContourToNodesx/ContourToNodesx.h\
     804                        ./modules/Reducevectorgtosx/Reducevectorgtosx.cpp\
     805                        ./modules/Reducevectorgtosx/Reducevectorgtosx.h\
     806                        ./modules/NodeConnectivityx/NodeConnectivityx.cpp\
     807                        ./modules/NodeConnectivityx/NodeConnectivityx.h\
     808                        ./modules/ElementConnectivityx/ElementConnectivityx.cpp\
     809                        ./modules/ElementConnectivityx/ElementConnectivityx.h\
     810                        ./modules/Scotchx/Scotchx.cpp\
     811                        ./modules/Scotchx/Scotchx.h\
     812                        ./modules/PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.cpp\
     813                        ./modules/PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.h
     814#}}}
     815
     816#ISSM sources are a combination of core sources and sources related to specific capabilities (which can
     817#be activated by autotools conditionals
     818#{{{1
     819
     820#First the core
     821issm_sources  =  $(core_sources)
     822issm_psources = 
     823
     824#Now the optional source
     825if DAKOTA
     826issm_sources  +=  $(dakota_sources)
     827issm_psources +=  $(dakota_psources)
     828endif
     829
     830if TRANSIENT
     831issm_sources  +=  $(transient_sources)
     832issm_psources +=  $(transient_psources)
     833endif
     834
     835if STEADYSTATE
     836issm_sources  +=  $(steadystate_sources)
     837issm_psources +=  $(steadystate_psources)
     838endif
     839
     840if PROGNOSTIC
     841issm_sources  +=  $(prognostic_sources)
     842issm_psources +=  $(prognostic_psources)
     843endif
     844
     845if THERMAL
     846issm_sources  +=  $(thermal_sources)
     847issm_psources +=  $(thermal_psources)
     848endif
     849
     850if CONTROL
     851issm_sources  +=  $(control_sources)
     852issm_psources +=  $(control_psources)
     853endif
     854
     855if HYDROLOGY
     856issm_sources  +=  $(hydrology_sources)
     857issm_psources +=  $(hydrology_psources)
     858endif
     859
     860if DIAGNOSTIC
     861issm_sources  +=  $(diagnostic_sources)
     862issm_psources +=  $(diagnostic_psources)
     863endif
     864
     865if BALANCED
     866issm_sources  +=  $(balanced_sources)
     867issm_psources +=  $(balanced_psources)
     868endif
     869
     870if RESPONSES
     871issm_sources +=  $(responses_sources)
     872endif
     873
     874if SLOPE
     875issm_sources  +=  $(slope_sources)
     876issm_psources +=  $(slope_psources)
     877endif
     878
    557879if GROUNDINGLINE
    558 libpISSM_a_SOURCES += ./modules/GroundingLineMigrationx/GroundingLineMigrationx.cpp\
    559                                           ./modules/GroundingLineMigrationx/GroundingLineMigrationx.h\
    560                                           ./modules/GroundingLineMigrationx/GroundingLineMigrationxLocal.h\
    561                                           ./modules/GroundingLineMigrationx/GroundingLineMigrationxUtils.cpp\
    562                                           ./solutions/groundinglinemigration2d_core.cpp
    563 endif
    564 #}}}
    565 #Rifts sources  {{{1
     880issm_sources +=  $(groundingline_sources)
     881endif
     882
    566883if RIFTS
    567 libpISSM_a_SOURCES += ./objects/Loads/Riftfront.cpp\
    568                                           ./objects/Loads/Riftfront.h\
    569                                           ./modules/ConstraintsStatex/RiftConstraintsState.cpp
    570 endif
    571 #}}}
    572 #3D sources  {{{1
     884issm_sources +=  $(rifts_sources)
     885endif
     886
    573887if THREED
    574 libpISSM_a_SOURCES += ./objects/Gauss/GaussPenta.h\
    575                                           ./objects/Gauss/GaussPenta.cpp\
    576                                           ./objects/ElementResults/PentaVertexElementResult.h\
    577                                           ./objects/ElementResults/PentaVertexElementResult.cpp\
    578                                           ./objects/Inputs/PentaVertexInput.h\
    579                                           ./objects/Inputs/PentaVertexInput.cpp\
    580                                           ./objects/Elements/Penta.h\
    581                                           ./objects/Elements/Penta.cpp\
    582                                           ./objects/Elements/PentaHook.h\
    583                                           ./objects/Elements/PentaHook.cpp\
    584                                           ./objects/Elements/PentaRef.h\
    585                                           ./objects/Elements/PentaRef.cpp
    586 endif
    587 #}}}
    588 
    589 #ADIC2 library, for automatic differentiation {{{1
    590 if ADIC2
     888issm_sources +=  $(threed_sources)
     889endif
     890#}}}
     891
     892#ISSM serial library {{{1
     893libISSM_a_SOURCES  = $(issm_sources)
     894libISSM_a_SOURCES += $(serial_sources)
     895libISSM_a_SOURCES += $(bamg_sources)
     896libISSM_a_SOURCES += $(kml_sources)
     897libISSM_a_SOURCES += $(matlab_sources)
     898
     899libISSM_a_CXXFLAGS = -fPIC -DMATLAB -D_SERIAL_ -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_  $(CXXFLAGS) $(CXXOPTFLAGS)
     900if LARGEARRAYS
     901libISSM_a_CXXFLAGS += -D__GCC4BUILD__ 
     902else
     903libISSM_a_CXXFLAGS += -DMX_COMPAT_32
     904endif
     905#}}}
     906#ISSM parallel library {{{1
     907libpISSM_a_SOURCES  = $(issm_sources)
     908libpISSM_a_SOURCES += $(issm_psources)
     909libpISSM_a_CXXFLAGS = -fPIC -D_PARALLEL_   -D_C_ $(CXXFLAGS) $(CXXOPTFLAGS)
     910#}}}
     911#Overload library, to overload any non-standard symbols. {{{1
     912libOverload_a_SOURCES = ./shared/String/stricmp.c
     913libOverload_a_CFLAGS  = -fPIC -D_PARALLEL_   -D_C_ $(COPTFLAGS) $(CFLAGS)
     914#}}}
     915
     916#Executable {{{1
     917if NOPARALLEL
     918bin_PROGRAMS =
     919else
     920bin_PROGRAMS = issm
     921endif
     922
     923#Standard libraries
     924LDADD =      ./libpISSM.a ./libOverload.a
     925
     926#External packages
     927LDADD += $(PETSCLIB) $(TAOLIB) $(FLIBS) $(PLAPACKLIB)  $(MUMPSLIB) $(SCALAPACKLIB)  $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB)  $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS)
     928
     929issm_SOURCES = solutions/issm.cpp
     930issm_CXXFLAGS= -fPIC -D_PARALLEL_  $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS)
     931#}}}
     932
     933#Automatic differentiation: append this fold to the end of the src/c/Makefile.am to get this Makefile.am {{{
     934if ADIC2
     935lib_LIBRARIES += libAD.a libpISSMRose.a
     936
     937#ADIC2 library, for automatic differentiation
    591938#libAD_a_SOURCES = ./mini1.ad.c
    592939libAD_a_SOURCES =
    593940libAD_a_CFLAGS = -fPIC -D_PARALLEL_   -D_C_ $(COPTFLAGS)
    594941
     942
     943
    595944#test rose preprocessing
    596945%.r2cpp.cpp : %.cpp
    597946        testTranslator -rose:o $@ -rose:skipfinalCompileStep -DHAVE_CONFIG_H -D_PARALLEL_ -D_C_ -I. -I../.. $(INCLUDES) $<
    598 
    599947libpISSMRose_a_SOURCES = $(libpISSM_a_SOURCES:.cpp=.r2cpp.cpp)
    600948libpISSMRose_a_CXXFLAGS= -fPIC -D_PARALLEL_ -D_C_ $(CXXOPTFLAGS)
     949
     950
     951
    601952#Automatic differentiation rules:
    602953%.ad.c: %.c
    603954        adic2 -mforward  $< --nary
    604 endif
    605 #}}}
    606 #Executable {{{1
    607 
    608 if NOPARALLEL
    609 bin_PROGRAMS =
    610 else
    611 bin_PROGRAMS = issm.exe issmRose.exe
    612 endif
    613 
    614 #Standard libraries
    615 LDADD =      ./libOverload.a
    616 issm_exe_LDADD = ./libpISSM.a $(LDADD)
    617 if ADIC2
     955
     956
     957
     958#Executable
     959bin_PROGRAMS +=  issmRose.exe
    618960issmRose_exe_LDADD = ./libpISSMRose.a $(LDADD)
    619 endif
    620 
    621 #External packages
    622 LDADD += $(PETSCLIB) $(TAOLIB) $(FLIBS) $(PLAPACKLIB)  $(MUMPSLIB) $(SCALAPACKLIB)  $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB)  $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(ADIC2LIB)
    623 
    624 
    625 issm_exe_SOURCES = solutions/issm.cpp
    626 issm_exe_CXXFLAGS= -fPIC -D_PARALLEL_  $(CXXOPTFLAGS) $(COPTFLAGS)
    627961issmRose_exe_SOURCES = solutions/issm.cpp
    628962issmRose_exe_CXXFLAGS= -fPIC -D_PARALLEL_  $(CXXOPTFLAGS) $(COPTFLAGS)
    629 
    630 #}}}
     963LDADD +=  $(ADIC2LIB)
     964
     965endif #}}}
Note: See TracChangeset for help on using the changeset viewer.