source: src/Makefile.am@ d51e62

AutomationFragmentation_failures Candidate_v1.6.1 ChemicalSpaceEvaluator Exclude_Hydrogens_annealWithBondGraph ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_contraction-expansion Gui_displays_atomic_force_velocity PythonUI_with_named_parameters StoppableMakroAction TremoloParser_IncreasedPrecision
Last change on this file since d51e62 was d51e62, checked in by Frederik Heber <frederik.heber@…>, 7 years ago

Added helper class BondVectors.

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