source: src/Makefile.am@ c9bc2b7

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

Bigger rewrite of RandomNumbers ... due to cloning of prototypes.

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