source: src/Makefile.am@ a01144

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

FIX: Linking to non-system boost is working now.

  • FIX: BOOST_CPPFLAGS was not present in AM_CPPFLAGS in all Makefile.am
  • Hence, not the correct includes were used and linking occured with undefined reference errors (because of version conflict between system-wide installed and non-system boost)
  • validate()s now make version check of boost as signature of validation_error)_ changed in boost 1.42
  • added AX_BOOST_SYSTEM to configure.ac and BOOST_SYSTEM_LIB to src/Makefile.am and src/unittests/Makefile.am. Otherwise we have to set an rpath to let it find the lib needed by other boost libs in non-system boost configs.
  • 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
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 = Descriptors/AtomDescriptor.cpp \
87 Descriptors/AtomIdDescriptor.cpp \
88 Descriptors/AtomSelectionDescriptor.cpp \
89 Descriptors/AtomShapeDescriptor.cpp \
90 Descriptors/AtomTypeDescriptor.cpp \
91 Descriptors/MoleculeDescriptor.cpp \
92 Descriptors/MoleculeFormulaDescriptor.cpp \
93 Descriptors/MoleculeIdDescriptor.cpp \
94 Descriptors/MoleculeNameDescriptor.cpp \
95 Descriptors/MoleculePtrDescriptor.cpp \
96 Descriptors/MoleculeSelectionDescriptor.cpp
97
98
99DESCRIPTORHEADER = Descriptors/AtomDescriptor.hpp \
100 Descriptors/AtomIdDescriptor.hpp \
101 Descriptors/AtomSelectionDescriptor.hpp \
102 Descriptors/AtomShapeDescriptor.hpp \
103 Descriptors/AtomTypeDescriptor.hpp \
104 Descriptors/MoleculeDescriptor.hpp \
105 Descriptors/MoleculeFormulaDescriptor.hpp \
106 Descriptors/MoleculeIdDescriptor.hpp \
107 Descriptors/MoleculeNameDescriptor.hpp \
108 Descriptors/MoleculePtrDescriptor.hpp \
109 Descriptors/MoleculeSelectionDescriptor.cpp
110
111THERMOSTATSOURCE = \
112 Thermostats/Berendsen.cpp \
113 Thermostats/GaussianThermostat.cpp \
114 Thermostats/Langevin.cpp \
115 Thermostats/NoseHoover.cpp \
116 Thermostats/NoThermostat.cpp \
117 Thermostats/Thermostat.cpp \
118 Thermostats/Woodcock.cpp
119
120THERMOSTATHEADER = \
121 Thermostats/Berendsen.hpp \
122 Thermostats/GaussianThermostat.hpp \
123 Thermostats/Langevin.hpp \
124 Thermostats/NoseHoover.hpp \
125 Thermostats/NoThermostat.hpp \
126 Thermostats/Thermostat.hpp \
127 Thermostats/Woodcock.hpp
128
129TESSELATIONSOURCE = \
130 BoundaryLineSet.cpp \
131 BoundaryPointSet.cpp \
132 BoundaryPolygonSet.cpp \
133 BoundaryTriangleSet.cpp \
134 CandidateForTesselation.cpp \
135 PointCloud.cpp \
136 tesselation.cpp \
137 tesselationhelpers.cpp \
138 TesselPoint.cpp
139
140TESSELATIONHEADER = \
141 BoundaryLineSet.hpp \
142 BoundaryPointSet.hpp \
143 BoundaryPolygonSet.hpp \
144 BoundaryTriangleSet.hpp \
145 CandidateForTesselation.hpp \
146 PointCloud.hpp \
147 tesselation.hpp \
148 tesselationhelpers.hpp \
149 TesselPoint.hpp
150
151MOLECUILDERSOURCE = \
152 ${ANALYSISSOURCE} \
153 ${ACTIONSSOURCE} \
154 ${ATOMSOURCE} \
155 ${PATTERNSOURCE} \
156 ${SHAPESOURCE} \
157 ${DESCRIPTORSOURCE} \
158 ${THERMOSTATSOURCE} \
159 ${TESSELATIONSOURCE} \
160 bond.cpp \
161 bondgraph.cpp \
162 boundary.cpp \
163 Box.cpp \
164 config.cpp \
165 ConfigFileBuffer.cpp \
166 defs.cpp \
167 element.cpp \
168 elements_db.cpp \
169 ellipsoid.cpp \
170 Formula.cpp \
171 graph.cpp \
172 leastsquaremin.cpp \
173 linkedcell.cpp \
174 moleculelist.cpp \
175 molecule.cpp \
176 molecule_dynamics.cpp \
177 molecule_fragmentation.cpp \
178 molecule_geometry.cpp \
179 molecule_graph.cpp \
180 molecule_pointcloud.cpp \
181 parser.cpp \
182 periodentafel.cpp \
183 ThermoStatContainer.cpp \
184 triangleintersectionlist.cpp \
185 UIElements/UIFactory.cpp \
186 World.cpp
187
188MOLECUILDERHEADER = \
189 ${ANALYSISHEADER} \
190 ${ACTIONSHEADER} \
191 ${ATOMHEADER} \
192 ${PATTERNHEADER} \
193 ${SHAPEHEADER} \
194 ${DESCRIPTORHEADER} \
195 ${THERMOSTATHEADER} \
196 ${TESSELATIONHEADER} \
197 bond.hpp \
198 bondgraph.hpp \
199 boundary.hpp \
200 Box.hpp \
201 config.hpp \
202 ConfigFileBuffer.hpp \
203 defs.hpp \
204 element.hpp \
205 elements_db.hpp \
206 ellipsoid.hpp \
207 Formula.hpp \
208 graph.hpp \
209 leastsquaremin.hpp \
210 linkedcell.hpp \
211 lists.hpp \
212 molecule.hpp \
213 parser.hpp \
214 periodentafel.hpp \
215 stackclass.hpp \
216 ThermoStatContainer.hpp \
217 triangleintersectionlist.hpp \
218 UIElements/UIFactory.hpp \
219 World.hpp
220
221lib_LTLIBRARIES = libMolecuilder-@MOLECUILDER_API_VERSION@.la
222libMolecuilder_includedir = $(includedir)/molecuilder-$(MOLECUILDER_API_VERSION)/Actions/
223libMolecuilder_LIBS = \
224 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
225 ${BOOST_PROGRAM_OPTIONS_LIB}
226
227# UIElements/libMolecuilderUI.a \
228 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
229 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
230 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
231 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
232 $(BOOST_LIB) \
233 ${BOOST_THREAD_LIB}
234
235nobase_libMolecuilder_include_HEADERS = ${MOLECUILDERHEADER}
236
237## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
238## target. Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
239## will therefore be treated as if it were literally part of the target name,
240## and the variable name derived from that.
241## The file extension .cc is recognized by Automake, and makes it produce
242## rules which invoke the C++ compiler to produce a libtool object file (.lo)
243## from each source file. Note that it is not necessary to list header files
244## which are already listed elsewhere in a _HEADERS variable assignment.
245libMolecuilder_@MOLECUILDER_API_VERSION@_la_SOURCES = ${MOLECUILDERSOURCE} $(srcdir)/version.c
246
247## Instruct libtool to include ABI version information in the generated shared
248## library file (.so). The library ABI version is defined in configure.ac, so
249## that all version information is kept in one place.
250libMolecuilder_@MOLECUILDER_API_VERSION@_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
251
252## The generated configuration header is installed in its own subdirectory of
253## $(libdir). The reason for this is that the configuration information put
254## into this header file describes the target platform the installed library
255## has been built for. Thus the file must not be installed into a location
256## intended for architecture-independent files, as defined by the Filesystem
257## Hierarchy Standard (FHS).
258## The nodist_ prefix instructs Automake to not generate rules for including
259## the listed files in the distribution on 'make dist'. Files that are listed
260## in _HEADERS variables are normally included in the distribution, but the
261## configuration header file is generated at configure time and should not be
262## shipped with the source tarball.
263libMolecuilder_libincludedir = $(libdir)/molecuilder-$(MOLECUILDER_API_VERSION)/include
264nodist_libMolecuilder_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
265
266## Install the generated pkg-config file (.pc) into the expected location for
267## architecture-dependent package configuration information. Occasionally,
268## pkg-config files are also used for architecture-independent data packages,
269## in which case the correct install location would be $(datadir)/pkgconfig.
270pkgconfigdir = $(libdir)/pkgconfig
271pkgconfig_DATA = $(top_builddir)/molecuilder-$(MOLECUILDER_API_VERSION).pc
272
273
274BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB)
275INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements
276
277noinst_LIBRARIES = libmenu.a
278bin_PROGRAMS = molecuilder molecuildergui joiner analyzer
279EXTRA_PROGRAMS = unity
280
281molecuilderdir = ${bindir}
282
283libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER}
284
285molecuilder_DATA = elements.db valence.db orbitals.db Hbonddistance.db Hbondangle.db
286
287molecuilder_CXXFLAGS = $(BOOST_CPPFLAGS)
288#molecuilder_CXXFLAGS += -DNO_CACHING
289molecuilder_LDFLAGS = $(BOOST_LIB)
290molecuilder_SOURCES = builder.cpp
291molecuilder_LDADD = \
292 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
293 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
294 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
295 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
296 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
297 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
298 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
299 $(BOOST_LIB)
300
301#Stuff for building the GUI using Qt
302molecuildergui_SOURCES = builder.cpp
303molecuildergui_CXXFLAGS = $(BOOST_CPPFLAGS) -DUSE_GUI_QT
304molecuildergui_LDFLAGS = $(BOOST_LIB)
305
306unity_SOURCES = unity.cpp
307unity_LDADD = $(BOOST_LIB)
308
309molecuildergui_LDADD = \
310 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
311 UIElements/libMolecuilderQtUI-@MOLECUILDER_API_VERSION@.la \
312 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
313 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
314 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
315 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
316 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
317 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
318 $(BOOST_LIB) \
319 ${GUI_LIBS}
320
321joiner_SOURCES = joiner.cpp datacreator.cpp datacreator.hpp periodentafel.hpp
322joiner_LDADD = \
323 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
324 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
325 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
326 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
327 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
328 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
329 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
330 $(BOOST_LIB)
331
332analyzer_SOURCES = analyzer.cpp datacreator.cpp periodentafel.hpp datacreator.hpp
333analyzer_LDADD = \
334 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
335 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
336 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
337 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
338 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
339 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
340 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
341 $(BOOST_LIB)
342
343#EXTRA_DIST = ${molecuilder_DATA}
344
345FORCE:
346$(srcdir)/.git-version: FORCE
347 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
348 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
349 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
350 mv -f .git-version-t $(srcdir)/.git-version; \
351 else \
352 rm -f .git-version-t; \
353 fi
354
355EXTRA_DIST = $(srcdir)/.git-version
356
357$(srcdir)/version.c: $(srcdir)/.git-version
358 echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@
359
360
361unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER}
362 echo "#include \"$(srcdir)/Helpers/MemDebug.cpp\"" > unity.cpp; \
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.