source: src/Makefile.am@ ff4fff9

CombiningParticlePotentialParsing
Last change on this file since ff4fff9 was eb6552, checked in by Frederik Heber <heber@…>, 9 years ago

Deleted MoleculeListClass.

  • finally ... some veeeery old legacy stuff is gone.
  • 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 =
7pyexec_LTLIBRARIES =
8BUILT_SOURCES =
9bin_PROGRAMS =
10EXTRA_DIST =
11
12# libMolecuilder.la requires the libraries listed below
13
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}
21AM_CPPFLAGS = \
22 -I$(top_srcdir)/src/unittests \
23 -I$(top_srcdir)/src/Actions \
24 -I$(top_srcdir)/src/UIElements \
25 -I$(top_srcdir)/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/MinimiseConstrainedPotential.cpp
111
112DYNAMICSHEADER = \
113 Dynamics/AtomicForceManipulator.hpp \
114 Dynamics/ForceAnnealing.hpp \
115 Dynamics/LinearInterpolationBetweenSteps.hpp \
116 Dynamics/MinimiseConstrainedPotential.hpp \
117 Dynamics/OutputTemperature.hpp \
118 Dynamics/VerletForceIntegration.hpp
119
120THERMOSTATSOURCE = \
121 Thermostats/Berendsen.cpp \
122 Thermostats/GaussianThermostat.cpp \
123 Thermostats/Langevin.cpp \
124 Thermostats/NoseHoover.cpp \
125 Thermostats/NoThermostat.cpp \
126 Thermostats/Thermostat.cpp \
127 Thermostats/ThermoStatContainer.cpp \
128 Thermostats/Woodcock.cpp
129
130THERMOSTATHEADER = \
131 Thermostats/Berendsen.hpp \
132 Thermostats/GaussianThermostat.hpp \
133 Thermostats/Langevin.hpp \
134 Thermostats/NoseHoover.hpp \
135 Thermostats/NoThermostat.hpp \
136 Thermostats/Thermostat.hpp \
137 Thermostats/ThermoStatContainer.hpp \
138 Thermostats/Woodcock.hpp
139
140MOLECUILDERSOURCE = \
141 ${BONDSOURCE} \
142 ${DESCRIPTORSOURCE} \
143 ${DYNAMICSSOURCE} \
144 ${THERMOSTATSOURCE} \
145 Shapes/ShapeFactory.cpp \
146 AtomIdSet.cpp \
147 Box.cpp \
148 Box_BoundaryConditions.cpp \
149 config.cpp \
150 Formula.cpp \
151 MoleculeLeafClass.cpp \
152 MoleculeObserver.cpp \
153 molecule.cpp \
154 molecule_geometry.cpp \
155 molecule_graph.cpp \
156 UIElements/UIFactory.cpp \
157 version.c \
158 World.cpp \
159 WorldTime.cpp
160
161MOLECUILDERHEADER = \
162 ${BONDHEADER} \
163 ${DESCRIPTORHEADER} \
164 ${DESCRIPTORIMPLHEADER} \
165 ${DYNAMICSHEADER} \
166 ${THERMOSTATHEADER} \
167 Shapes/ShapeFactory.hpp \
168 AtomIdSet.hpp \
169 Box.hpp \
170 Box_BoundaryConditions.hpp \
171 config.hpp \
172 EntityObserver.hpp \
173 EntityObserver_impl.hpp \
174 Formula.hpp \
175 IdPool.hpp \
176 IdPool_impl.hpp \
177 IdPool_policy.hpp \
178 MoleculeLeafClass.hpp \
179 MoleculeObserver.hpp \
180 molecule.hpp \
181 types.hpp \
182 ThreadGuard.hpp \
183 UIElements/UIFactory.hpp \
184 version.h \
185 World.hpp \
186 World_calculations.hpp \
187 WorldTime.hpp
188
189lib_LTLIBRARIES += libMolecuilder.la
190libMolecuilder_la_includedir = $(includedir)/MoleCuilder/
191libMolecuilder_la_LDFLAGS = \
192 $(AM_LDFLAGS) \
193 $(CodePatterns_LDFLAGS) \
194 $(BOOST_SYSTEM_LDFLAGS) \
195 $(BOOST_THREAD_LDFLAGS)
196libMolecuilder_la_LIBADD = \
197 libMolecuilderTesselation.la \
198 libMolecuilderShapes.la \
199 libMolecuilderHelpers.la \
200 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
201 ${CodePatterns_LIBS} \
202 $(BOOST_SERIALIZATION_LIBS) \
203 $(BOOST_PROGRAM_OPTIONS_LIBS) \
204 $(BOOST_FILESYSTEM_LIBS) \
205 $(BOOST_SYSTEM_LIBS) \
206 $(BOOST_THREAD_LIBS)
207
208nobase_libMolecuilder_la_include_HEADERS = ${MOLECUILDERHEADER}
209
210## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
211## target. Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
212## will therefore be treated as if it were literally part of the target name,
213## and the variable name derived from that.
214## The file extension .cc is recognized by Automake, and makes it produce
215## rules which invoke the C++ compiler to produce a libtool object file (.lo)
216## from each source file. Note that it is not necessary to list header files
217## which are already listed elsewhere in a _HEADERS variable assignment.
218libMolecuilder_la_SOURCES = ${MOLECUILDERSOURCE}
219
220## Instruct libtool to include ABI version information in the generated shared
221## library file (.so). The library ABI version is defined in configure.ac, so
222## that all version information is kept in one place.
223libMolecuilder_la_LDFLAGS += -version-info $(MOLECUILDER_SO_VERSION)
224
225## The generated configuration header is installed in its own subdirectory of
226## $(libdir). The reason for this is that the configuration information put
227## into this header file describes the target platform the installed library
228## has been built for. Thus the file must not be installed into a location
229## intended for architecture-independent files, as defined by the Filesystem
230## Hierarchy Standard (FHS).
231## The nodist_ prefix instructs Automake to not generate rules for including
232## the listed files in the distribution on 'make dist'. Files that are listed
233## in _HEADERS variables are normally included in the distribution, but the
234## configuration header file is generated at configure time and should not be
235## shipped with the source tarball.
236libMolecuilder_la_libincludedir = $(libdir)/MoleCuilder/include
237nodist_libMolecuilder_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
238
239## Install the generated pkg-config file (.pc) into the expected location for
240## architecture-dependent package configuration information. Occasionally,
241## pkg-config files are also used for architecture-independent data packages,
242## in which case the correct install location would be $(datadir)/pkgconfig.
243pkgconfigdir = $(libdir)/pkgconfig
244pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
245
246# then we compile the remainder of all other libraries, especially
247# libMolecuilderUI.la, which requires libMolecuilder.la on install
248
249include Actions/Makefile.am
250include Analysis/Makefile.am
251include Atom/Makefile.am
252include Element/Makefile.am
253include Filling/Makefile.am
254include Fragmentation/Makefile.am
255include Fragmentation/Automation/Makefile.am
256include Fragmentation/Summation/Containers/Makefile.am
257include Fragmentation/Summation/Converter/Makefile.am
258include Fragmentation/Summation/Makefile.am
259include Fragmentation/Summation/SetValues/Makefile.am
260include FunctionApproximation/Makefile.am
261include Graph/Makefile.am
262include Jobs/Makefile.am
263
264if CONDPYTHON
265include Python/Makefile.am
266endif
267
268include LinkedCell/Makefile.am
269include Parameters/Makefile.am
270include Parser/Makefile.am
271include Potentials/Makefile.am
272include RandomNumbers/Makefile.am
273include UIElements/Makefile.am
274
275bin_PROGRAMS += molecuilder
276EXTRA_PROGRAMS = unity
277
278
279extrastuffdir = $(datadir)/@PACKAGE@/data
280databasedir = $(extrastuffdir)/databases
281database_DATA = \
282 ${top_srcdir}/data/databases/*.db
283
284bondtabledir = $(extrastuffdir)/bondtables
285bondtable_DATA = \
286 ${top_srcdir}/data/bondtables/*.dat
287
288moleculedir = $(extrastuffdir)/molecules
289molecule_DATA = \
290 ${top_srcdir}/data/molecules/*.pdb
291
292if CONDPYTHON
293pyexec_LTLIBRARIES += pyMoleCuilder.la
294pyMoleCuilder_la_SOURCES = \
295 cleanUp.cpp \
296 cleanUp.hpp \
297 Actions/Action_impl_python.hpp \
298 Actions/GlobalListOfActions.hpp \
299 Actions/ActionHistory.hpp
300pyMoleCuilder_la_CPPFLAGS = $(AM_CPPFLAGS) ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} $(JobMarket_CFLAGS) -I$(PYTHON_INCLUDE_DIR)
301pyMoleCuilder_la_LDFLAGS = -module -version-info $(MOLECUILDER_SO_VERSION) -shared $(BOOST_PYTHON_LDFLAGS)
302pyMoleCuilder_la_LIBADD = \
303 libMolecuilderUI.la
304pyMoleCuilder_la_LIBADD += \
305 $(BOOST_PYTHON_LIBS) \
306 ${CodePatterns_LIBS} \
307 -l$(PYTHON_LIB)
308endif
309
310
311
312molecuilder_CPPFLAGS = $(AM_CPPFLAGS)
313#molecuilder_CPPFLAGS += -DNO_CACHING
314molecuilder_LDFLAGS = \
315 $(AM_LDFLAGS) \
316 $(CodePatterns_LDFLAGS) \
317 $(BOOST_FILESYSTEM_LDFLAGS) \
318 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
319 $(BOOST_RANDOM_LDFLAGS) \
320 $(BOOST_SYSTEM_LDFLAGS) \
321 $(BOOST_THREAD_LDFLAGS)
322molecuilder_SOURCES = \
323 builder.cpp \
324 builder_init.cpp \
325 builder_init.hpp \
326 Python/PythonScripting.hpp
327molecuilder_LDADD = \
328 libMolecuilder.la \
329 libMolecuilderUI.la
330molecuilder_LDADD += \
331 ${CodePatterns_LIBS} \
332 $(BOOST_THREAD_LIBS) \
333 $(BOOST_PROGRAM_OPTIONS_LIBS) \
334 $(BOOST_RANDOM_LIBS) \
335 $(BOOST_FILESYSTEM_LIBS) \
336 $(BOOST_SYSTEM_LIBS)
337
338if CONDPYTHON
339molecuilder_SOURCES += \
340 Actions/Action_impl_python.hpp \
341 Actions/GlobalListOfActions.hpp
342molecuilder_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR)
343molecuilder_LDFLAGS += $(BOOST_PYTHON_LDFLAGS)
344molecuilder_LDADD += \
345 $(BOOST_PYTHON_LIBS) \
346 ${CodePatterns_LIBS} \
347 -l$(PYTHON_LIB)
348endif
349
350#Stuff for building the GUI using Qt
351if CONDQTGUI
352bin_PROGRAMS += molecuildergui
353molecuildergui_SOURCES = \
354 builder.cpp \
355 builder_init.cpp \
356 builder_init.hpp \
357 Python/PythonScripting.hpp
358molecuildergui_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_GUI_QT
359molecuildergui_LDFLAGS = \
360 $(AM_LDFLAGS) \
361 $(BOOST_FILESYSTEM_LDFLAGS) \
362 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
363 $(BOOST_SYSTEM_LDFLAGS) \
364 $(BOOST_THREAD_LDFLAGS)
365molecuildergui_LDADD = \
366 libMolecuilder.la \
367 libMolecuilderQtUI.la \
368 libMolecuilderUI.la
369molecuildergui_LDADD += \
370 ${CodePatterns_LIBS} \
371 $(BOOST_THREAD_LIBS) \
372 $(BOOST_PROGRAM_OPTIONS_LIBS) \
373 $(BOOST_RANDOM_LIBS) \
374 $(BOOST_FILESYSTEM_LIBS) \
375 $(BOOST_SYSTEM_LIBS) \
376 $(GUI_LIBS)
377
378if CONDPYTHON
379molecuildergui_SOURCES += \
380 Actions/Action_impl_python.hpp \
381 Actions/GlobalListOfActions.hpp
382molecuildergui_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR)
383molecuildergui_LDFLAGS += $(BOOST_PYTHON_LDFLAGS)
384molecuildergui_LDADD += \
385 $(BOOST_PYTHON_LIBS) \
386 ${CodePatterns_LIBS} \
387 -l$(PYTHON_LIB)
388endif
389
390endif
391
392if CONDJOBMARKET
393CONTROLLERSOURCE = \
394 controller_MPQCCommandJob.cpp \
395 ControllerOptions_MPQCCommandJob.cpp
396
397CONTROLLERHEADER = \
398 controller_MPQCCommandJob.hpp \
399 ControllerOptions_MPQCCommandJob.hpp
400
401
402noinst_LTLIBRARIES += libFragmentationAutomationController.la
403libFragmentationAutomationController_la_includedir = $(includedir)/MoleCuilder/JobMarket
404nobase_libFragmentationAutomationController_la_include_HEADERS = $(CONTROLLERHEADER)
405libFragmentationAutomationController_la_SOURCES = $(CONTROLLERSOURCE)
406 libFragmentationAutomationController_la_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
407libFragmentationAutomationController_la_LIBADD = \
408 ${JobMarket_Controller_LIBS} \
409 $(JobMarket_LIBS)
410
411bin_PROGRAMS += Controller PoolWorker Server
412
413Controller_SOURCES = controller.cpp controller_AddOn_MPQCCommandJob.cpp
414Controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ${CodePatterns_LDFLAGS}
415Controller_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
416Controller_LDADD = \
417 libFragmentationAutomationController.la \
418 libMolecuilderFragmentation_getFromKeysetStub.la \
419 libMolecuilderFragmentation.la \
420 libMolecuilderJobs.la \
421 libMolecuilderFragmentationSummation.la \
422 libMolecuilderFragmentation_KeysetsContainer.la \
423 libMolecuilderHelpers.la \
424 $(JobMarket_Controller_LIBS) \
425 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
426 $(BOOST_SERIALIZATION_LIBS) \
427 $(BOOST_PROGRAM_OPTIONS_LIBS) \
428 ${CodePatterns_LIBS}
429
430PoolWorker_SOURCES = poolworker.cpp
431PoolWorker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ${CodePatterns_LDFLAGS}
432PoolWorker_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
433PoolWorker_LDADD = \
434 libMolecuilderJobs.la \
435 libMolecuilderFragmentationSummation.la \
436 ${JobMarket_PoolWorker_LIBS} \
437 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
438 $(BOOST_SERIALIZATION_LIBS) \
439 $(BOOST_PROGRAM_OPTIONS_LIBS) \
440 ${CodePatterns_LIBS}
441
442Server_SOURCES = Server.cpp
443Server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ${CodePatterns_LDFLAGS}
444Server_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
445Server_LDADD = \
446 libMolecuilderJobs.la \
447 libMolecuilderFragmentationSummation.la \
448 ${JobMarket_Server_LIBS} \
449 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
450 $(BOOST_SERIALIZATION_LIBS) \
451 $(BOOST_PROGRAM_OPTIONS_LIBS) \
452 ${CodePatterns_LIBS}
453endif
454
455unity_SOURCES = unity.cpp
456unity_CPPFLAGS = $(AM_CPPFLAGS)
457unity_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_RANDOM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
458unity_LDADD = \
459 ${CodePatterns_LIBS} \
460 $(BOOST_THREAD_LIBS) \
461 $(BOOST_PROGRAM_OPTIONS_LIBS) \
462 $(BOOST_RANDOM_LIBS) \
463 $(BOOST_FILESYSTEM_LIBS) \
464 $(BOOST_SYSTEM_LIBS)
465
466
467FORCE:
468$(srcdir)/.git-version: FORCE
469 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
470 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
471 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
472 mv -f .git-version-t $(srcdir)/.git-version; \
473 else \
474 rm -f .git-version-t; \
475 fi
476
477EXTRA_DIST += \
478 $(srcdir)/.git-version \
479 $(bondtable_DATA) \
480 $(database_DATA) \
481 $(molecule_DATA)
482
483$(srcdir)/version.c: $(srcdir)/.git-version
484 echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@
485
486
487unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER}
488 list='$(MOLECUILDERSOURCE)'; for file in $$list; do \
489 echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \
490 done; \
491 subdirs='$(SUBDIRS)';for directory in $$subdirs; do\
492 olddir=$$PWD;\
493 cd $$directory && make unity.cpp;\
494 cd $$olddir;\
495 echo "#include \"$$directory/unity.cpp\"" >> unity.cpp;\
496 done;\
497 echo "#include \"$(srcdir)/builder.cpp\"" >> unity.cpp;
498 echo "#include \"$(srcdir)/version.c\"" >> unity.cpp;
499
500MOSTLYCLEANFILES += unity.cpp
501
Note: See TracBrowser for help on using the repository browser.