source: src/Makefile.am

Candidate_v1.6.1
Last change on this file was f433ec, checked in by Frederik Heber <frederik.heber@…>, 7 years ago

We now obtain weights via levmar minimization.

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