source: src/Makefile.am@ 455573

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

Large Commit: SUBDIRS in src/Makefile.am replaced by include.

  • This should let make decide on the dependencies automatically.
  • We had to change each Makefile.am due to different relative location now.
  • FIX: convenience libs were not created due to lib_LT... instead of noinst_LT... (thanks, Ralf!)
  • FIX: convenience libs cannot pass on dependencies on real libs, these (seemingly: libLinearAlgebra) have to be re-specified.
  • FIX: RANDOMSOURCE/HEADER were still present to include in libMolecuilder although RandomNumbers have been outsourced for some time already.
  • this should make it a lot easier for unit tests to get away with the massive dependencies because we may now include single libs and can construct stubs in replacement.
  • Property mode set to 100644
File size: 10.8 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 =
7
8include Actions/Makefile.am
9include Graph/Makefile.am
10include Parser/Makefile.am
11include RandomNumbers/Makefile.am
12include Shapes/Makefile.am
13include UIElements/Makefile.am
14
15AM_LDFLAGS = -ldl
16AM_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS}
17
18ATOMSOURCE = \
19 atom.cpp \
20 AtomicInfo.cpp \
21 atom_atominfo.cpp \
22 atom_bondedparticle.cpp \
23 atom_bondedparticleinfo.cpp \
24 atom_graphnode.cpp \
25 atom_graphnodeinfo.cpp \
26 atom_particleinfo.cpp
27ATOMHEADER = \
28 atom.hpp \
29 AtomicInfo.hpp \
30 atom_atominfo.hpp \
31 atom_bondedparticle.hpp \
32 atom_bondedparticleinfo.hpp \
33 atom_graphnode.hpp \
34 atom_graphnodeinfo.hpp \
35 atom_particleinfo.hpp
36
37ANALYSISSOURCE = \
38 analysis_bonds.cpp \
39 analysis_correlation.cpp
40ANALYSISHEADER = \
41 analysis_bonds.hpp \
42 analysis_correlation.hpp
43
44BONDSOURCE = \
45 Bond/bond.cpp \
46 Bond/GraphEdge.cpp
47
48BONDHEADER = \
49 Bond/bond.hpp \
50 Bond/GraphEdge.hpp
51
52DESCRIPTORSOURCE = \
53 Descriptors/AtomDescriptor.cpp \
54 Descriptors/AtomIdDescriptor.cpp \
55 Descriptors/AtomOfMoleculeSelectionDescriptor.cpp \
56 Descriptors/AtomSelectionDescriptor.cpp \
57 Descriptors/AtomShapeDescriptor.cpp \
58 Descriptors/AtomTypeDescriptor.cpp \
59 Descriptors/MoleculeDescriptor.cpp \
60 Descriptors/MoleculeFormulaDescriptor.cpp \
61 Descriptors/MoleculeIdDescriptor.cpp \
62 Descriptors/MoleculeNameDescriptor.cpp \
63 Descriptors/MoleculeOfAtomSelectionDescriptor.cpp \
64 Descriptors/MoleculeOrderDescriptor.cpp \
65 Descriptors/MoleculePtrDescriptor.cpp \
66 Descriptors/MoleculeSelectionDescriptor.cpp
67
68
69DESCRIPTORHEADER = \
70 Descriptors/AtomDescriptor.hpp \
71 Descriptors/AtomIdDescriptor.hpp \
72 Descriptors/AtomOfMoleculeSelectionDescriptor.hpp \
73 Descriptors/AtomSelectionDescriptor.hpp \
74 Descriptors/AtomShapeDescriptor.hpp \
75 Descriptors/AtomTypeDescriptor.hpp \
76 Descriptors/MoleculeDescriptor.hpp \
77 Descriptors/MoleculeFormulaDescriptor.hpp \
78 Descriptors/MoleculeIdDescriptor.hpp \
79 Descriptors/MoleculeNameDescriptor.hpp \
80 Descriptors/MoleculeOfAtomSelectionDescriptor.hpp \
81 Descriptors/MoleculeOrderDescriptor.hpp \
82 Descriptors/MoleculePtrDescriptor.hpp \
83 Descriptors/MoleculeSelectionDescriptor.hpp
84
85DESCRIPTORIMPLHEADER = \
86 Descriptors/AtomDescriptor_impl.hpp \
87 Descriptors/AtomIdDescriptor_impl.hpp \
88 Descriptors/AtomOfMoleculeSelectionDescriptor_impl.hpp \
89 Descriptors/AtomSelectionDescriptor_impl.hpp \
90 Descriptors/AtomShapeDescriptor_impl.hpp \
91 Descriptors/AtomTypeDescriptor_impl.hpp \
92 Descriptors/MoleculeDescriptor_impl.hpp \
93 Descriptors/MoleculeFormulaDescriptor_impl.hpp \
94 Descriptors/MoleculeIdDescriptor_impl.hpp \
95 Descriptors/MoleculeNameDescriptor_impl.hpp \
96 Descriptors/MoleculeOfAtomSelectionDescriptor_impl.hpp \
97 Descriptors/MoleculeOrderDescriptor_impl.hpp \
98 Descriptors/MoleculePtrDescriptor_impl.hpp \
99 Descriptors/MoleculeSelectionDescriptor_impl.hpp
100
101DYNAMICSSOURCE = \
102 Dynamics/MinimiseConstrainedPotential.cpp
103
104DYNAMICSHEADER = \
105 Dynamics/LinearInterpolationBetweenSteps.hpp \
106 Dynamics/MinimiseConstrainedPotential.hpp \
107 Dynamics/OutputTemperature.hpp \
108 Dynamics/VerletForceIntegration.hpp
109
110HELPERSSOURCE = \
111 Helpers/defs.cpp
112
113HELPERSHEADER = \
114 Helpers/defs.hpp \
115 Helpers/helpers.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/Woodcock.cpp
125
126THERMOSTATHEADER = \
127 Thermostats/Berendsen.hpp \
128 Thermostats/GaussianThermostat.hpp \
129 Thermostats/Langevin.hpp \
130 Thermostats/NoseHoover.hpp \
131 Thermostats/NoThermostat.hpp \
132 Thermostats/Thermostat.hpp \
133 Thermostats/Woodcock.hpp
134
135TESSELATIONSOURCE = \
136 BoundaryLineSet.cpp \
137 BoundaryPointSet.cpp \
138 BoundaryPolygonSet.cpp \
139 BoundaryTriangleSet.cpp \
140 CandidateForTesselation.cpp \
141 tesselation.cpp \
142 tesselationhelpers.cpp \
143 TesselPoint.cpp
144
145TESSELATIONHEADER = \
146 BoundaryLineSet.hpp \
147 BoundaryPointSet.hpp \
148 BoundaryPolygonSet.hpp \
149 BoundaryTriangleSet.hpp \
150 CandidateForTesselation.hpp \
151 IPointCloud.hpp \
152 PointCloudAdaptor.hpp \
153 tesselation.hpp \
154 tesselationhelpers.hpp \
155 TesselPoint.hpp
156
157MOLECUILDERSOURCE = \
158 ${ANALYSISSOURCE} \
159 ${ATOMSOURCE} \
160 ${BONDSOURCE} \
161 ${DESCRIPTORSOURCE} \
162 ${DYNAMICSSOURCE} \
163 ${HELPERSSOURCE} \
164 ${THERMOSTATSOURCE} \
165 ${TESSELATIONSOURCE} \
166 boundary.cpp \
167 Box.cpp \
168 config.cpp \
169 ConfigFileBuffer.cpp \
170 element.cpp \
171 elements_db.cpp \
172 ellipsoid.cpp \
173 Formula.cpp \
174 graph.cpp \
175 linkedcell.cpp \
176 moleculelist.cpp \
177 molecule.cpp \
178 molecule_fragmentation.cpp \
179 molecule_geometry.cpp \
180 molecule_graph.cpp \
181 parser.cpp \
182 periodentafel.cpp \
183 ThermoStatContainer.cpp \
184 triangleintersectionlist.cpp \
185 UIElements/UIFactory.cpp \
186 World.cpp \
187 WorldTime.cpp
188
189MOLECUILDERHEADER = \
190 ${ANALYSISHEADER} \
191 ${ATOMHEADER} \
192 ${BONDHEADER} \
193 ${DESCRIPTORHEADER} \
194 ${DESCRIPTORIMPLHEADER} \
195 ${DYNAMICSHEADER} \
196 ${HELPERSHEADER} \
197 ${THERMOSTATHEADER} \
198 ${TESSELATIONHEADER} \
199 boundary.hpp \
200 Box.hpp \
201 config.hpp \
202 ConfigFileBuffer.hpp \
203 element.hpp \
204 elements_db.hpp \
205 ellipsoid.hpp \
206 Formula.hpp \
207 graph.hpp \
208 linkedcell.hpp \
209 molecule.hpp \
210 parser.hpp \
211 periodentafel.hpp \
212 ThermoStatContainer.hpp \
213 triangleintersectionlist.hpp \
214 UIElements/UIFactory.hpp \
215 World.hpp \
216 WorldTime.hpp
217
218noinst_LTLIBRARIES += libMolecuilder.la
219libMolecuilder_la_includedir = $(includedir)/MoleCuilder/
220
221nobase_libMolecuilder_la_include_HEADERS = ${MOLECUILDERHEADER}
222
223## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
224## target. Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
225## will therefore be treated as if it were literally part of the target name,
226## and the variable name derived from that.
227## The file extension .cc is recognized by Automake, and makes it produce
228## rules which invoke the C++ compiler to produce a libtool object file (.lo)
229## from each source file. Note that it is not necessary to list header files
230## which are already listed elsewhere in a _HEADERS variable assignment.
231libMolecuilder_la_SOURCES = ${MOLECUILDERSOURCE} $(srcdir)/version.c
232
233## Instruct libtool to include ABI version information in the generated shared
234## library file (.so). The library ABI version is defined in configure.ac, so
235## that all version information is kept in one place.
236#libMolecuilder_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
237
238## The generated configuration header is installed in its own subdirectory of
239## $(libdir). The reason for this is that the configuration information put
240## into this header file describes the target platform the installed library
241## has been built for. Thus the file must not be installed into a location
242## intended for architecture-independent files, as defined by the Filesystem
243## Hierarchy Standard (FHS).
244## The nodist_ prefix instructs Automake to not generate rules for including
245## the listed files in the distribution on 'make dist'. Files that are listed
246## in _HEADERS variables are normally included in the distribution, but the
247## configuration header file is generated at configure time and should not be
248## shipped with the source tarball.
249libMolecuilder_la_libincludedir = $(libdir)/MoleCuilder/include
250nodist_libMolecuilder_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
251
252## Install the generated pkg-config file (.pc) into the expected location for
253## architecture-dependent package configuration information. Occasionally,
254## pkg-config files are also used for architecture-independent data packages,
255## in which case the correct install location would be $(datadir)/pkgconfig.
256pkgconfigdir = $(libdir)/pkgconfig
257pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
258
259
260BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB)
261INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements -I$(top_srcdir)/LinearAlgebra/src
262
263noinst_LIBRARIES = libmenu.a
264bin_PROGRAMS = molecuilder molecuildergui joiner analyzer
265EXTRA_PROGRAMS = unity
266
267molecuilderdir = ${bindir}
268
269libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER}
270
271molecuilder_DATA = elements.db valence.db orbitals.db Hbonddistance.db Hbondangle.db
272
273molecuilder_CXXFLAGS = $(BOOST_CPPFLAGS)
274#molecuilder_CXXFLAGS += -DNO_CACHING
275molecuilder_LDFLAGS = $(BOOST_LIB)
276molecuilder_SOURCES = builder.cpp builder_init.cpp builder_init.hpp
277molecuilder_LDADD = \
278 libMolecuilderUI.la \
279 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
280 ${CodePatterns_LIBS} \
281 $(BOOST_LIB)
282
283#Stuff for building the GUI using Qt
284molecuildergui_SOURCES = builder.cpp builder_init.cpp builder_init.hpp
285molecuildergui_CXXFLAGS = $(BOOST_CPPFLAGS) -DUSE_GUI_QT
286molecuildergui_LDFLAGS = $(BOOST_LIB)
287molecuildergui_LDADD = \
288 libMolecuilderQtUI.la \
289 libMolecuilderUI.la \
290 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
291 ${CodePatterns_LIBS} \
292 $(BOOST_LIB) \
293 $(GUI_LIBS)
294
295joiner_SOURCES = joiner.cpp datacreator.cpp datacreator.hpp periodentafel.hpp
296joiner_LDADD = \
297 libMolecuilder.la \
298 libMolecuilderParser.la \
299 libMolecuilderShapes.la \
300 libMolecuilderRandomNumbers.la \
301 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
302 ${CodePatterns_LIBS} \
303 $(BOOST_LIB)
304
305analyzer_SOURCES = analyzer.cpp datacreator.cpp periodentafel.hpp datacreator.hpp
306analyzer_LDADD = \
307 libMolecuilder.la \
308 libMolecuilderParser.la \
309 libMolecuilderShapes.la \
310 libMolecuilderRandomNumbers.la \
311 $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
312 ${CodePatterns_LIBS} \
313 $(BOOST_LIB)
314
315unity_SOURCES = unity.cpp
316unity_LDADD = $(BOOST_LIB)
317
318
319FORCE:
320$(srcdir)/.git-version: FORCE
321 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
322 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
323 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
324 mv -f .git-version-t $(srcdir)/.git-version; \
325 else \
326 rm -f .git-version-t; \
327 fi
328
329EXTRA_DIST = $(srcdir)/.git-version
330
331$(srcdir)/version.c: $(srcdir)/.git-version
332 echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@
333
334
335unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER}
336 echo "#include \"$(srcdir)/Helpers/MemDebug.cpp\"" > unity.cpp; \
337 list='$(MOLECUILDERSOURCE)'; for file in $$list; do \
338 echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \
339 done; \
340 subdirs='$(SUBDIRS)';for directory in $$subdirs; do\
341 olddir=$$PWD;\
342 cd $$directory && make unity.cpp;\
343 cd $$olddir;\
344 echo "#include \"$$directory/unity.cpp\"" >> unity.cpp;\
345 done;\
346 echo "#include \"$(srcdir)/builder.cpp\"" >> unity.cpp;
347 echo "#include \"$(srcdir)/version.c\"" >> unity.cpp;
348
349MOSTLYCLEANFILES += unity.cpp
350
Note: See TracBrowser for help on using the repository browser.