source: src/Makefile.am@ 751d7f1

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 751d7f1 was 949953, checked in by Frederik Heber <heber@…>, 13 years ago

pyMoleCuilder now has full functionality.

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