source: src/Makefile.am@ 91c409

Candidate_v1.7.0 stable
Last change on this file since 91c409 was 9f55b9, checked in by Frederik Heber <frederik.heber@…>, 5 years ago

Extracted functor StretchBondUtil from StretchBondAction.

  • Property mode set to 100644
File size: 15.8 KB
Line 
1# PLEASE adhere to the alphabetical ordering in this Makefile!
2# Also indentation by a single tab
3
4MOSTLYCLEANFILES =
5lib_LTLIBRARIES =
6noinst_LTLIBRARIES =
7BUILT_SOURCES =
8bin_PROGRAMS =
9EXTRA_DIST =
10
11# libMolecuilder.la requires the libraries listed below
12
13include Geometry/Makefile.am
14include Helpers/Makefile.am
15include Shapes/Makefile.am
16include Tesselation/Makefile.am
17
18# then comes the library itself
19
20AM_LDFLAGS = -ldl ${BOOST_LDFLAGS} ${CodePatterns_LDFLAGS} ${JobMarket_LDFLAGS} $(LEVMAR_LDFLAGS)
21AM_CPPFLAGS = \
22 -I$(top_srcdir)/src/unittests \
23 -I$(top_srcdir)/src/Actions \
24 -I$(top_srcdir)/src/UIElements \
25 -I$(top_srcdir)/ThirdParty/LinearAlgebra/src \
26 $(LEVMAR_CPPFLAGS) \
27 ${BOOST_CPPFLAGS} \
28 ${CodePatterns_CFLAGS}
29
30
31BONDSOURCE = \
32 Bond/bond.cpp \
33 Bond/bond_observable.cpp \
34 Bond/BondInfo.cpp \
35 Bond/GraphEdge.cpp \
36 Bond/StretchBond.cpp
37
38BONDHEADER = \
39 Bond/bond.hpp \
40 Bond/bond_observable.hpp \
41 Bond/BondInfo.hpp \
42 Bond/GraphEdge.hpp \
43 Bond/StretchBond.hpp
44
45DESCRIPTORSOURCE = \
46 Descriptors/AtomDescriptor.cpp \
47 Descriptors/AtomIdDescriptor.cpp \
48 Descriptors/AtomNameDescriptor.cpp \
49 Descriptors/AtomOfMoleculeDescriptor.cpp \
50 Descriptors/AtomOfMoleculeSelectionDescriptor.cpp \
51 Descriptors/AtomOrderDescriptor.cpp \
52 Descriptors/AtomSelectionDescriptor.cpp \
53 Descriptors/AtomShapeDescriptor.cpp \
54 Descriptors/AtomTypeDescriptor.cpp \
55 Descriptors/AtomsWithinDistanceOfDescriptor.cpp \
56 Descriptors/MoleculeDescriptor.cpp \
57 Descriptors/MoleculeFormulaDescriptor.cpp \
58 Descriptors/MoleculeIdDescriptor.cpp \
59 Descriptors/MoleculeNameDescriptor.cpp \
60 Descriptors/MoleculeOfAtomSelectionDescriptor.cpp \
61 Descriptors/MoleculeOrderDescriptor.cpp \
62 Descriptors/MoleculePtrDescriptor.cpp \
63 Descriptors/MoleculeSelectionDescriptor.cpp
64
65
66DESCRIPTORHEADER = \
67 Descriptors/AtomDescriptor.hpp \
68 Descriptors/AtomIdDescriptor.hpp \
69 Descriptors/AtomNameDescriptor.hpp \
70 Descriptors/AtomOfMoleculeDescriptor.hpp \
71 Descriptors/AtomOfMoleculeSelectionDescriptor.hpp \
72 Descriptors/AtomOrderDescriptor.hpp \
73 Descriptors/AtomSelectionDescriptor.hpp \
74 Descriptors/AtomShapeDescriptor.hpp \
75 Descriptors/AtomTypeDescriptor.hpp \
76 Descriptors/AtomsWithinDistanceOfDescriptor.hpp \
77 Descriptors/DescriptorBase.hpp \
78 Descriptors/MoleculeDescriptor.hpp \
79 Descriptors/MoleculeFormulaDescriptor.hpp \
80 Descriptors/MoleculeIdDescriptor.hpp \
81 Descriptors/MoleculeNameDescriptor.hpp \
82 Descriptors/MoleculeOfAtomSelectionDescriptor.hpp \
83 Descriptors/MoleculeOrderDescriptor.hpp \
84 Descriptors/MoleculePtrDescriptor.hpp \
85 Descriptors/MoleculeSelectionDescriptor.hpp \
86 Descriptors/SelectiveConstIterator.hpp \
87 Descriptors/SelectiveIterator.hpp
88
89DESCRIPTORIMPLHEADER = \
90 Descriptors/AtomDescriptor_impl.hpp \
91 Descriptors/AtomIdDescriptor_impl.hpp \
92 Descriptors/AtomNameDescriptor_impl.hpp \
93 Descriptors/AtomOfMoleculeDescriptor_impl.hpp \
94 Descriptors/AtomOfMoleculeSelectionDescriptor_impl.hpp \
95 Descriptors/AtomOrderDescriptor_impl.hpp \
96 Descriptors/AtomSelectionDescriptor_impl.hpp \
97 Descriptors/AtomShapeDescriptor_impl.hpp \
98 Descriptors/AtomTypeDescriptor_impl.hpp \
99 Descriptors/AtomsWithinDistanceOfDescriptor_impl.hpp \
100 Descriptors/DescriptorBase_impl.hpp \
101 Descriptors/MoleculeDescriptor_impl.hpp \
102 Descriptors/MoleculeFormulaDescriptor_impl.hpp \
103 Descriptors/MoleculeIdDescriptor_impl.hpp \
104 Descriptors/MoleculeNameDescriptor_impl.hpp \
105 Descriptors/MoleculeOfAtomSelectionDescriptor_impl.hpp \
106 Descriptors/MoleculeOrderDescriptor_impl.hpp \
107 Descriptors/MoleculePtrDescriptor_impl.hpp \
108 Descriptors/MoleculeSelectionDescriptor_impl.hpp \
109 Descriptors/SelectiveConstIterator_impl.hpp \
110 Descriptors/SelectiveIterator_impl.hpp
111
112DYNAMICSSOURCE = \
113 Dynamics/BondVectors.cpp \
114 Dynamics/MinimiseConstrainedPotential.cpp
115
116DYNAMICSHEADER = \
117 Dynamics/AtomicForceManipulator.hpp \
118 Dynamics/BondVectors.hpp \
119 Dynamics/BondVectors_impl.hpp \
120 Dynamics/ForceAnnealing.hpp \
121 Dynamics/LinearInterpolationBetweenSteps.hpp \
122 Dynamics/MinimiseConstrainedPotential.hpp \
123 Dynamics/OutputEnergies.hpp \
124 Dynamics/VerletForceIntegration.hpp
125
126THERMOSTATSOURCE = \
127 Thermostats/Berendsen.cpp \
128 Thermostats/GaussianThermostat.cpp \
129 Thermostats/Langevin.cpp \
130 Thermostats/NoseHoover.cpp \
131 Thermostats/NoThermostat.cpp \
132 Thermostats/Thermostat.cpp \
133 Thermostats/ThermoStatContainer.cpp \
134 Thermostats/Woodcock.cpp
135
136THERMOSTATHEADER = \
137 Thermostats/Berendsen.hpp \
138 Thermostats/GaussianThermostat.hpp \
139 Thermostats/Langevin.hpp \
140 Thermostats/NoseHoover.hpp \
141 Thermostats/NoThermostat.hpp \
142 Thermostats/Thermostat.hpp \
143 Thermostats/ThermoStatContainer.hpp \
144 Thermostats/Woodcock.hpp
145
146MOLECUILDERSOURCE = \
147 ${BONDSOURCE} \
148 ${DESCRIPTORSOURCE} \
149 ${DYNAMICSSOURCE} \
150 ${THERMOSTATSOURCE} \
151 Shapes/ShapeFactory.cpp \
152 AtomIdSet.cpp \
153 Box.cpp \
154 Box_BoundaryConditions.cpp \
155 config.cpp \
156 Formula.cpp \
157 MoleculeLeafClass.cpp \
158 MoleculeObserver.cpp \
159 molecule.cpp \
160 molecule_geometry.cpp \
161 molecule_graph.cpp \
162 UIElements/UIFactory.cpp \
163 version.c \
164 World.cpp \
165 WorldTime.cpp
166
167MOLECUILDERHEADER = \
168 ${BONDHEADER} \
169 ${DESCRIPTORHEADER} \
170 ${DESCRIPTORIMPLHEADER} \
171 ${DYNAMICSHEADER} \
172 ${THERMOSTATHEADER} \
173 Shapes/ShapeFactory.hpp \
174 AtomIdSet.hpp \
175 Box.hpp \
176 Box_BoundaryConditions.hpp \
177 config.hpp \
178 EntityObserver.hpp \
179 EntityObserver_impl.hpp \
180 Formula.hpp \
181 IdPool.hpp \
182 IdPool_impl.hpp \
183 IdPool_policy.hpp \
184 MoleculeLeafClass.hpp \
185 MoleculeObserver.hpp \
186 molecule.hpp \
187 types.hpp \
188 ThreadGuard.hpp \
189 UIElements/UIFactory.hpp \
190 version.h \
191 World.hpp \
192 World_calculations.hpp \
193 WorldTime.hpp
194
195lib_LTLIBRARIES += libMolecuilder.la
196libMolecuilder_la_includedir = $(includedir)/MoleCuilder/
197libMolecuilder_la_LDFLAGS = \
198 $(AM_LDFLAGS) \
199 $(BOOST_SYSTEM_LDFLAGS) \
200 $(BOOST_THREAD_LDFLAGS)
201libMolecuilder_la_LIBADD = \
202 libMolecuilderTesselation.la \
203 libMolecuilderShapes.la \
204 libMolecuilderHelpers.la \
205 $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
206 ${CodePatterns_LIBS} \
207 $(BOOST_SERIALIZATION_LIBS) \
208 $(BOOST_PROGRAM_OPTIONS_LIBS) \
209 $(BOOST_FILESYSTEM_LIBS) \
210 $(BOOST_SYSTEM_LIBS) \
211 $(BOOST_THREAD_LIBS)
212
213nobase_libMolecuilder_la_include_HEADERS = ${MOLECUILDERHEADER}
214
215## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
216## target. Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
217## will therefore be treated as if it were literally part of the target name,
218## and the variable name derived from that.
219## The file extension .cc is recognized by Automake, and makes it produce
220## rules which invoke the C++ compiler to produce a libtool object file (.lo)
221## from each source file. Note that it is not necessary to list header files
222## which are already listed elsewhere in a _HEADERS variable assignment.
223libMolecuilder_la_SOURCES = ${MOLECUILDERSOURCE}
224
225## Instruct libtool to include ABI version information in the generated shared
226## library file (.so). The library ABI version is defined in configure.ac, so
227## that all version information is kept in one place.
228libMolecuilder_la_LDFLAGS += -version-info $(MOLECUILDER_SO_VERSION)
229
230## The generated configuration header is installed in its own subdirectory of
231## $(libdir). The reason for this is that the configuration information put
232## into this header file describes the target platform the installed library
233## has been built for. Thus the file must not be installed into a location
234## intended for architecture-independent files, as defined by the Filesystem
235## Hierarchy Standard (FHS).
236## The nodist_ prefix instructs Automake to not generate rules for including
237## the listed files in the distribution on 'make dist'. Files that are listed
238## in _HEADERS variables are normally included in the distribution, but the
239## configuration header file is generated at configure time and should not be
240## shipped with the source tarball.
241libMolecuilder_la_libincludedir = $(libdir)/MoleCuilder/include
242nodist_libMolecuilder_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
243
244## Install the generated pkg-config file (.pc) into the expected location for
245## architecture-dependent package configuration information. Occasionally,
246## pkg-config files are also used for architecture-independent data packages,
247## in which case the correct install location would be $(datadir)/pkgconfig.
248pkgconfigdir = $(libdir)/pkgconfig
249pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
250
251# then we compile the remainder of all other libraries, especially
252# libMolecuilderUI.la, which requires libMolecuilder.la on install
253
254include Actions/Makefile.am
255include Analysis/Makefile.am
256include Atom/Makefile.am
257include Element/Makefile.am
258include Filling/Makefile.am
259include Fragmentation/Makefile.am
260include Fragmentation/Automation/Makefile.am
261include Fragmentation/Summation/Containers/Makefile.am
262include Fragmentation/Summation/Converter/Makefile.am
263include Fragmentation/Summation/Makefile.am
264include Fragmentation/Summation/SetValues/Makefile.am
265include FunctionApproximation/Makefile.am
266include Graph/Makefile.am
267include Jobs/Makefile.am
268
269if CONDPYTHON
270include Python/Makefile.am
271endif
272
273include LinkedCell/Makefile.am
274include Parameters/Makefile.am
275include Parser/Makefile.am
276include Potentials/Makefile.am
277include RandomNumbers/Makefile.am
278include UIElements/Makefile.am
279
280bin_PROGRAMS += molecuilder
281EXTRA_PROGRAMS = unity
282
283
284extrastuffdir = $(datadir)/@PACKAGE@/data
285databasedir = $(extrastuffdir)/databases
286database_DATA = \
287 ${top_srcdir}/data/databases/*.db
288
289bondtabledir = $(extrastuffdir)/bondtables
290bondtable_DATA = \
291 ${top_srcdir}/data/bondtables/*.dat
292
293moleculedir = $(extrastuffdir)/molecules
294molecule_DATA = \
295 ${top_srcdir}/data/molecules/*.pdb
296
297
298molecuilder_CPPFLAGS = $(AM_CPPFLAGS)
299#molecuilder_CPPFLAGS += -DNO_CACHING
300molecuilder_LDFLAGS = \
301 $(AM_LDFLAGS) \
302 $(BOOST_FILESYSTEM_LDFLAGS) \
303 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
304 $(BOOST_RANDOM_LDFLAGS) \
305 $(BOOST_SYSTEM_LDFLAGS) \
306 $(BOOST_THREAD_LDFLAGS)
307molecuilder_SOURCES = \
308 builder.cpp \
309 builder_init.cpp \
310 builder_init.hpp \
311 Python/PythonScripting.hpp
312molecuilder_LDADD = \
313 libMolecuilder.la \
314 libMolecuilderUI.la
315molecuilder_LDADD += \
316 ${CodePatterns_LIBS} \
317 $(BOOST_THREAD_LIBS) \
318 $(BOOST_PROGRAM_OPTIONS_LIBS) \
319 $(BOOST_RANDOM_LIBS) \
320 $(BOOST_FILESYSTEM_LIBS) \
321 $(BOOST_SYSTEM_LIBS)
322
323if CONDPYTHON
324molecuilder_SOURCES += \
325 Actions/Action_impl_python.hpp \
326 Actions/GlobalListOfActions.hpp
327molecuilder_CPPFLAGS += $(BOOST_PYTHON_CPPFLAGS)
328molecuilder_LDFLAGS += $(BOOST_PYTHON_LDFLAGS)
329molecuilder_LDADD += \
330 $(BOOST_PYTHON_LIBS) \
331 $(BOOST_PYTHON_LIB) \
332 ${CodePatterns_LIBS}
333endif
334
335#Stuff for building the GUI using Qt
336if CONDQTGUI
337bin_PROGRAMS += molecuildergui
338molecuildergui_SOURCES = \
339 builder.cpp \
340 builder_init.cpp \
341 builder_init.hpp \
342 Python/PythonScripting.hpp
343molecuildergui_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_GUI_QT
344molecuildergui_LDFLAGS = \
345 $(AM_LDFLAGS) \
346 $(BOOST_FILESYSTEM_LDFLAGS) \
347 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
348 $(BOOST_SYSTEM_LDFLAGS) \
349 $(BOOST_THREAD_LDFLAGS)
350molecuildergui_LDADD = \
351 libMolecuilder.la \
352 libMolecuilderQtUI.la \
353 libMolecuilderUI.la
354molecuildergui_LDADD += \
355 ${CodePatterns_LIBS} \
356 $(BOOST_THREAD_LIBS) \
357 $(BOOST_PROGRAM_OPTIONS_LIBS) \
358 $(BOOST_RANDOM_LIBS) \
359 $(BOOST_FILESYSTEM_LIBS) \
360 $(BOOST_SYSTEM_LIBS) \
361 $(GUI_LIBS)
362
363if CONDPYTHON
364molecuildergui_SOURCES += \
365 Actions/Action_impl_python.hpp \
366 Actions/GlobalListOfActions.hpp
367molecuildergui_CPPFLAGS += $(BOOST_PYTHON_CPPFLAGS)
368molecuildergui_LDFLAGS += $(BOOST_PYTHON_LDFLAGS)
369molecuildergui_LDADD += \
370 $(BOOST_PYTHON_LIBS) \
371 $(BOOST_PYTHON_LIB) \
372 ${CodePatterns_LIBS}
373endif
374
375endif
376
377if CONDJOBMARKET
378CONTROLLERSOURCE = \
379 controller_MPQCCommandJob.cpp \
380 ControllerOptions_MPQCCommandJob.cpp
381
382CONTROLLERHEADER = \
383 controller_MPQCCommandJob.hpp \
384 ControllerOptions_MPQCCommandJob.hpp
385
386
387noinst_LTLIBRARIES += libFragmentationAutomationController.la
388libFragmentationAutomationController_la_includedir = $(includedir)/MoleCuilder/JobMarket
389nobase_libFragmentationAutomationController_la_include_HEADERS = $(CONTROLLERHEADER)
390libFragmentationAutomationController_la_SOURCES = $(CONTROLLERSOURCE)
391 libFragmentationAutomationController_la_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
392libFragmentationAutomationController_la_LIBADD = \
393 ${JobMarket_Controller_LIBS} \
394 $(JobMarket_LIBS)
395
396bin_PROGRAMS += molecuilder_controller molecuilder_poolworker molecuilder_server
397
398molecuilder_controller_SOURCES = controller.cpp controller_AddOn_MPQCCommandJob.cpp
399molecuilder_controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
400molecuilder_controller_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
401molecuilder_controller_LDADD = \
402 libFragmentationAutomationController.la \
403 libMolecuilderFragmentation_getFromKeysetStub.la \
404 libMolecuilderFragmentation.la \
405 libMolecuilderJobs.la \
406 libMolecuilderJobs_Work.la \
407 libMolecuilderFragmentationSummation.la \
408 libMolecuilderFragmentation_KeysetsContainer.la \
409 libMolecuilderHelpers.la \
410 $(JobMarket_Controller_LIBS) \
411 $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
412 $(BOOST_SERIALIZATION_LIBS) \
413 $(BOOST_PROGRAM_OPTIONS_LIBS) \
414 ${CodePatterns_LIBS}
415
416molecuilder_poolworker_SOURCES = poolworker.cpp
417molecuilder_poolworker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
418molecuilder_poolworker_CPPFLAGS = \
419 $(AM_CPPFLAGS) $(JobMarket_CFLAGS) \
420 -I$(top_builddir)/ThirdParty/mpqc_open/src/lib \
421 -I$(top_srcdir)/ThirdParty/mpqc_open/src/lib \
422 -I$(top_srcdir)/ThirdParty/mpqc_open/src/bin/mpqc
423
424molecuilder_poolworker_LDADD = \
425 libMolecuilderJobs.la \
426 libMolecuilderJobs_Work.la \
427 libMolecuilderFragmentationSummation.la \
428 ${JobMarket_PoolWorker_LIBS} \
429 $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
430 $(BOOST_SERIALIZATION_LIBS) \
431 $(BOOST_PROGRAM_OPTIONS_LIBS) \
432 ${CodePatterns_LIBS}
433
434molecuilder_server_SOURCES = Server.cpp
435molecuilder_server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
436molecuilder_server_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
437molecuilder_server_LDADD = \
438 libMolecuilderJobs.la \
439 libMolecuilderJobs_Work.la \
440 libMolecuilderFragmentationSummation.la \
441 ${JobMarket_Server_LIBS} \
442 $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
443 $(BOOST_SERIALIZATION_LIBS) \
444 $(BOOST_PROGRAM_OPTIONS_LIBS) \
445 ${CodePatterns_LIBS}
446endif
447
448unity_SOURCES = unity.cpp
449unity_CPPFLAGS = $(AM_CPPFLAGS)
450unity_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_RANDOM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
451unity_LDADD = \
452 ${CodePatterns_LIBS} \
453 $(BOOST_THREAD_LIBS) \
454 $(BOOST_PROGRAM_OPTIONS_LIBS) \
455 $(BOOST_RANDOM_LIBS) \
456 $(BOOST_FILESYSTEM_LIBS) \
457 $(BOOST_SYSTEM_LIBS)
458
459
460FORCE:
461$(srcdir)/.git-version: FORCE
462 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
463 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
464 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
465 mv -f .git-version-t $(srcdir)/.git-version; \
466 else \
467 rm -f .git-version-t; \
468 fi
469
470EXTRA_DIST += \
471 $(srcdir)/.git-version \
472 $(bondtable_DATA) \
473 $(database_DATA) \
474 $(molecule_DATA)
475
476$(srcdir)/version.c: $(srcdir)/.git-version
477 echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@
478
479
480unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER}
481 list='$(MOLECUILDERSOURCE)'; for file in $$list; do \
482 echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \
483 done; \
484 subdirs='$(SUBDIRS)';for directory in $$subdirs; do\
485 olddir=$$PWD;\
486 cd $$directory && make unity.cpp;\
487 cd $$olddir;\
488 echo "#include \"$$directory/unity.cpp\"" >> unity.cpp;\
489 done;\
490 echo "#include \"$(srcdir)/builder.cpp\"" >> unity.cpp;
491 echo "#include \"$(srcdir)/version.c\"" >> unity.cpp;
492
493MOSTLYCLEANFILES += unity.cpp
494
Note: See TracBrowser for help on using the repository browser.