source: issm/trunk/src/wrappers/python/Makefile.am@ 27232

Last change on this file since 27232 was 27232, checked in by Mathieu Morlighem, 3 years ago

merged trunk-jpl and trunk for revision 27230

File size: 8.2 KB
Line 
1AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @PARMETISINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@ @PROJINCL@
2AUTOMAKE_OPTIONS = subdir-objects
3
4EXEEXT=$(PYTHONWRAPPEREXT)
5
6#define prefix (from http://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/Defining-Directories.html)
7AM_CPPFLAGS += -DISSM_PREFIX='"$(prefix)"'
8
9#python io{{{
10lib_LTLIBRARIES = libISSMPython.la
11
12io_sources = \
13 ./io/CheckNumPythonArguments.cpp \
14 ./io/FetchPythonData.cpp \
15 ./io/WritePythonData.cpp
16
17ALLCXXFLAGS= -fPIC -D_WRAPPERS_ $(CXXFLAGS) $(CXXOPTFLAGS)
18
19libISSMPython_la_SOURCES = $(io_sources)
20libISSMPython_la_CXXFLAGS= $(ALLCXXFLAGS)
21#}}}
22#api io{{{
23lib_LTLIBRARIES += libISSMApi.la
24api_sources = ./io/ApiPrintf.cpp
25
26libISSMApi_la_SOURCES = $(api_sources)
27libISSMApi_la_CXXFLAGS= $(ALLCXXFLAGS)
28#}}}
29#Wrappers {{{
30lib_LTLIBRARIES += \
31 BamgConvertMesh_python.la \
32 BamgMesher_python.la \
33 BamgTriangulate_python.la \
34 ContourToMesh_python.la \
35 ContourToNodes_python.la \
36 ElementConnectivity_python.la \
37 ExpToLevelSet_python.la \
38 InterpFromGridToMesh_python.la \
39 InterpFromMesh2d_python.la \
40 InterpFromMeshToGrid_python.la \
41 InterpFromMeshToMesh2d_python.la \
42 InterpFromMeshToMesh3d_python.la \
43 IssmConfig_python.la \
44 MeshPartition_python.la \
45 MeshProfileIntersection_python.la \
46 NodeConnectivity_python.la \
47 Triangle_python.la \
48 ProcessRifts_python.la
49
50if CHACO
51lib_LTLIBRARIES += Chaco_python.la
52endif
53#}}}
54#Flags and libraries {{{
55deps = $(MATHLIB) ${PYTHONLIB}
56
57#Triangle library
58AM_CXXFLAGS = -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER -D_WRAPPERS_
59
60#Python part
61AM_LDFLAGS = -module $(PYTHONLINK) -shrext ${EXEEXT} --export-dynamic -rdynamic -no-undefined
62
63if !VERSION
64AM_LDFLAGS += -avoid-version
65endif
66
67# NOTE:
68# - On Linux, We probably do not need the -static flag as long as we only
69# generate static libraries for external packages. Dynamic system libraries
70# will be linked to, whether we like it or not, if no static version is
71# available.
72# - On macOS, static linking of binaries is not supported.
73#
74if STANDALONE_MODULES
75if MAC
76AM_LDFLAGS += -Wl,-rpath,'@rpath'
77else
78AM_LDFLAGS += -Wl,-static -Wl,-lbacktrace -Wl,--disable-new-dtags -Wl,-rpath,'$$ORIGIN'
79endif
80endif
81
82AM_LDFLAGS += --no-warnings
83AM_CXXFLAGS += -D_HAVE_PYTHON_MODULES_ -fPIC
84
85if PYTHON3
86AM_CXXFLAGS += -DNPY_NO_DEPRECATED_API
87endif
88
89deps += ./libISSMPython.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la
90
91if ADOLC
92deps += $(ADOLCLIB)
93endif
94
95if FORTRAN
96deps += $(FLIBS) $(FORTRANLIB)
97endif
98
99#Optimization flags:
100AM_CXXFLAGS += $(CXXOPTFLAGS)
101#}}}
102# Module sources and dependencies {{{
103libISSMPython_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(MATHLIB)
104
105if STANDALONE_LIBRARIES
106libISSMPython_la_LDFLAGS = -static
107libISSMApi_la_LDFLAGS = -static
108deps += $(DAKOTALIB) $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(OSLIBS)
109endif
110
111libISSMApi_la_LIBADD = $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(MATHLIB)
112
113BamgConvertMesh_python_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp
114BamgConvertMesh_python_la_CXXFLAGS = ${AM_CXXFLAGS}
115BamgConvertMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
116
117BamgMesher_python_la_SOURCES = ../BamgMesher/BamgMesher.cpp
118BamgMesher_python_la_CXXFLAGS = ${AM_CXXFLAGS}
119BamgMesher_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
120
121BamgTriangulate_python_la_SOURCES = ../BamgTriangulate/BamgTriangulate.cpp
122BamgTriangulate_python_la_CXXFLAGS = ${AM_CXXFLAGS}
123BamgTriangulate_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
124
125if CHACO
126Chaco_python_la_SOURCES = ../Chaco/Chaco.cpp
127Chaco_python_la_CXXFLAGS = ${AM_CXXFLAGS}
128Chaco_python_la_LIBADD = ${deps} $(CHACOLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
129endif
130
131ContourToMesh_python_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp
132ContourToMesh_python_la_CXXFLAGS = ${AM_CXXFLAGS}
133ContourToMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB)
134
135ContourToNodes_python_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp
136ContourToNodes_python_la_CXXFLAGS = ${AM_CXXFLAGS}
137ContourToNodes_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
138
139ElementConnectivity_python_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp
140ElementConnectivity_python_la_CXXFLAGS = ${AM_CXXFLAGS}
141ElementConnectivity_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
142
143ExpToLevelSet_python_la_SOURCES = ../ExpToLevelSet/ExpToLevelSet.cpp
144ExpToLevelSet_python_la_CXXFLAGS = ${AM_CXXFLAGS}
145ExpToLevelSet_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(NEOPZLIB)
146
147InterpFromMesh2d_python_la_SOURCES = ../InterpFromMesh2d/InterpFromMesh2d.cpp
148InterpFromMesh2d_python_la_CXXFLAGS = ${AM_CXXFLAGS}
149InterpFromMesh2d_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB)
150
151InterpFromGridToMesh_python_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp
152InterpFromGridToMesh_python_la_CXXFLAGS = ${AM_CXXFLAGS}
153InterpFromGridToMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB)
154
155InterpFromMeshToGrid_python_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp
156InterpFromMeshToGrid_python_la_CXXFLAGS = ${AM_CXXFLAGS}
157InterpFromMeshToGrid_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB)
158
159InterpFromMeshToMesh2d_python_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
160InterpFromMeshToMesh2d_python_la_CXXFLAGS = ${AM_CXXFLAGS}
161InterpFromMeshToMesh2d_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(GSLLIB)
162
163InterpFromMeshToMesh3d_python_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
164InterpFromMeshToMesh3d_python_la_CXXFLAGS = ${AM_CXXFLAGS}
165InterpFromMeshToMesh3d_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(GSLLIB)
166
167IssmConfig_python_la_SOURCES = ../IssmConfig/IssmConfig.cpp
168IssmConfig_python_la_CXXFLAGS = ${AM_CXXFLAGS}
169IssmConfig_python_la_LIBADD = ${deps} $(DAKOTALIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB)
170
171MeshPartition_python_la_SOURCES = ../MeshPartition/MeshPartition.cpp
172MeshPartition_python_la_CXXFLAGS = ${AM_CXXFLAGS}
173MeshPartition_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(METISLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
174
175MeshProfileIntersection_python_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp
176MeshProfileIntersection_python_la_CXXFLAGS = ${AM_CXXFLAGS}
177MeshProfileIntersection_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
178
179NodeConnectivity_python_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp
180NodeConnectivity_python_la_CXXFLAGS = ${AM_CXXFLAGS}
181NodeConnectivity_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
182
183Triangle_python_la_SOURCES = ../Triangle/Triangle.cpp
184Triangle_python_la_CXXFLAGS = ${AM_CXXFLAGS}
185Triangle_python_la_LIBADD = ${deps} $(TRIANGLELIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
186
187ProcessRifts_python_la_SOURCES = ../ProcessRifts/ProcessRifts.cpp
188ProcessRifts_python_la_CXXFLAGS = ${AM_CXXFLAGS}
189ProcessRifts_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB)
190#}}}
Note: See TracBrowser for help on using the repository browser.