source: src/Makefile.am@ fea945

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since fea945 was 6f0841, checked in by Frederik Heber <heber@…>, 13 years ago

Shifted all modules related to atoms into own subfolder src/Atom/

  • also created own convenience library for this. This makes unit testing on list containing TesselPoint or atom a lot easier.
  • shifted TesselPoint to src/Atom from src/Tesselation and adapted include's.
  • Property mode set to 100644
File size: 12.2 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 =
10
11include Actions/Makefile.am
12include Analysis/Makefile.am
13include Atom/Makefile.am
14include Element/Makefile.am
15include Fragmentation/Makefile.am
16include Graph/Makefile.am
17include Helpers/Makefile.am
18include LinkedCell/Makefile.am
19include Parser/Makefile.am
20include RandomNumbers/Makefile.am
21include Shapes/Makefile.am
22include UIElements/Makefile.am
23
24AM_LDFLAGS = -ldl ${BOOST_LDFLAGS}
25AM_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS}
26
27BONDSOURCE = \
28 Bond/bond.cpp \
29 Bond/GraphEdge.cpp
30
31BONDHEADER = \
32 Bond/bond.hpp \
33 Bond/GraphEdge.hpp
34
35DESCRIPTORSOURCE = \
36 Descriptors/AtomDescriptor.cpp \
37 Descriptors/AtomIdDescriptor.cpp \
38 Descriptors/AtomOfMoleculeSelectionDescriptor.cpp \
39 Descriptors/AtomSelectionDescriptor.cpp \
40 Descriptors/AtomShapeDescriptor.cpp \
41 Descriptors/AtomTypeDescriptor.cpp \
42 Descriptors/MoleculeDescriptor.cpp \
43 Descriptors/MoleculeFormulaDescriptor.cpp \
44 Descriptors/MoleculeIdDescriptor.cpp \
45 Descriptors/MoleculeNameDescriptor.cpp \
46 Descriptors/MoleculeOfAtomSelectionDescriptor.cpp \
47 Descriptors/MoleculeOrderDescriptor.cpp \
48 Descriptors/MoleculePtrDescriptor.cpp \
49 Descriptors/MoleculeSelectionDescriptor.cpp
50
51
52DESCRIPTORHEADER = \
53 Descriptors/AtomDescriptor.hpp \
54 Descriptors/AtomIdDescriptor.hpp \
55 Descriptors/AtomOfMoleculeSelectionDescriptor.hpp \
56 Descriptors/AtomSelectionDescriptor.hpp \
57 Descriptors/AtomShapeDescriptor.hpp \
58 Descriptors/AtomTypeDescriptor.hpp \
59 Descriptors/DescriptorBase.hpp \
60 Descriptors/MoleculeDescriptor.hpp \
61 Descriptors/MoleculeFormulaDescriptor.hpp \
62 Descriptors/MoleculeIdDescriptor.hpp \
63 Descriptors/MoleculeNameDescriptor.hpp \
64 Descriptors/MoleculeOfAtomSelectionDescriptor.hpp \
65 Descriptors/MoleculeOrderDescriptor.hpp \
66 Descriptors/MoleculePtrDescriptor.hpp \
67 Descriptors/MoleculeSelectionDescriptor.hpp \
68 Descriptors/SelectiveIterator.hpp
69
70DESCRIPTORIMPLHEADER = \
71 Descriptors/AtomDescriptor_impl.hpp \
72 Descriptors/AtomIdDescriptor_impl.hpp \
73 Descriptors/AtomOfMoleculeSelectionDescriptor_impl.hpp \
74 Descriptors/AtomSelectionDescriptor_impl.hpp \
75 Descriptors/AtomShapeDescriptor_impl.hpp \
76 Descriptors/AtomTypeDescriptor_impl.hpp \
77 Descriptors/DescriptorBase_impl.hpp \
78 Descriptors/MoleculeDescriptor_impl.hpp \
79 Descriptors/MoleculeFormulaDescriptor_impl.hpp \
80 Descriptors/MoleculeIdDescriptor_impl.hpp \
81 Descriptors/MoleculeNameDescriptor_impl.hpp \
82 Descriptors/MoleculeOfAtomSelectionDescriptor_impl.hpp \
83 Descriptors/MoleculeOrderDescriptor_impl.hpp \
84 Descriptors/MoleculePtrDescriptor_impl.hpp \
85 Descriptors/MoleculeSelectionDescriptor_impl.hpp \
86 Descriptors/SelectiveIterator_impl.hpp
87
88DYNAMICSSOURCE = \
89 Dynamics/MinimiseConstrainedPotential.cpp
90
91DYNAMICSHEADER = \
92 Dynamics/LinearInterpolationBetweenSteps.hpp \
93 Dynamics/MinimiseConstrainedPotential.hpp \
94 Dynamics/OutputTemperature.hpp \
95 Dynamics/VerletForceIntegration.hpp
96
97THERMOSTATSOURCE = \
98 Thermostats/Berendsen.cpp \
99 Thermostats/GaussianThermostat.cpp \
100 Thermostats/Langevin.cpp \
101 Thermostats/NoseHoover.cpp \
102 Thermostats/NoThermostat.cpp \
103 Thermostats/Thermostat.cpp \
104 Thermostats/ThermoStatContainer.cpp \
105 Thermostats/Woodcock.cpp
106
107THERMOSTATHEADER = \
108 Thermostats/Berendsen.hpp \
109 Thermostats/GaussianThermostat.hpp \
110 Thermostats/Langevin.hpp \
111 Thermostats/NoseHoover.hpp \
112 Thermostats/NoThermostat.hpp \
113 Thermostats/Thermostat.hpp \
114 Thermostats/ThermoStatContainer.hpp \
115 Thermostats/Woodcock.hpp
116
117TESSELATIONSOURCE = \
118 Tesselation/boundary.cpp \
119 Tesselation/BoundaryLineSet.cpp \
120 Tesselation/BoundaryPointSet.cpp \
121 Tesselation/BoundaryPolygonSet.cpp \
122 Tesselation/BoundaryTriangleSet.cpp \
123 Tesselation/CandidateForTesselation.cpp \
124 Tesselation/ellipsoid.cpp \
125 Tesselation/tesselation.cpp \
126 Tesselation/tesselationhelpers.cpp \
127 Tesselation/triangleintersectionlist.cpp
128
129TESSELATIONHEADER = \
130 Tesselation/boundary.hpp \
131 Tesselation/BoundaryLineSet.hpp \
132 Tesselation/BoundaryMaps.hpp \
133 Tesselation/BoundaryPointSet.hpp \
134 Tesselation/BoundaryPolygonSet.hpp \
135 Tesselation/BoundaryTriangleSet.hpp \
136 Tesselation/CandidateForTesselation.hpp \
137 Tesselation/ellipsoid.hpp \
138 Tesselation/tesselation.hpp \
139 Tesselation/tesselationhelpers.hpp \
140 Tesselation/triangleintersectionlist.hpp
141
142MOLECUILDERSOURCE = \
143 ${BONDSOURCE} \
144 ${DESCRIPTORSOURCE} \
145 ${DYNAMICSSOURCE} \
146 ${THERMOSTATSOURCE} \
147 ${TESSELATIONSOURCE} \
148 Box.cpp \
149 config.cpp \
150 Formula.cpp \
151 MoleculeLeafClass.cpp \
152 moleculelist.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 ${TESSELATIONHEADER} \
168 Box.hpp \
169 config.hpp \
170 Formula.hpp \
171 IdPool.hpp \
172 IdPool_impl.hpp \
173 MoleculeLeafClass.hpp \
174 MoleculeListClass.hpp \
175 molecule.hpp \
176 types.hpp \
177 UIElements/UIFactory.hpp \
178 version.h \
179 World.hpp \
180 World_calculations.hpp \
181 WorldTime.hpp
182
183noinst_LTLIBRARIES += libMolecuilder.la
184libMolecuilder_la_includedir = $(includedir)/MoleCuilder/
185
186nobase_libMolecuilder_la_include_HEADERS = ${MOLECUILDERHEADER}
187
188## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
189## target. Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
190## will therefore be treated as if it were literally part of the target name,
191## and the variable name derived from that.
192## The file extension .cc is recognized by Automake, and makes it produce
193## rules which invoke the C++ compiler to produce a libtool object file (.lo)
194## from each source file. Note that it is not necessary to list header files
195## which are already listed elsewhere in a _HEADERS variable assignment.
196libMolecuilder_la_SOURCES = ${MOLECUILDERSOURCE}
197
198## Instruct libtool to include ABI version information in the generated shared
199## library file (.so). The library ABI version is defined in configure.ac, so
200## that all version information is kept in one place.
201#libMolecuilder_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
202
203## The generated configuration header is installed in its own subdirectory of
204## $(libdir). The reason for this is that the configuration information put
205## into this header file describes the target platform the installed library
206## has been built for. Thus the file must not be installed into a location
207## intended for architecture-independent files, as defined by the Filesystem
208## Hierarchy Standard (FHS).
209## The nodist_ prefix instructs Automake to not generate rules for including
210## the listed files in the distribution on 'make dist'. Files that are listed
211## in _HEADERS variables are normally included in the distribution, but the
212## configuration header file is generated at configure time and should not be
213## shipped with the source tarball.
214libMolecuilder_la_libincludedir = $(libdir)/MoleCuilder/include
215nodist_libMolecuilder_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
216
217## Install the generated pkg-config file (.pc) into the expected location for
218## architecture-dependent package configuration information. Occasionally,
219## pkg-config files are also used for architecture-independent data packages,
220## in which case the correct install location would be $(datadir)/pkgconfig.
221pkgconfigdir = $(libdir)/pkgconfig
222pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
223
224
225INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements -I$(top_srcdir)/LinearAlgebra/src
226
227libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER}
228noinst_LIBRARIES = libmenu.a
229bin_PROGRAMS += molecuilder joiner analyzer
230EXTRA_PROGRAMS = unity
231
232
233extrastuffdir = $(datadir)/@PACKAGE@/data
234databasedir = $(extrastuffdir)/databases
235database_DATA = \
236 ${top_srcdir}/data/databases/*.db
237
238bondtabledir = $(extrastuffdir)/bondtables
239bondtable_DATA = \
240 ${top_srcdir}/data/bondtables/*.dat
241
242moleculedir = $(extrastuffdir)/molecules
243molecule_DATA = \
244 ${top_srcdir}/data/molecules/*.pdb
245
246if CONDPYTHON
247pyexec_LTLIBRARIES += pyMoleCuilder.la
248pyMoleCuilder_la_SOURCES = \
249 cleanUp.cpp \
250 cleanUp.hpp \
251 Actions/Action_impl_python.hpp \
252 Actions/GlobalListOfActions.hpp \
253 Actions/ActionHistory.hpp \
254 Actions/pyMoleCuilder.cpp
255pyMoleCuilder_la_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} -I$(PYTHON_INCLUDE_DIR)
256pyMoleCuilder_la_LDFLAGS = -module -avoid-version -shared
257pyMoleCuilder_la_LIBADD = \
258 libMolecuilderUI.la \
259 $(BOOST_PYTHON_LDFLAGS) $(BOOST_PYTHON_LIBS) \
260 ${CodePatterns_LIBS} \
261 -l$(PYTHON_LIB)
262endif
263
264
265molecuilder_CXXFLAGS = $(AM_CPPFLAGS)
266#molecuilder_CXXFLAGS += -DNO_CACHING
267molecuilder_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_RANDOM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
268molecuilder_SOURCES = \
269 builder.cpp \
270 builder_init.cpp \
271 builder_init.hpp \
272 cleanUp.cpp \
273 cleanUp.hpp
274molecuilder_LDADD = \
275 libMolecuilderUI.la \
276 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
277 ${CodePatterns_LIBS} \
278 $(BOOST_THREAD_LIBS) \
279 $(BOOST_PROGRAM_OPTIONS_LIBS) \
280 $(BOOST_RANDOM_LIBS) \
281 $(BOOST_SYSTEM_LIBS) \
282 $(BOOST_FILESYSTEM_LIBS)
283
284#Stuff for building the GUI using Qt
285if CONDQTGUI
286bin_PROGRAMS += molecuildergui
287molecuildergui_SOURCES = \
288 builder.cpp \
289 builder_init.cpp \
290 builder_init.hpp \
291 cleanUp.cpp \
292 cleanUp.hpp
293molecuildergui_CXXFLAGS = $(AM_CPPFLAGS) -DUSE_GUI_QT
294molecuildergui_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
295molecuildergui_LDADD = \
296 libMolecuilderQtUI.la \
297 libMolecuilderUI.la \
298 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
299 ${CodePatterns_LIBS} \
300 $(BOOST_THREAD_LIBS) \
301 $(BOOST_PROGRAM_OPTIONS_LIBS) \
302 $(BOOST_RANDOM_LIBS) \
303 $(BOOST_SYSTEM_LIBS) \
304 $(BOOST_FILESYSTEM_LIBS) \
305 $(GUI_LIBS)
306endif
307
308joiner_SOURCES = Fragmentation/joiner.cpp Fragmentation/datacreator.cpp Fragmentation/datacreator.hpp
309joiner_CXXFLAGS = $(AM_CPPFLAGS)
310joiner_LDFLAGS = $(AM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
311joiner_LDADD = \
312 libMolecuilderFragmentation.la \
313 libMolecuilderHelpers.la \
314 libMolecuilderElement.la \
315 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
316 ${CodePatterns_LIBS} \
317 $(BOOST_THREAD_LIBS)
318
319analyzer_SOURCES = Fragmentation/analyzer.cpp Fragmentation/datacreator.cpp Fragmentation/datacreator.hpp
320analyzer_CXXFLAGS = $(AM_CPPFLAGS)
321analyzer_LDFLAGS = $(AM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
322analyzer_LDADD = \
323 libMolecuilderFragmentation.la \
324 libMolecuilderHelpers.la \
325 libMolecuilderElement.la \
326 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
327 ${CodePatterns_LIBS} \
328 $(BOOST_THREAD_LIBS)
329
330unity_SOURCES = unity.cpp
331unity_CXXFLAGS = $(AM_CPPFLAGS)
332unity_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_RANDOM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
333unity_LDADD = \
334 ${CodePatterns_LIBS} \
335 $(BOOST_THREAD_LIBS) \
336 $(BOOST_PROGRAM_OPTIONS_LIBS) \
337 $(BOOST_RANDOM_LIBS) \
338 $(BOOST_SYSTEM_LIBS) \
339 $(BOOST_FILESYSTEM_LIBS)
340
341
342FORCE:
343$(srcdir)/.git-version: FORCE
344 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
345 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
346 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
347 mv -f .git-version-t $(srcdir)/.git-version; \
348 else \
349 rm -f .git-version-t; \
350 fi
351
352EXTRA_DIST = \
353 $(srcdir)/.git-version \
354 $(bondtable_DATA) \
355 $(database_DATA) \
356 $(molecule_DATA)
357
358$(srcdir)/version.c: $(srcdir)/.git-version
359 echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@
360
361
362unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER}
363 list='$(MOLECUILDERSOURCE)'; for file in $$list; do \
364 echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \
365 done; \
366 subdirs='$(SUBDIRS)';for directory in $$subdirs; do\
367 olddir=$$PWD;\
368 cd $$directory && make unity.cpp;\
369 cd $$olddir;\
370 echo "#include \"$$directory/unity.cpp\"" >> unity.cpp;\
371 done;\
372 echo "#include \"$(srcdir)/builder.cpp\"" >> unity.cpp;
373 echo "#include \"$(srcdir)/version.c\"" >> unity.cpp;
374
375MOSTLYCLEANFILES += unity.cpp
376
Note: See TracBrowser for help on using the repository browser.