Ignore:
Timestamp:
04/16/12 14:57:18 (13 years ago)
Author:
Mathieu Morlighem
Message:

merged trunk-jpl and trunk for revision 11994M

Location:
issm/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk

  • issm/trunk/src/c/Makefile.am

    r11527 r11995  
    1 INCLUDES = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @MPIINCL@ @MATLABINCL@  @METISINCL@  @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@  @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@  @TRIANGLEINCL@ @HYPREINCL@ @MLINCL@ @TAOINCL@
     1INCLUDES = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @MPIINCL@ @MATLABINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @HYPREINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @GSLINCL@ @BOOSTINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@
     2
    23EXEEXT=$(ISSMEXT)
    34
     
    1213else
    1314if NOPARALLEL
    14 lib_LIBRARIES = libISSM.a  libOverload.a
     15lib_LIBRARIES = libISSM.a libOverload.a
    1516else
    1617lib_LIBRARIES = libISSM.a libpISSM.a libOverload.a
     
    2122#sources
    2223#Core sources{{{1
    23 core_sources   = ./include/macros.h\
     24core_sources = ./include/macros.h\
    2425                                        ./include/typedefs.h\
    2526                                        ./include/types.h\
     
    7980                                        ./objects/ExternalResults/StringExternalResult.h\
    8081                                        ./objects/ExternalResults/StringExternalResult.cpp\
    81                                         ./objects/ExternalResults/PetscVecExternalResult.h\
    82                                         ./objects/ExternalResults/PetscVecExternalResult.cpp\
    8382                                        ./objects/Elements/Tria.h\
    8483                                        ./objects/Elements/Tria.cpp\
     
    120119                                        ./objects/Numerics/ElementVector.h\
    121120                                        ./objects/Numerics/ElementVector.cpp\
     121                                        ./objects/Numerics/Matrix.h\
     122                                        ./objects/Numerics/Matrix.cpp\
     123                                        ./objects/Numerics/Vector.h\
     124                                        ./objects/Numerics/Vector.cpp\
    122125                                        ./objects/Params/Param.h\
    123126                                        ./objects/Params/BoolParam.cpp\
     
    133136                                        ./objects/Params/FileParam.cpp\
    134137                                        ./objects/Params/FileParam.h\
    135                                         ./objects/Params/PetscMatParam.cpp\
    136                                         ./objects/Params/PetscMatParam.h\
    137138                                        ./objects/Params/StringArrayParam.cpp\
    138139                                        ./objects/Params/StringArrayParam.h\
     
    145146                                        ./objects/Params/DoubleVecParam.cpp\
    146147                                        ./objects/Params/DoubleVecParam.h\
    147                                         ./objects/Params/PetscVecParam.cpp\
    148                                         ./objects/Params/PetscVecParam.h\
    149148                                        ./objects/Params/StringParam.cpp\
    150149                                        ./objects/Params/StringParam.h\
     150                                        ./objects/Params/MatrixParam.h\
     151                                        ./objects/Params/MatrixParam.cpp\
     152                                        ./objects/Params/VectorParam.h\
     153                                        ./objects/Params/VectorParam.cpp\
    151154                                        ./Container/Container.h\
    152155                                        ./Container/Constraints.h\
     
    191194                                        ./shared/Numerics/XZvectorsToCoordinateSystem.cpp\
    192195                                        ./shared/Numerics/UnitConversion.cpp\
    193                                         ./shared/Numerics/PetscOptionsFromAnalysis.cpp\
     196                                        ./shared/Numerics/OptionsFromAnalysis.cpp\
    194197                                        ./shared/Exceptions/exceptions.h\
    195198                                        ./shared/Exceptions/Exceptions.cpp\
     
    204207                                        ./shared/Elements/GetGlobalDofList.cpp\
    205208                                        ./shared/Elements/GetNumberOfDofs.cpp\
    206                                         ./shared/Elements/CoordinateSystemTransform.cpp\
    207209                                        ./shared/String/sharedstring.h\
    208                                         ./toolkits/petsc\
    209                                         ./toolkits/petsc/patches\
    210                                         ./toolkits/petsc/patches/SolverEnum.h\
    211                                         ./toolkits/petsc/patches/petscpatches.h\
    212                                         ./toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp\
    213                                         ./toolkits/petsc/patches/MatlabVectorToPetscVector.cpp\
    214                                         ./toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp\
    215                                         ./toolkits/petsc/patches/PetscVectorToMatlabVector.cpp\
    216                                         ./toolkits/petsc/patches/MatlabMatrixToDoubleMatrix.cpp\
    217                                         ./toolkits/petsc/patches/MatlabVectorToDoubleVector.cpp\
    218                                         ./toolkits/petsc/patches/PetscDetermineLocalSize.cpp\
    219                                         ./toolkits/petsc/patches/VecTranspose.cpp\
    220                                         ./toolkits/petsc/patches/VecToMPISerial.cpp\
    221                                         ./toolkits/petsc/patches/MatToSerial.cpp\
    222                                         ./toolkits/petsc/patches/VecMerge.cpp\
    223                                         ./toolkits/petsc/patches/NewVec.cpp\
    224                                         ./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp\
    225                                         ./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp\
    226                                         ./toolkits/petsc/patches/NewMat.cpp\
    227                                         ./toolkits/petsc/patches/SerialToVec.cpp\
    228                                         ./toolkits/petsc/patches/VecFree.cpp\
    229                                         ./toolkits/petsc/patches/VecDuplicatePatch.cpp\
    230                                         ./toolkits/petsc/patches/KSPFree.cpp\
    231                                         ./toolkits/petsc/patches/ISFree.cpp\
    232                                         ./toolkits/petsc/patches/MatFree.cpp\
    233                                         ./toolkits/petsc/patches/GetOwnershipBoundariesFromRange.cpp\
    234                                         ./toolkits/petsc/patches/VecPartition.cpp\
    235                                         ./toolkits/petsc/patches/MatPartition.cpp\
    236                                         ./toolkits/petsc/patches/MatInvert.cpp\
    237                                         ./toolkits/petsc/patches/MatMultPatch.cpp\
    238                                         ./toolkits/petsc/petscincludes.h\
     210                                        ./shared/Wrapper/wrappershared.h\
     211                                        ./shared/Wrapper/ModuleBoot.cpp\
     212                                        ./shared/Wrapper/ModuleEnd.cpp\
    239213                                        ./toolkits/mpi/mpiincludes.h\
    240214                                        ./toolkits/mpi/patches/mpipatches.h\
     215                                        ./toolkits/mpi/patches/DetermineLocalSize.cpp\
    241216                                        ./toolkits/mpi/patches/MPI_Upperrow.cpp\
    242217                                        ./toolkits/mpi/patches/MPI_Lowerrow.cpp\
    243218                                        ./toolkits/mpi/patches/MPI_Boundariesfromrange.cpp\
    244219                                        ./toolkits/metis/metisincludes.h\
     220                                        ./toolkits/issm/issmtoolkit.h\
     221                                        ./toolkits/issm/SeqVec.h\
     222                                        ./toolkits/issm/SeqVec.cpp\
     223                                        ./toolkits/issm/SeqMat.h\
     224                                        ./toolkits/issm/SeqMat.cpp\
    245225                                        ./toolkits/metis/patches/metispatches.h\
    246226                                        ./toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp\
    247227                                        ./toolkits/triangle/triangleincludes.h\
     228                                        ./toolkitsenums.h\
    248229                                        ./toolkits.h\
    249230                                        ./io/io.h\
     
    253234                                        ./io/PrintfFunction.cpp\
    254235                                        ./EnumDefinitions/EnumDefinitions.h\
    255                                         ./EnumDefinitions/EnumToModelField.cpp\
    256236                                        ./modules/ModelProcessorx/ModelProcessorx.h\
    257237                                        ./modules/ModelProcessorx/ModelProcessorx.cpp\
     
    343323                                        ./modules/Solverx/Solverx.cpp\
    344324                                        ./modules/Solverx/Solverx.h\
    345                                         ./modules/Solverx/DofTypesToIndexSet.cpp\
    346325                                        ./modules/VecMergex/VecMergex.cpp\
    347326                                        ./modules/VecMergex/VecMergex.h\
     
    419398
    420399thermal_psources = ./solutions/thermal_core.cpp\
    421                                             ./solutions/thermal_core_step.cpp\
    422400                                            ./solutions/enthalpy_core.cpp\
    423                                             ./solutions/enthalpy_core_step.cpp\
    424401                                            ./solvers/solver_thermal_nonlinear.cpp
    425402#}}}
     
    473450                                          ./solutions/controlrestart.cpp\
    474451                                          ./solutions/controlconvergence.cpp\
    475                                           ./solutions/objectivefunctionC.cpp\
     452                                          ./solutions/objectivefunction.cpp\
    476453                                          ./solutions/gradient_core.cpp\
    477454                                          ./solutions/adjointdiagnostic_core.cpp\
     
    503480                                              ./modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp \
    504481                                              ./modules/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp \
     482                                                        ./shared/Elements/CoordinateSystemTransform.cpp\
    505483                                                        ./shared/Elements/TransformLoadVectorCoord.cpp \
    506484                                                        ./shared/Elements/TransformStiffnessMatrixCoord.cpp \
     
    717695#}}}
    718696#Matlab sources  {{{1
    719 matlab_sources= ./shared/Matlab/matlabshared.h\
    720                                     ./shared/Matlab/ModuleBoot.cpp\
    721                                     ./shared/Matlab/ModuleEnd.cpp\
    722                                     ./shared/Matlab/mxGetAssignedField.cpp\
    723                                     ./shared/Matlab/mxGetField.cpp\
    724                                     ./shared/Matlab/CheckNumMatlabArguments.cpp\
    725                                     ./toolkits/matlab/matlabincludes.h\
     697matlab_sources= ./toolkits/matlab/matlabincludes.h\
    726698                                    ./toolkits/matlab/MatlabNArrayToNArray.cpp\
     699                                    ./toolkits/double/MatlabVectorToDoubleVector.cpp\
     700                                    ./toolkits/double/double.h\
     701                                    ./toolkits/double/MatlabMatrixToDoubleMatrix.cpp\
    727702                                    ./io/Matlab/matlabio.h\
     703                                    ./io/Matlab/CheckNumMatlabArguments.cpp\
     704                                    ./io/Matlab/mxGetAssignedField.cpp\
    728705                                    ./io/Matlab/WriteMatlabData.cpp\
    729706                                    ./io/Matlab/FetchMatlabData.cpp\
    730707                                    ./io/Matlab/OptionParse.cpp
     708#}}}
     709#Python sources  {{{1
     710python_sources=     ./io/Python/pythonio.h\
     711                                    ./io/Python/WritePythonData.cpp\
     712                                    ./io/Python/CheckNumPythonArguments.cpp\
     713                                    ./io/Python/FetchPythonData.cpp
     714#}}}
     715#Petsc sources  {{{1
     716petsc_sources= ./toolkits/petsc\
     717                                        ./toolkits/petsc/patches\
     718                                        ./toolkits/petsc/patches/SolverEnum.h\
     719                                        ./toolkits/petsc/patches/petscpatches.h\
     720                                        ./toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp\
     721                                        ./toolkits/petsc/patches/MatlabVectorToPetscVector.cpp\
     722                                        ./toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp\
     723                                        ./toolkits/petsc/patches/PetscVectorToMatlabVector.cpp\
     724                                        ./toolkits/petsc/patches/VecTranspose.cpp\
     725                                        ./toolkits/petsc/patches/VecToMPISerial.cpp\
     726                                        ./toolkits/petsc/patches/MatToSerial.cpp\
     727                                        ./toolkits/petsc/patches/VecMerge.cpp\
     728                                        ./toolkits/petsc/patches/NewVec.cpp\
     729                                        ./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp\
     730                                        ./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp\
     731                                        ./toolkits/petsc/patches/NewMat.cpp\
     732                                        ./toolkits/petsc/patches/SerialToVec.cpp\
     733                                        ./toolkits/petsc/patches/VecFree.cpp\
     734                                        ./toolkits/petsc/patches/VecDuplicatePatch.cpp\
     735                                        ./toolkits/petsc/patches/KSPFree.cpp\
     736                                        ./toolkits/petsc/patches/ISFree.cpp\
     737                                        ./toolkits/petsc/patches/MatFree.cpp\
     738                                        ./toolkits/petsc/patches/GetOwnershipBoundariesFromRange.cpp\
     739                                        ./toolkits/petsc/patches/VecPartition.cpp\
     740                                        ./toolkits/petsc/patches/MatPartition.cpp\
     741                                        ./toolkits/petsc/patches/MatInvert.cpp\
     742                                        ./toolkits/petsc/patches/MatMultPatch.cpp\
     743                                        ./toolkits/petsc/patches/ISSMToPetscMatrixType.cpp\
     744                                        ./toolkits/petsc/patches/ISSMToPetscInsertMode.cpp\
     745                                        ./toolkits/petsc/patches/ISSMToPetscNormMode.cpp\
     746                                        ./toolkits/petsc/petscincludes.h\
     747                                        ./shared/Numerics/PetscOptionsFromAnalysis.cpp\
     748                                        ./modules/Solverx/SolverxPetsc.cpp\
     749                                        ./modules/Solverx/DofTypesToIndexSet.cpp
     750
     751#}}}
     752#Gsl sources  {{{1
     753gsl_sources= ./modules/Solverx/SolverxGsl.cpp
     754
    731755#}}}
    732756#Serialsources  {{{1
     
    769793                        ./modules/TriaSearchx/TriaSearchx.h\
    770794                        ./modules/TriaSearchx/TriaSearchx.cpp\
     795                        ./modules/TriMeshx/TriMeshx.h\
     796                        ./modules/TriMeshx/TriMeshx.cpp\
    771797                        ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h\
    772798                        ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp\
     
    816842
    817843#ISSM sources are a combination of core sources and sources related to specific capabilities (which can
    818 #be activated by autotools conditionals {{{1
     844#be activated by autotools conditionals
     845#{{{1
    819846
    820847#First the core
     
    828855endif
    829856
     857if PETSC
     858issm_sources  +=  $(petsc_sources)
     859issm_psources +=  $(petsc_psources)
     860endif
     861
     862if GSL
     863issm_sources  +=  $(gsl_sources)
     864issm_psources +=  $(gsl_psources)
     865endif
     866
     867
    830868if TRANSIENT
    831869issm_sources  +=  $(transient_sources)
     
    891929
    892930#ISSM serial library {{{1
     931if SERIAL
    893932libISSM_a_SOURCES  = $(issm_sources)
    894933libISSM_a_SOURCES += $(serial_sources)
    895934libISSM_a_SOURCES += $(bamg_sources)
    896935libISSM_a_SOURCES += $(kml_sources)
     936libISSM_a_CXXFLAGS = -fPIC -D_SERIAL_ -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_  $(CXXFLAGS) $(CXXOPTFLAGS)
     937#libISSM_a_CXXFLAGS = -D_SERIAL_ -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER   $(CXXFLAGS) $(CXXOPTFLAGS)
     938
     939if PYTHON
     940libISSM_a_CXXFLAGS+=  -DNPY_NO_DEPRECATED_API
     941libISSM_a_SOURCES += $(python_sources)
     942endif
     943
     944if MATLAB
    897945libISSM_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
     946endif
     947
    904948endif
    905949#}}}
    906950#ISSM parallel library {{{1
     951if PARALLEL
    907952libpISSM_a_SOURCES  = $(issm_sources)
    908953libpISSM_a_SOURCES += $(issm_psources)
    909954libpISSM_a_CXXFLAGS = -fPIC -D_PARALLEL_   -D_C_ $(CXXFLAGS) $(CXXOPTFLAGS)
     955endif
    910956#}}}
    911957#Overload library, to overload any non-standard symbols. {{{1
     
    918964bin_PROGRAMS =
    919965else
    920 bin_PROGRAMS = issm
     966bin_PROGRAMS = issm 
    921967endif
    922968
    923969#Standard libraries
    924 LDADD =      ./libpISSM.a ./libOverload.a
     970LDADD = ./libpISSM.a ./libOverload.a
    925971
    926972#External packages
    927 LDADD += $(PETSCLIB) $(TAOLIB) $(FLIBS) $(PLAPACKLIB)  $(MUMPSLIB) $(SCALAPACKLIB)  $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB)  $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(ADIC2LIB)  $(OSLIBS)
     973LDADD += $(PETSCLIB) $(TAOLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB)
    928974
    929975issm_SOURCES = solutions/issm.cpp
    930 issm_CXXFLAGS= -fPIC -D_PARALLEL_  $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS)
    931 #}}}
     976issm_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS)
     977#}}}
     978#Automatic differentiation: append this fold to the end of the src/c/Makefile.am to get this Makefile.am {{{
     979if ADIC2
     980lib_LIBRARIES += libAD.a libpISSMRose.a
     981
     982#ADIC2 library, for automatic differentiation
     983#libAD_a_SOURCES = ./mini1.ad.c
     984libAD_a_SOURCES =
     985libAD_a_CFLAGS = -fPIC -D_PARALLEL_   -D_C_ $(COPTFLAGS)
     986
     987
     988
     989#test rose preprocessing
     990%.r2cpp.cpp : %.cpp
     991        testTranslator -rose:o $@ -rose:skipfinalCompileStep -DHAVE_CONFIG_H -D_PARALLEL_ -D_C_ -I. -I../.. $(INCLUDES) $<
     992libpISSMRose_a_SOURCES = $(libpISSM_a_SOURCES:.cpp=.r2cpp.cpp)
     993libpISSMRose_a_CXXFLAGS= -fPIC -D_PARALLEL_ -D_C_ $(CXXOPTFLAGS)
     994
     995
     996
     997#Automatic differentiation rules:
     998%.ad.c: %.c
     999        adic2 -mforward  $< --nary
     1000
     1001
     1002
     1003#Executable
     1004bin_PROGRAMS +=  issmRose.exe
     1005issmRose_exe_LDADD = ./libpISSMRose.a $(LDADD)
     1006issmRose_exe_SOURCES = solutions/issm.cpp
     1007issmRose_exe_CXXFLAGS= -fPIC -D_PARALLEL_  $(CXXOPTFLAGS) $(COPTFLAGS)
     1008LDADD +=  $(ADIC2LIB)
     1009
     1010endif #}}}
Note: See TracChangeset for help on using the changeset viewer.