1AUTOMAKE_OPTIONS = subdir-objects
2
3###########################################################
4# add contributed libraries that are conditionally compiled
5SUBDIRS    =
6opt_libs   =
7dbg_libs   =
8devel_libs =
9prof_libs  =
10oprof_libs =
11
12# Doesn't seem to be used directly in this Makefile; add
13# it in case someone includes this Makefile?
14AM_LDFLAGS   = $(libmesh_LDFLAGS)
15
16if LIBMESH_ENABLE_CAPNPROTO
17  SUBDIRS    += capnproto
18  opt_libs   += capnproto/libopt.la
19  dbg_libs   += capnproto/libdbg.la
20  devel_libs += capnproto/libdevel.la
21  prof_libs  += capnproto/libprof.la
22  oprof_libs += capnproto/liboprof.la
23endif
24
25if LIBMESH_INSTALL_INTERNAL_BOOST
26   SUBDIRS += boost/include
27endif
28
29if LIBMESH_INSTALL_INTERNAL_EIGEN
30   SUBDIRS += eigen/eigen
31endif
32
33if LIBMESH_ENABLE_GMV
34  SUBDIRS    += gmv
35  opt_libs   += gmv/libopt.la
36  dbg_libs   += gmv/libdbg.la
37  devel_libs += gmv/libdevel.la
38  prof_libs  += gmv/libprof.la
39  oprof_libs += gmv/liboprof.la
40endif
41
42if LIBMESH_ENABLE_GZSTREAMS
43  SUBDIRS    += gzstream
44  opt_libs   += gzstream/libopt.la
45  dbg_libs   += gzstream/libdbg.la
46  devel_libs += gzstream/libdevel.la
47  prof_libs  += gzstream/libprof.la
48  oprof_libs += gzstream/liboprof.la
49endif
50
51if LIBMESH_ENABLE_NETCDF
52# NetCDF version 4, use their autotools package
53if LIBMESH_ENABLE_NETCDF_V4
54  SUBDIRS    += netcdf/v4
55  opt_libs   += netcdf/v4/liblib/libnetcdf.la
56  dbg_libs   += netcdf/v4/liblib/libnetcdf.la
57  devel_libs += netcdf/v4/liblib/libnetcdf.la
58  prof_libs  += netcdf/v4/liblib/libnetcdf.la
59  oprof_libs += netcdf/v4/liblib/libnetcdf.la
60endif
61endif
62
63
64if LIBMESH_ENABLE_EXODUS
65if LIBMESH_ENABLE_EXODUS_V509
66  SUBDIRS    += exodusii/v5.09
67  opt_libs   += exodusii/v5.09/libopt.la
68  dbg_libs   += exodusii/v5.09/libdbg.la
69  devel_libs += exodusii/v5.09/libdevel.la
70  prof_libs  += exodusii/v5.09/libprof.la
71  oprof_libs += exodusii/v5.09/liboprof.la
72endif
73
74if LIBMESH_ENABLE_EXODUS_V522
75  SUBDIRS    += exodusii/v5.22/exodus
76  opt_libs   += exodusii/v5.22/exodus/libopt.la
77  dbg_libs   += exodusii/v5.22/exodus/libdbg.la
78  devel_libs += exodusii/v5.22/exodus/libdevel.la
79  prof_libs  += exodusii/v5.22/exodus/libprof.la
80  oprof_libs += exodusii/v5.22/exodus/liboprof.la
81endif
82endif
83
84
85if LIBMESH_ENABLE_NEMESIS
86if LIBMESH_ENABLE_NEMESIS_V309
87  SUBDIRS    += nemesis/v3.09
88  opt_libs   += nemesis/v3.09/libopt.la
89  dbg_libs   += nemesis/v3.09/libdbg.la
90  devel_libs += nemesis/v3.09/libdevel.la
91  prof_libs  += nemesis/v3.09/libprof.la
92  oprof_libs += nemesis/v3.09/liboprof.la
93endif
94
95if LIBMESH_ENABLE_NEMESIS_V522
96  SUBDIRS    += nemesis/v5.22/nemesis
97  opt_libs   += nemesis/v5.22/nemesis/libopt.la
98  dbg_libs   += nemesis/v5.22/nemesis/libdbg.la
99  devel_libs += nemesis/v5.22/nemesis/libdevel.la
100  prof_libs  += nemesis/v5.22/nemesis/libprof.la
101  oprof_libs += nemesis/v5.22/nemesis/liboprof.la
102endif
103endif
104
105
106if LIBMESH_ENABLE_TECIO
107  SUBDIRS    += tecplot/tecio
108  opt_libs   += tecplot/tecio/libopt.la
109  dbg_libs   += tecplot/tecio/libdbg.la
110  devel_libs += tecplot/tecio/libdevel.la
111  prof_libs  += tecplot/tecio/libprof.la
112  oprof_libs += tecplot/tecio/liboprof.la
113endif
114
115# I don't think this actually copies any symbols into
116# libcontrib.la because we aren't using them here...
117if LIBMESH_ENABLE_TECPLOT
118  SUBDIRS    += tecplot/binary
119  opt_libs   += tecplot/binary/libtecio.la
120  dbg_libs   += tecplot/binary/libtecio.la
121  devel_libs += tecplot/binary/libtecio.la
122  prof_libs  += tecplot/binary/libtecio.la
123  oprof_libs += tecplot/binary/libtecio.la
124endif
125
126if LIBMESH_ENABLE_TRIANGLE
127  SUBDIRS    += triangle
128  opt_libs   += triangle/libopt.la
129  dbg_libs   += triangle/libdbg.la
130  devel_libs += triangle/libdevel.la
131  prof_libs  += triangle/libprof.la
132  oprof_libs += triangle/liboprof.la
133endif
134
135if LIBMESH_ENABLE_TETGEN
136  SUBDIRS    += tetgen
137  opt_libs   += tetgen/libopt.la
138  dbg_libs   += tetgen/libdbg.la
139  devel_libs += tetgen/libdevel.la
140  prof_libs  += tetgen/libprof.la
141  oprof_libs += tetgen/liboprof.la
142endif
143
144if LIBMESH_ENABLE_QHULL
145  SUBDIRS    += qhull/qhull
146  opt_libs   += qhull/qhull/libopt.la
147  dbg_libs   += qhull/qhull/libdbg.la
148  devel_libs += qhull/qhull/libdevel.la
149  prof_libs  += qhull/qhull/libprof.la
150  oprof_libs += qhull/qhull/liboprof.la
151endif
152
153if LIBMESH_ENABLE_LIBHILBERT
154  SUBDIRS    += libHilbert
155  opt_libs   += libHilbert/libopt.la
156  dbg_libs   += libHilbert/libdbg.la
157  devel_libs += libHilbert/libdevel.la
158  prof_libs  += libHilbert/libprof.la
159  oprof_libs += libHilbert/liboprof.la
160endif
161
162if LIBMESH_ENABLE_LASPACK
163  SUBDIRS    += laspack
164  opt_libs   += laspack/libopt.la
165  dbg_libs   += laspack/libdbg.la
166  devel_libs += laspack/libdevel.la
167  prof_libs  += laspack/libprof.la
168  oprof_libs += laspack/liboprof.la
169endif
170
171if LIBMESH_ENABLE_METIS
172if BUILD_METIS
173  SUBDIRS    += metis
174  opt_libs   += metis/libopt.la
175  dbg_libs   += metis/libdbg.la
176  devel_libs += metis/libdevel.la
177  prof_libs  += metis/libprof.la
178  oprof_libs += metis/liboprof.la
179endif
180endif
181
182if LIBMESH_ENABLE_PARMETIS
183if BUILD_PARMETIS
184  SUBDIRS    += parmetis
185  opt_libs   += parmetis/libopt.la
186  dbg_libs   += parmetis/libdbg.la
187  devel_libs += parmetis/libdevel.la
188  prof_libs  += parmetis/libprof.la
189  oprof_libs += parmetis/liboprof.la
190endif
191endif
192
193if LIBMESH_ENABLE_SFC
194  SUBDIRS    += sfcurves
195  opt_libs   += sfcurves/libopt.la
196  dbg_libs   += sfcurves/libdbg.la
197  devel_libs += sfcurves/libdevel.la
198  prof_libs  += sfcurves/libprof.la
199  oprof_libs += sfcurves/liboprof.la
200endif
201
202if LIBMESH_ENABLE_FPARSER
203  # ATM always compile fparser with optimized flags,
204  # and reuse in all methods
205  SUBDIRS    += fparser
206  opt_libs   += fparser/libopt.la
207  dbg_libs   += fparser/libdbg.la
208  devel_libs += fparser/libdevel.la
209  prof_libs  += fparser/libprof.la
210  oprof_libs += fparser/liboprof.la
211endif
212
213if LIBMESH_ENABLE_NANOFLANN
214  SUBDIRS += nanoflann
215  # header-only library - no library dependencies
216endif
217
218if LIBMESH_ENABLE_METAPHYSICL
219  SUBDIRS += metaphysicl
220  # header-only library for the parts we use - no library dependencies
221endif
222
223SUBDIRS += timpi
224opt_libs   += timpi/src/libtimpi_opt.la
225dbg_libs   += timpi/src/libtimpi_dbg.la
226devel_libs += timpi/src/libtimpi_devel.la
227prof_libs  += timpi/src/libtimpi_prof.la
228oprof_libs += timpi/src/libtimpi_oprof.la
229
230
231
232######################################################################
233#
234# Building the flavors
235#
236noinst_LTLIBRARIES =
237
238if LIBMESH_OPT_MODE
239  noinst_LTLIBRARIES        += libcontrib_opt.la
240  libcontrib_opt_la_SOURCES  = cppsource.C
241  libcontrib_opt_la_CPPFLAGS = $(CPPFLAGS_OPT) $(AM_CPPFLAGS)
242  libcontrib_opt_la_CXXFLAGS = $(CXXFLAGS_OPT)
243  libcontrib_opt_la_CFLAGS   = $(CFLAGS_OPT)
244  libcontrib_opt_la_LIBADD   = $(opt_libs)
245endif
246
247if LIBMESH_DBG_MODE
248  noinst_LTLIBRARIES        += libcontrib_dbg.la
249  libcontrib_dbg_la_SOURCES  = cppsource.C
250  libcontrib_dbg_la_CPPFLAGS = $(CPPFLAGS_DBG) $(AM_CPPFLAGS)
251  libcontrib_dbg_la_CXXFLAGS = $(CXXFLAGS_DBG)
252  libcontrib_dbg_la_CFLAGS   = $(CFLAGS_DBG)
253  libcontrib_dbg_la_LIBADD   = $(dbg_libs)
254endif
255
256if LIBMESH_DEVEL_MODE
257  noinst_LTLIBRARIES          += libcontrib_devel.la
258  libcontrib_devel_la_SOURCES  = cppsource.C
259  libcontrib_devel_la_CPPFLAGS = $(CPPFLAGS_DEVEL) $(AM_CPPFLAGS)
260  libcontrib_devel_la_CXXFLAGS = $(CXXFLAGS_DEVEL)
261  libcontrib_devel_la_CFLAGS   = $(CFLAGS_DEVEL)
262  libcontrib_devel_la_LIBADD   = $(devel_libs)
263endif
264
265if LIBMESH_PROF_MODE
266  noinst_LTLIBRARIES         += libcontrib_prof.la
267  libcontrib_prof_la_SOURCES  = cppsource.C
268  libcontrib_prof_la_CPPFLAGS = $(CPPFLAGS_PROF) $(AM_CPPFLAGS)
269  libcontrib_prof_la_CXXFLAGS = $(CXXFLAGS_PROF)
270  libcontrib_prof_la_CFLAGS   = $(CFLAGS_PROF)
271  libcontrib_prof_la_LIBADD   = $(prof_libs)
272endif
273
274if LIBMESH_OPROF_MODE
275  noinst_LTLIBRARIES          += libcontrib_oprof.la
276  libcontrib_oprof_la_SOURCES  = cppsource.C
277  libcontrib_oprof_la_CPPFLAGS = $(CPPFLAGS_OPROF) $(AM_CPPFLAGS)
278  libcontrib_oprof_la_CXXFLAGS = $(CXXFLAGS_OPROF)
279  libcontrib_oprof_la_CFLAGS   = $(CFLAGS_OPROF)
280  libcontrib_oprof_la_LIBADD   = $(oprof_libs)
281endif
282