source: src/Makefile.am@ a2c4f3

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 a2c4f3 was f4d063, checked in by Frederik Heber <heber@…>, 14 years ago

MEMFIX: MemDebug ignores all unknown sources. Removed all dependencies around main(), moved to builder_init.?pp.

  • this has been an attempt to fix the warning of a memory leak that actually results into the libboost_filesystem.so over which we have no control. As of now, i I do not quite look through the whole affair. That is, I have a now idea why Till's new memory allocator is used during the initialization of some external library already, but apparently it must have to do with lookup tables present in the exectuable already. Hence, we can not do much about.
  • Nonetheless, we split up main() into some initializating functions which have been outsourced to builder_init.cpp.
  • The only fix then is that we ignore all values of unknown source in MemDebug.
  • Note: We only do accouting of stuff allocated on the heap (e.g. int *test = new int;) and not on stack (int test;)! However, stack space is limited anyway.
  • Property mode set to 100644
File size: 13.5 KB
Line 
1# PLEASE adhere to the alphabetical ordering in this Makefile!
2# Also indentation by a single tab
3
4SUBDIRS = Actions Exceptions Helpers LinearAlgebra Parser UIElements
5
6AM_CPPFLAGS = ${BOOST_CPPFLAGS}
7
8ATOMSOURCE = \
9 atom.cpp \
10 AtomicInfo.cpp \
11 atom_atominfo.cpp \
12 atom_bondedparticle.cpp \
13 atom_bondedparticleinfo.cpp \
14 atom_graphnode.cpp \
15 atom_graphnodeinfo.cpp \
16 atom_particleinfo.cpp \
17 atom_trajectoryparticle.cpp \
18 atom_trajectoryparticleinfo.cpp
19ATOMHEADER = \
20 atom.hpp \
21 AtomicInfo.hpp \
22 atom_atominfo.hpp \
23 atom_bondedparticle.hpp \
24 atom_bondedparticleinfo.hpp \
25 atom_graphnode.hpp \
26 atom_graphnodeinfo.hpp \
27 atom_particleinfo.hpp \
28 atom_trajectoryparticle.hpp \
29 atom_trajectoryparticleinfo.hpp
30
31ANALYSISSOURCE = \
32 analysis_bonds.cpp \
33 analysis_correlation.cpp
34ANALYSISHEADER = \
35 analysis_bonds.hpp \
36 analysis_correlation.hpp
37
38ACTIONSSOURCE = \
39 Actions/Action.cpp \
40 Actions/ActionHistory.cpp \
41 Actions/ActionRegistry.cpp \
42 Actions/ActionSequence.cpp \
43 Actions/ActionTraits.cpp \
44 Actions/ErrorAction.cpp \
45 Actions/MakroAction.cpp \
46 Actions/ManipulateAtomsProcess.cpp \
47 Actions/MethodAction.cpp \
48 Actions/OptionRegistry.cpp \
49 Actions/OptionTrait.cpp \
50 Actions/Process.cpp
51
52ACTIONSHEADER = \
53 Actions/Action.hpp \
54 Actions/ActionHistory.hpp \
55 Actions/ActionRegistry.hpp \
56 Actions/ActionSequence.hpp \
57 Actions/ActionTraits.hpp \
58 Actions/Calculation.hpp \
59 Actions/Calculation_impl.hpp \
60 Actions/ErrorAction.hpp \
61 Actions/MakroAction.hpp \
62 Actions/ManipulateAtomsProcess.hpp \
63 Actions/MethodAction.hpp \
64 Actions/OptionRegistry.hpp \
65 Actions/OptionTrait.hpp \
66 Actions/Process.hpp
67
68
69PATTERNSOURCE = \
70 Patterns/Observer.cpp
71PATTERNHEADER = \
72 Patterns/Cacheable.hpp \
73 Patterns/Observer.hpp \
74 Patterns/Singleton.hpp
75
76SHAPESOURCE = \
77 Shapes/BaseShapes.cpp \
78 Shapes/Shape.cpp \
79 Shapes/ShapeOps.cpp
80SHAPEHEADER = \
81 Shapes/BaseShapes.hpp \
82 Shapes/Shape.hpp \
83 Shapes/ShapeOps.hpp
84
85
86DESCRIPTORSOURCE = \
87 Descriptors/AtomDescriptor.cpp \
88 Descriptors/AtomIdDescriptor.cpp \
89 Descriptors/AtomOfMoleculeSelectionDescriptor.cpp \
90 Descriptors/AtomSelectionDescriptor.cpp \
91 Descriptors/AtomShapeDescriptor.cpp \
92 Descriptors/AtomTypeDescriptor.cpp \
93 Descriptors/MoleculeDescriptor.cpp \
94 Descriptors/MoleculeFormulaDescriptor.cpp \
95 Descriptors/MoleculeIdDescriptor.cpp \
96 Descriptors/MoleculeNameDescriptor.cpp \
97 Descriptors/MoleculeOfAtomSelectionDescriptor.cpp \
98 Descriptors/MoleculeOrderDescriptor.cpp \
99 Descriptors/MoleculePtrDescriptor.cpp \
100 Descriptors/MoleculeSelectionDescriptor.cpp
101
102
103DESCRIPTORHEADER = \
104 Descriptors/AtomDescriptor.hpp \
105 Descriptors/AtomIdDescriptor.hpp \
106 Descriptors/AtomOfMoleculeSelectionDescriptor.hpp \
107 Descriptors/AtomSelectionDescriptor.hpp \
108 Descriptors/AtomShapeDescriptor.hpp \
109 Descriptors/AtomTypeDescriptor.hpp \
110 Descriptors/MoleculeDescriptor.hpp \
111 Descriptors/MoleculeFormulaDescriptor.hpp \
112 Descriptors/MoleculeIdDescriptor.hpp \
113 Descriptors/MoleculeNameDescriptor.hpp \
114 Descriptors/MoleculeOfAtomSelectionDescriptor.hpp \
115 Descriptors/MoleculeOrderDescriptor.hpp \
116 Descriptors/MoleculePtrDescriptor.hpp \
117 Descriptors/MoleculeSelectionDescriptor.hpp
118
119DESCRIPTORIMPLHEADER = \
120 Descriptors/AtomDescriptor_impl.hpp \
121 Descriptors/AtomIdDescriptor_impl.hpp \
122 Descriptors/AtomOfMoleculeSelectionDescriptor_impl.hpp \
123 Descriptors/AtomSelectionDescriptor_impl.hpp \
124 Descriptors/AtomShapeDescriptor_impl.hpp \
125 Descriptors/AtomTypeDescriptor_impl.hpp \
126 Descriptors/MoleculeDescriptor_impl.hpp \
127 Descriptors/MoleculeFormulaDescriptor_impl.hpp \
128 Descriptors/MoleculeIdDescriptor_impl.hpp \
129 Descriptors/MoleculeNameDescriptor_impl.hpp \
130 Descriptors/MoleculeOfAtomSelectionDescriptor_impl.hpp \
131 Descriptors/MoleculeOrderDescriptor_impl.hpp \
132 Descriptors/MoleculePtrDescriptor_impl.hpp \
133 Descriptors/MoleculeSelectionDescriptor_impl.hpp
134
135THERMOSTATSOURCE = \
136 Thermostats/Berendsen.cpp \
137 Thermostats/GaussianThermostat.cpp \
138 Thermostats/Langevin.cpp \
139 Thermostats/NoseHoover.cpp \
140 Thermostats/NoThermostat.cpp \
141 Thermostats/Thermostat.cpp \
142 Thermostats/Woodcock.cpp
143
144THERMOSTATHEADER = \
145 Thermostats/Berendsen.hpp \
146 Thermostats/GaussianThermostat.hpp \
147 Thermostats/Langevin.hpp \
148 Thermostats/NoseHoover.hpp \
149 Thermostats/NoThermostat.hpp \
150 Thermostats/Thermostat.hpp \
151 Thermostats/Woodcock.hpp
152
153TESSELATIONSOURCE = \
154 BoundaryLineSet.cpp \
155 BoundaryPointSet.cpp \
156 BoundaryPolygonSet.cpp \
157 BoundaryTriangleSet.cpp \
158 CandidateForTesselation.cpp \
159 PointCloud.cpp \
160 tesselation.cpp \
161 tesselationhelpers.cpp \
162 TesselPoint.cpp
163
164TESSELATIONHEADER = \
165 BoundaryLineSet.hpp \
166 BoundaryPointSet.hpp \
167 BoundaryPolygonSet.hpp \
168 BoundaryTriangleSet.hpp \
169 CandidateForTesselation.hpp \
170 PointCloud.hpp \
171 tesselation.hpp \
172 tesselationhelpers.hpp \
173 TesselPoint.hpp
174
175MOLECUILDERSOURCE = \
176 ${ANALYSISSOURCE} \
177 ${ACTIONSSOURCE} \
178 ${ATOMSOURCE} \
179 ${PATTERNSOURCE} \
180 ${SHAPESOURCE} \
181 ${DESCRIPTORSOURCE} \
182 ${THERMOSTATSOURCE} \
183 ${TESSELATIONSOURCE} \
184 bond.cpp \
185 bondgraph.cpp \
186 boundary.cpp \
187 Box.cpp \
188 config.cpp \
189 ConfigFileBuffer.cpp \
190 element.cpp \
191 elements_db.cpp \
192 ellipsoid.cpp \
193 Formula.cpp \
194 graph.cpp \
195 linkedcell.cpp \
196 moleculelist.cpp \
197 molecule.cpp \
198 molecule_dynamics.cpp \
199 molecule_fragmentation.cpp \
200 molecule_geometry.cpp \
201 molecule_graph.cpp \
202 molecule_pointcloud.cpp \
203 parser.cpp \
204 periodentafel.cpp \
205 ThermoStatContainer.cpp \
206 triangleintersectionlist.cpp \
207 UIElements/UIFactory.cpp \
208 World.cpp
209
210MOLECUILDERHEADER = \
211 ${ANALYSISHEADER} \
212 ${ACTIONSHEADER} \
213 ${ATOMHEADER} \
214 ${PATTERNHEADER} \
215 ${SHAPEHEADER} \
216 ${DESCRIPTORHEADER} \
217 ${DESCRIPTORIMPLHEADER} \
218 ${THERMOSTATHEADER} \
219 ${TESSELATIONHEADER} \
220 bond.hpp \
221 bondgraph.hpp \
222 boundary.hpp \
223 Box.hpp \
224 config.hpp \
225 ConfigFileBuffer.hpp \
226 element.hpp \
227 elements_db.hpp \
228 ellipsoid.hpp \
229 Formula.hpp \
230 graph.hpp \
231 linkedcell.hpp \
232 lists.hpp \
233 molecule.hpp \
234 parser.hpp \
235 periodentafel.hpp \
236 ThermoStatContainer.hpp \
237 triangleintersectionlist.hpp \
238 UIElements/UIFactory.hpp \
239 World.hpp
240
241lib_LTLIBRARIES = libMolecuilder-@MOLECUILDER_API_VERSION@.la
242libMolecuilder_includedir = $(includedir)/molecuilder-$(MOLECUILDER_API_VERSION)/Actions/
243libMolecuilder_LIBS = \
244 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
245 ${BOOST_PROGRAM_OPTIONS_LIB}
246
247# UIElements/libMolecuilderUI.a \
248 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
249 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
250 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
251 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
252 $(BOOST_LIB) \
253 ${BOOST_THREAD_LIB}
254
255nobase_libMolecuilder_include_HEADERS = ${MOLECUILDERHEADER}
256
257## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
258## target. Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
259## will therefore be treated as if it were literally part of the target name,
260## and the variable name derived from that.
261## The file extension .cc is recognized by Automake, and makes it produce
262## rules which invoke the C++ compiler to produce a libtool object file (.lo)
263## from each source file. Note that it is not necessary to list header files
264## which are already listed elsewhere in a _HEADERS variable assignment.
265libMolecuilder_@MOLECUILDER_API_VERSION@_la_SOURCES = ${MOLECUILDERSOURCE} $(srcdir)/version.c
266
267## Instruct libtool to include ABI version information in the generated shared
268## library file (.so). The library ABI version is defined in configure.ac, so
269## that all version information is kept in one place.
270libMolecuilder_@MOLECUILDER_API_VERSION@_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
271
272## The generated configuration header is installed in its own subdirectory of
273## $(libdir). The reason for this is that the configuration information put
274## into this header file describes the target platform the installed library
275## has been built for. Thus the file must not be installed into a location
276## intended for architecture-independent files, as defined by the Filesystem
277## Hierarchy Standard (FHS).
278## The nodist_ prefix instructs Automake to not generate rules for including
279## the listed files in the distribution on 'make dist'. Files that are listed
280## in _HEADERS variables are normally included in the distribution, but the
281## configuration header file is generated at configure time and should not be
282## shipped with the source tarball.
283libMolecuilder_libincludedir = $(libdir)/molecuilder-$(MOLECUILDER_API_VERSION)/include
284nodist_libMolecuilder_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
285
286## Install the generated pkg-config file (.pc) into the expected location for
287## architecture-dependent package configuration information. Occasionally,
288## pkg-config files are also used for architecture-independent data packages,
289## in which case the correct install location would be $(datadir)/pkgconfig.
290pkgconfigdir = $(libdir)/pkgconfig
291pkgconfig_DATA = $(top_builddir)/molecuilder-$(MOLECUILDER_API_VERSION).pc
292
293
294BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB)
295INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements
296
297noinst_LIBRARIES = libmenu.a
298bin_PROGRAMS = molecuilder molecuildergui joiner analyzer SubspaceFactorizer
299EXTRA_PROGRAMS = unity
300
301molecuilderdir = ${bindir}
302
303libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER}
304
305molecuilder_DATA = elements.db valence.db orbitals.db Hbonddistance.db Hbondangle.db
306
307SubspaceFactorizer_CXXFLAGS = $(BOOST_CPPFLAGS)
308SubspaceFactorizer_SOURCES = SubspaceFactorizer.cpp
309SubspaceFactorizer_LDADD = \
310 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
311 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
312 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
313 $(GSLLIB) \
314 $(BOOST_LIB)
315
316molecuilder_CXXFLAGS = $(BOOST_CPPFLAGS)
317#molecuilder_CXXFLAGS += -DNO_CACHING
318molecuilder_LDFLAGS = $(BOOST_LIB)
319molecuilder_SOURCES = builder.cpp builder_init.cpp builder_init.hpp
320molecuilder_LDADD = \
321 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
322 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
323 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
324 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
325 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
326 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
327 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
328 $(BOOST_LIB)
329
330#Stuff for building the GUI using Qt
331molecuildergui_SOURCES = builder.cpp builder_init.cpp builder_init.hpp
332molecuildergui_CXXFLAGS = $(BOOST_CPPFLAGS) -DUSE_GUI_QT
333molecuildergui_LDFLAGS = $(BOOST_LIB)
334
335unity_SOURCES = unity.cpp
336unity_LDADD = $(BOOST_LIB)
337
338molecuildergui_LDADD = \
339 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
340 UIElements/libMolecuilderQtUI-@MOLECUILDER_API_VERSION@.la \
341 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
342 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
343 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
344 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
345 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
346 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
347 $(BOOST_LIB) \
348 ${GUI_LIBS}
349
350joiner_SOURCES = joiner.cpp datacreator.cpp datacreator.hpp periodentafel.hpp
351joiner_LDADD = \
352 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
353 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
354 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
355 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
356 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
357 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
358 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
359 $(BOOST_LIB)
360
361analyzer_SOURCES = analyzer.cpp datacreator.cpp periodentafel.hpp datacreator.hpp
362analyzer_LDADD = \
363 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
364 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
365 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
366 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
367 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
368 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
369 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
370 $(BOOST_LIB)
371
372#EXTRA_DIST = ${molecuilder_DATA}
373
374FORCE:
375$(srcdir)/.git-version: FORCE
376 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
377 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
378 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
379 mv -f .git-version-t $(srcdir)/.git-version; \
380 else \
381 rm -f .git-version-t; \
382 fi
383
384EXTRA_DIST = $(srcdir)/.git-version
385
386$(srcdir)/version.c: $(srcdir)/.git-version
387 echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@
388
389
390unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER}
391 echo "#include \"$(srcdir)/Helpers/MemDebug.cpp\"" > unity.cpp; \
392 list='$(MOLECUILDERSOURCE)'; for file in $$list; do \
393 echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \
394 done; \
395 subdirs='$(SUBDIRS)';for directory in $$subdirs; do\
396 olddir=$$PWD;\
397 cd $$directory && make unity.cpp;\
398 cd $$olddir;\
399 echo "#include \"$$directory/unity.cpp\"" >> unity.cpp;\
400 done;\
401 echo "#include \"$(srcdir)/builder.cpp\"" >> unity.cpp;
402 echo "#include \"$(srcdir)/version.c\"" >> unity.cpp;
403
404MOSTLYCLEANFILES = unity.cpp
405
Note: See TracBrowser for help on using the repository browser.