Changeset 11658
- Timestamp:
- 03/07/12 13:52:17 (13 years ago)
- 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 1 INCLUDES = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @MPIINCL@ @MATLABINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @HYPREINCL@ @MLINCL@ @TAOINCL@ 2 EXEEXT=$(ISSMEXT) 7 3 8 4 #Library declaration {{{1 9 5 #Compile serial library, and then try and compile parallel library 6 if NOSERIAL 10 7 if NOPARALLEL 11 8 lib_LIBRARIES = 12 9 else 13 lib_LIBRARIES = libpISSM.a 14 endif 15 16 if ADIC217 lib_LIBRARIES += libAD.a libpISSMRose.a18 e ndif19 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{{{126 libpISSM_a_SOURCES= ./include/macros.h\10 lib_LIBRARIES = libpISSM.a libOverload.a 11 endif 12 else 13 if NOPARALLEL 14 lib_LIBRARIES = libISSM.a libOverload.a 15 else 16 lib_LIBRARIES = libISSM.a libpISSM.a libOverload.a 17 endif 18 endif 19 #}}} 20 21 #sources 22 #Core sources{{{1 23 core_sources = ./include/macros.h\ 27 24 ./include/typedefs.h\ 28 25 ./include/types.h\ … … 38 35 ./objects/Material.h\ 39 36 ./objects/Load.h\ 37 ./objects/Contour.h\ 38 ./objects/Contour.cpp\ 39 ./objects/OptArgs.h\ 40 ./objects/OptPars.h\ 40 41 ./objects/Loads/Friction.h\ 41 42 ./objects/Loads/Friction.cpp\ … … 61 62 ./objects/ElementResults/DoubleElementResult.h\ 62 63 ./objects/ElementResults/DoubleElementResult.cpp\ 63 ./objects/ElementResults/Tria VertexElementResult.h\64 ./objects/ElementResults/Tria VertexElementResult.cpp\64 ./objects/ElementResults/TriaP1ElementResult.h\ 65 ./objects/ElementResults/TriaP1ElementResult.cpp\ 65 66 ./objects/ElementResults/BoolElementResult.h\ 66 67 ./objects/ElementResults/BoolElementResult.cpp\ … … 88 89 ./objects/Inputs/Input.h\ 89 90 ./objects/Inputs/InputLocal.h\ 90 ./objects/Inputs/Tria VertexInput.h\91 ./objects/Inputs/Tria VertexInput.cpp\91 ./objects/Inputs/TriaP1Input.h\ 92 ./objects/Inputs/TriaP1Input.cpp\ 92 93 ./objects/Inputs/BoolInput.h\ 93 94 ./objects/Inputs/BoolInput.cpp\ … … 138 139 ./objects/Params/DoubleMatParam.cpp\ 139 140 ./objects/Params/DoubleMatParam.h\ 141 ./objects/Params/DoubleTransientMatParam.cpp\ 142 ./objects/Params/DoubleTransientMatParam.h\ 140 143 ./objects/Params/DoubleMatArrayParam.cpp\ 141 144 ./objects/Params/DoubleMatArrayParam.h\ … … 161 164 ./Container/Nodes.h\ 162 165 ./Container/Nodes.cpp\ 166 ./Container/Options.h\ 167 ./Container/Options.cpp\ 163 168 ./Container/Parameters.h\ 164 169 ./Container/Parameters.cpp\ … … 181 186 ./shared/Numerics/GaussPoints.cpp\ 182 187 ./shared/Numerics/cross.cpp\ 188 ./shared/Numerics/isnan.h\ 189 ./shared/Numerics/isnan.cpp\ 183 190 ./shared/Numerics/extrema.cpp\ 191 ./shared/Numerics/XZvectorsToCoordinateSystem.cpp\ 184 192 ./shared/Numerics/UnitConversion.cpp\ 185 193 ./shared/Numerics/PetscOptionsFromAnalysis.cpp\ … … 244 252 ./io/PrintfFunction.cpp\ 245 253 ./EnumDefinitions/EnumDefinitions.h\ 246 ./EnumDefinitions/EnumToModelField.cpp\247 254 ./modules/ModelProcessorx/ModelProcessorx.h\ 248 255 ./modules/ModelProcessorx/ModelProcessorx.cpp\ … … 261 268 ./modules/NodesDofx/NodesDofx.h\ 262 269 ./modules/NodesDofx/NodesDofx.cpp\ 270 ./modules/NodalValuex/NodalValuex.h\ 271 ./modules/NodalValuex/NodalValuex.cpp\ 263 272 ./modules/VerticesDofx/VerticesDofx.h\ 264 273 ./modules/VerticesDofx/VerticesDofx.cpp\ … … 269 278 ./modules/InputScalex/InputScalex.h\ 270 279 ./modules/InputScalex/InputScalex.cpp\ 280 ./modules/SurfaceAreax/SurfaceAreax.h\ 281 ./modules/SurfaceAreax/SurfaceAreax.cpp\ 271 282 ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h\ 272 283 ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp\ … … 299 310 ./modules/SpcNodesx/SpcNodesx.h\ 300 311 ./modules/SpcNodesx/SpcNodesx.cpp\ 312 ./modules/PositiveDegreeDayx/PositiveDegreeDayx.h\ 313 ./modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp\ 301 314 ./modules/UpdateConstraintsx/UpdateConstraintsx.h\ 302 315 ./modules/UpdateConstraintsx/UpdateConstraintsx.cpp\ … … 313 326 ./modules/SystemMatricesx/SystemMatricesx.cpp\ 314 327 ./modules/SystemMatricesx/SystemMatricesx.h\ 328 ./modules/CreateJacobianMatrixx/CreateJacobianMatrixx.cpp\ 329 ./modules/CreateJacobianMatrixx/CreateJacobianMatrixx.h\ 315 330 ./modules/ConstraintsStatex/ConstraintsStatex.cpp\ 316 331 ./modules/ConstraintsStatex/ConstraintsStatex.h\ 317 332 ./modules/ConstraintsStatex/ConstraintsStateLocal.h\ 333 ./modules/Responsex/Responsex.h\ 334 ./modules/Responsex/Responsex.cpp\ 318 335 ./modules/RequestedOutputsx/RequestedOutputsx.h\ 319 336 ./modules/RequestedOutputsx/RequestedOutputsx.cpp\ 320 337 ./modules/ResetConstraintsx/ResetConstraintsx.h\ 321 338 ./modules/ResetConstraintsx/ResetConstraintsx.cpp\ 339 ./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.h\ 340 ./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.cpp\ 322 341 ./modules/Solverx/Solverx.cpp\ 323 342 ./modules/Solverx/Solverx.h\ … … 332 351 ./modules/InputConvergencex/InputConvergencex.h\ 333 352 ./solutions/convergence.cpp\ 353 ./solutions/ProcessArguments.cpp\ 334 354 ./solutions/WriteLockFile.cpp\ 335 355 ./solutions/ResetBoundaryConditions.cpp\ … … 337 357 ./solutions/CorePointerFromSolutionEnum.cpp\ 338 358 ./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 343 361 #}}} 344 362 #DAKOTA sources {{{1 345 if DAKOTA 346 libpISSM_a_SOURCES += ./objects/DakotaPlugin.h\ 363 dakota_sources = ./objects/DakotaPlugin.h\ 347 364 ./objects/DakotaPlugin.cpp\ 348 365 ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.h\ … … 352 369 ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h\ 353 370 ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp\ 371 ./modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.h\ 372 ./modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.cpp\ 354 373 ./modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp\ 355 374 ./modules/AverageOntoPartitionx/AverageOntoPartitionx.h\ … … 359 378 ./modules/Dakotax/DakotaFree.cpp\ 360 379 ./modules/Dakotax/SpawnCore.cpp\ 361 ./modules/Dakotax/SpawnCoreParallel.cpp\362 380 ./modules/Dakotax/DescriptorIndex.cpp\ 363 381 ./modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp\ 364 ./modules/ModelProcessorx/ Qmu/CreateParametersQmu.cpp\382 ./modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp\ 365 383 ./modules/AverageOntoPartitionx/AverageOntoPartitionx.h 366 endif 384 dakota_psources= ./modules/Dakotax/SpawnCoreParallel.cpp 367 385 #}}} 368 386 #Transient sources {{{1 369 if TRANSIENT 370 libpISSM_a_SOURCES += ./solutions/transient_core.cpp\ 371 ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp 372 endif 387 transient_sources = ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp 388 transient_psources = ./solutions/transient_core.cpp 373 389 #}}} 374 390 #Steadystate sources {{{1 375 if STEADYSTATE 376 libpISSM_a_SOURCES += ./solutions/steadystate_core.cpp\ 377 ./solutions/steadystateconvergence.cpp 378 endif 391 steadystate_psources = ./solutions/steadystate_core.cpp\ 392 ./solutions/steadystateconvergence.cpp 379 393 #}}} 380 394 #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 395 prognostic_sources = ./modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp\ 396 ./modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp\ 397 ./modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp\ 398 ./modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp 399 prognostic_psources = ./solutions/prognostic_core.cpp 389 400 #}}} 390 401 #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\ 402 thermal_sources = ./modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp\ 397 403 ./modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp\ 398 404 ./modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp\ … … 409 415 ./modules/ConstraintsStatex/ThermalIsPresent.cpp\ 410 416 ./modules/ResetConstraintsx/ThermalConstraintsReset.cpp 411 endif 417 418 thermal_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 412 423 #}}} 413 424 #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\ 425 control_sources= ./modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp\ 426 426 ./modules/ControlInputGetGradientx/ControlInputGetGradientx.h\ 427 427 ./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp\ … … 429 429 ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.cpp\ 430 430 ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.h\ 431 ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp\ 432 ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h\ 433 ./modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.cpp\ 434 ./modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.h\ 431 435 ./modules/ModelProcessorx/Control/CreateParametersControl.cpp\ 432 436 ./modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp\ … … 461 465 ./shared/Numerics/BrentSearch.cpp\ 462 466 ./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 469 control_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 468 480 #}}} 469 481 #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 482 hydrology_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 487 hydrology_psources = ./solutions/hydrology_core.cpp\ 488 ./solutions/hydrology_core_step.cpp 478 489 #}}} 479 490 #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 491 diagnostic_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 508 diagnostic_psources =./solutions/diagnostic_core.cpp\ 509 ./solvers/solver_stokescoupling_nonlinear.cpp 496 510 #}}} 497 511 #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 512 balanced_sources = ./modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp\ 513 ./modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp\ 514 ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\ 515 ./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp 516 balanced_psources = ./solutions/balancethickness_core.cpp 505 517 #}}} 506 518 #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 519 responses_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 541 547 #}}} 542 548 #Slope sources {{{1 543 if SLOPE 544 libpISSM_a_SOURCES += ./modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp\ 549 slope_sources = ./modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp\ 545 550 ./modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp \ 546 551 ./modules/ModelProcessorx/BedSlope/CreateConstraintsBedSlope.cpp\ … … 549 554 ./modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp \ 550 555 ./modules/ModelProcessorx/SurfaceSlope/CreateConstraintsSurfaceSlope.cpp\ 551 ./modules/ModelProcessorx/SurfaceSlope/CreateLoadsSurfaceSlope.cpp \552 556 ./modules/ModelProcessorx/SurfaceSlope/CreateLoadsSurfaceSlope.cpp 557 slope_psources = ./solutions/surfaceslope_core.cpp\ 553 558 ./solutions/bedslope_core.cpp 554 endif 555 #}}} 556 #GroundingLine sources {{{1 559 #}}} 560 #Groundingline sources {{{1 561 groundingline_sources= ./modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp\ 562 ./modules/GroundinglineMigrationx/GroundinglineMigrationx.h 563 #}}} 564 #Rifts sources {{{1 565 rifts_sources = ./objects/Loads/Riftfront.cpp\ 566 ./objects/Loads/Riftfront.h\ 567 ./modules/ConstraintsStatex/RiftConstraintsState.cpp 568 #}}} 569 #3D sources {{{1 570 threed_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 584 bamg_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 650 kml_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 718 matlab_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 732 serial_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 821 issm_sources = $(core_sources) 822 issm_psources = 823 824 #Now the optional source 825 if DAKOTA 826 issm_sources += $(dakota_sources) 827 issm_psources += $(dakota_psources) 828 endif 829 830 if TRANSIENT 831 issm_sources += $(transient_sources) 832 issm_psources += $(transient_psources) 833 endif 834 835 if STEADYSTATE 836 issm_sources += $(steadystate_sources) 837 issm_psources += $(steadystate_psources) 838 endif 839 840 if PROGNOSTIC 841 issm_sources += $(prognostic_sources) 842 issm_psources += $(prognostic_psources) 843 endif 844 845 if THERMAL 846 issm_sources += $(thermal_sources) 847 issm_psources += $(thermal_psources) 848 endif 849 850 if CONTROL 851 issm_sources += $(control_sources) 852 issm_psources += $(control_psources) 853 endif 854 855 if HYDROLOGY 856 issm_sources += $(hydrology_sources) 857 issm_psources += $(hydrology_psources) 858 endif 859 860 if DIAGNOSTIC 861 issm_sources += $(diagnostic_sources) 862 issm_psources += $(diagnostic_psources) 863 endif 864 865 if BALANCED 866 issm_sources += $(balanced_sources) 867 issm_psources += $(balanced_psources) 868 endif 869 870 if RESPONSES 871 issm_sources += $(responses_sources) 872 endif 873 874 if SLOPE 875 issm_sources += $(slope_sources) 876 issm_psources += $(slope_psources) 877 endif 878 557 879 if 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 880 issm_sources += $(groundingline_sources) 881 endif 882 566 883 if 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 884 issm_sources += $(rifts_sources) 885 endif 886 573 887 if 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 888 issm_sources += $(threed_sources) 889 endif 890 #}}} 891 892 #ISSM serial library {{{1 893 libISSM_a_SOURCES = $(issm_sources) 894 libISSM_a_SOURCES += $(serial_sources) 895 libISSM_a_SOURCES += $(bamg_sources) 896 libISSM_a_SOURCES += $(kml_sources) 897 libISSM_a_SOURCES += $(matlab_sources) 898 899 libISSM_a_CXXFLAGS = -fPIC -DMATLAB -D_SERIAL_ -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_ $(CXXFLAGS) $(CXXOPTFLAGS) 900 if LARGEARRAYS 901 libISSM_a_CXXFLAGS += -D__GCC4BUILD__ 902 else 903 libISSM_a_CXXFLAGS += -DMX_COMPAT_32 904 endif 905 #}}} 906 #ISSM parallel library {{{1 907 libpISSM_a_SOURCES = $(issm_sources) 908 libpISSM_a_SOURCES += $(issm_psources) 909 libpISSM_a_CXXFLAGS = -fPIC -D_PARALLEL_ -D_C_ $(CXXFLAGS) $(CXXOPTFLAGS) 910 #}}} 911 #Overload library, to overload any non-standard symbols. {{{1 912 libOverload_a_SOURCES = ./shared/String/stricmp.c 913 libOverload_a_CFLAGS = -fPIC -D_PARALLEL_ -D_C_ $(COPTFLAGS) $(CFLAGS) 914 #}}} 915 916 #Executable {{{1 917 if NOPARALLEL 918 bin_PROGRAMS = 919 else 920 bin_PROGRAMS = issm 921 endif 922 923 #Standard libraries 924 LDADD = ./libpISSM.a ./libOverload.a 925 926 #External packages 927 LDADD += $(PETSCLIB) $(TAOLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) 928 929 issm_SOURCES = solutions/issm.cpp 930 issm_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 {{{ 934 if ADIC2 935 lib_LIBRARIES += libAD.a libpISSMRose.a 936 937 #ADIC2 library, for automatic differentiation 591 938 #libAD_a_SOURCES = ./mini1.ad.c 592 939 libAD_a_SOURCES = 593 940 libAD_a_CFLAGS = -fPIC -D_PARALLEL_ -D_C_ $(COPTFLAGS) 594 941 942 943 595 944 #test rose preprocessing 596 945 %.r2cpp.cpp : %.cpp 597 946 testTranslator -rose:o $@ -rose:skipfinalCompileStep -DHAVE_CONFIG_H -D_PARALLEL_ -D_C_ -I. -I../.. $(INCLUDES) $< 598 599 947 libpISSMRose_a_SOURCES = $(libpISSM_a_SOURCES:.cpp=.r2cpp.cpp) 600 948 libpISSMRose_a_CXXFLAGS= -fPIC -D_PARALLEL_ -D_C_ $(CXXOPTFLAGS) 949 950 951 601 952 #Automatic differentiation rules: 602 953 %.ad.c: %.c 603 954 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 959 bin_PROGRAMS += issmRose.exe 618 960 issmRose_exe_LDADD = ./libpISSMRose.a $(LDADD) 619 endif620 621 #External packages622 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.cpp626 issm_exe_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXOPTFLAGS) $(COPTFLAGS)627 961 issmRose_exe_SOURCES = solutions/issm.cpp 628 962 issmRose_exe_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXOPTFLAGS) $(COPTFLAGS) 629 630 #}}} 963 LDADD += $(ADIC2LIB) 964 965 endif #}}}
Note:
See TracChangeset
for help on using the changeset viewer.