source: src/Makefile.am@ 255971

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 SharedLibraries
Last change on this file since 255971 was 255971, checked in by Frederik Heber <heber@…>, 14 years ago

Converted libMolecuilder to shared lib via libtool.

  • joiner and analyzer now also need libMolecuilderLinearAlgebra and ..Exceptions
  • Property mode set to 100644
File size: 11.6 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
6
7ATOMSOURCE = \
8 atom.cpp \
9 atom_atominfo.cpp \
10 atom_bondedparticle.cpp \
11 atom_bondedparticleinfo.cpp \
12 atom_graphnode.cpp \
13 atom_graphnodeinfo.cpp \
14 atom_particleinfo.cpp \
15 atom_trajectoryparticle.cpp \
16 atom_trajectoryparticleinfo.cpp
17ATOMHEADER = \
18 atom.hpp \
19 atom_atominfo.hpp \
20 atom_bondedparticle.hpp \
21 atom_bondedparticleinfo.hpp \
22 atom_graphnode.hpp \
23 atom_graphnodeinfo.hpp \
24 atom_particleinfo.hpp \
25 atom_trajectoryparticle.hpp \
26 atom_trajectoryparticleinfo.hpp
27
28ANALYSISSOURCE = \
29 analysis_bonds.cpp \
30 analysis_correlation.cpp
31ANALYSISHEADER = \
32 analysis_bonds.hpp \
33 analysis_correlation.hpp
34
35ACTIONSSOURCE = \
36 Actions/Action.cpp \
37 Actions/ActionHistory.cpp \
38 Actions/ActionRegistry.cpp \
39 Actions/ActionSequence.cpp \
40 Actions/ErrorAction.cpp \
41 Actions/MakroAction.cpp \
42 Actions/ManipulateAtomsProcess.cpp \
43 Actions/MethodAction.cpp \
44 Actions/Process.cpp
45
46ACTIONSHEADER = \
47 Actions/Action.hpp \
48 Actions/ActionHistory.hpp \
49 Actions/ActionRegistry.hpp \
50 Actions/ActionSequence.hpp \
51 Actions/Calculation.hpp \
52 Actions/Calculation_impl.hpp \
53 Actions/ErrorAction.hpp \
54 Actions/MakroAction.hpp \
55 Actions/ManipulateAtomsProcess.hpp \
56 Actions/MapOfActions.hpp \
57 Actions/MethodAction.hpp \
58 Actions/Process.hpp
59
60PATTERNSOURCE = \
61 Patterns/Observer.cpp
62PATTERNHEADER = \
63 Patterns/Cacheable.hpp \
64 Patterns/Observer.hpp \
65 Patterns/Singleton.hpp
66
67SHAPESOURCE = \
68 Shapes/BaseShapes.cpp \
69 Shapes/Shape.cpp \
70 Shapes/ShapeOps.cpp
71SHAPEHEADER = \
72 Shapes/BaseShapes.hpp \
73 Shapes/Shape.hpp \
74 Shapes/ShapeOps.hpp
75
76
77QTUIMOC_HEADER = UIElements/QT4/QTDialog.hpp \
78 UIElements/QT4/QTMainWindow.hpp \
79 UIElements/Menu/QT4/QTMenu.hpp \
80 UIElements/Views/QT4/QTWorldView.hpp \
81 UIElements/Views/QT4/GLMoleculeView.hpp \
82 UIElements/Views/QT4/QTMoleculeView.hpp \
83 UIElements/Views/QT4/QTStatusBar.hpp
84
85QTUIMOC_TARGETS = QTMainWindow.moc.cpp \
86 QTMenu.moc.cpp\
87 QTDialog.moc.cpp \
88 QTWorldView.moc.cpp \
89 GLMoleculeView.moc.cpp \
90 QTMoleculeView.moc.cpp \
91 QTStatusBar.moc.cpp
92
93DESCRIPTORSOURCE = Descriptors/AtomDescriptor.cpp \
94 Descriptors/AtomIdDescriptor.cpp \
95 Descriptors/AtomSelectionDescriptor.cpp \
96 Descriptors/AtomTypeDescriptor.cpp \
97 Descriptors/MoleculeDescriptor.cpp \
98 Descriptors/MoleculeFormulaDescriptor.cpp \
99 Descriptors/MoleculeIdDescriptor.cpp \
100 Descriptors/MoleculeNameDescriptor.cpp \
101 Descriptors/MoleculePtrDescriptor.cpp \
102 Descriptors/MoleculeSelectionDescriptor.cpp
103
104
105DESCRIPTORHEADER = Descriptors/AtomDescriptor.hpp \
106 Descriptors/AtomIdDescriptor.hpp \
107 Descriptors/AtomSelectionDescriptor.hpp \
108 Descriptors/AtomTypeDescriptor.hpp \
109 Descriptors/MoleculeDescriptor.hpp \
110 Descriptors/MoleculeFormulaDescriptor.hpp \
111 Descriptors/MoleculeIdDescriptor.hpp \
112 Descriptors/MoleculeNameDescriptor.hpp \
113 Descriptors/MoleculePtrDescriptor.hpp \
114 Descriptors/MoleculeSelectionDescriptor.cpp
115
116QTUISOURCE = ${QTUIMOC_TARGETS} \
117 UIElements/QT4/QTMainWindow.cpp \
118 UIElements/QT4/QTDialog.cpp \
119 UIElements/QT4/QTUIFactory.cpp \
120 UIElements/Menu/QT4/QTMenu.cpp \
121 UIElements/Views/QT4/QTWorldView.cpp \
122 UIElements/Views/QT4/GLMoleculeView.cpp \
123 UIElements/Views/QT4/QTMoleculeView.cpp \
124 UIElements/Views/QT4/QTStatusBar.cpp
125
126QTUIHEADER = ${QTUIMOC_HEADER} UIElements/QT4/QTUIFactory.hpp
127
128QTUI_DEFS =
129
130MOLECUILDERSOURCE = \
131 ${ANALYSISSOURCE} \
132 ${ACTIONSSOURCE} \
133 ${ATOMSOURCE} \
134 ${PATTERNSOURCE} \
135 ${PARSERSOURCE} \
136 ${SHAPESOURCE} \
137 ${DESCRIPTORSOURCE} \
138 ${HELPERSOURCE} \
139 bond.cpp \
140 bondgraph.cpp \
141 boundary.cpp \
142 Box.cpp \
143 CommandLineParser.cpp \
144 config.cpp \
145 ConfigFileBuffer.cpp \
146 element.cpp \
147 elements_db.cpp \
148 ellipsoid.cpp \
149 Formula.cpp \
150 graph.cpp \
151 leastsquaremin.cpp \
152 linkedcell.cpp \
153 moleculelist.cpp \
154 molecule.cpp \
155 molecule_dynamics.cpp \
156 molecule_fragmentation.cpp \
157 molecule_geometry.cpp \
158 molecule_graph.cpp \
159 molecule_pointcloud.cpp \
160 parser.cpp \
161 periodentafel.cpp \
162 tesselation.cpp \
163 tesselationhelpers.cpp \
164 ThermoStatContainer.cpp \
165 triangleintersectionlist.cpp \
166 UIElements/UIFactory.cpp \
167 vector_ops.cpp \
168 World.cpp
169
170MOLECUILDERHEADER = \
171 ${ANALYSISHEADER} \
172 ${ACTIONSHEADER} \
173 ${ATOMHEADER} \
174 ${PARSERHEADER} \
175 ${PATTERNHEADER} \
176 ${SHAPEHEADER} \
177 ${DESCRIPTORHEADER} \
178 bond.hpp \
179 bondgraph.hpp \
180 boundary.hpp \
181 Box.hpp \
182 CommandLineParser.hpp \
183 config.hpp \
184 ConfigFileBuffer.hpp \
185 defs.hpp \
186 element.hpp \
187 elements_db.hpp \
188 ellipsoid.hpp \
189 Formula.hpp \
190 graph.hpp \
191 leastsquaremin.hpp \
192 linkedcell.hpp \
193 lists.hpp \
194 molecule.hpp \
195 molecule_template.hpp \
196 parser.hpp \
197 periodentafel.hpp \
198 stackclass.hpp \
199 tesselation.hpp \
200 tesselationhelpers.hpp \
201 ThermoStatContainer.hpp \
202 triangleintersectionlist.hpp \
203 UIElements/UIFactory.hpp \
204 vector_ops.hpp \
205 World.hpp
206
207lib_LTLIBRARIES = libMolecuilder-@MOLECUILDER_API_VERSION@.la
208libMolecuilder_includedir = $(includedir)/molecuilder-$(MOLECUILDER_API_VERSION)/Actions/
209libMolecuilder_LIBS = \
210 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
211 ${BOOST_PROGRAM_OPTIONS_LIB}
212
213# UIElements/libMolecuilderUI.a \
214 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
215 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
216 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
217 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
218 $(BOOST_LIB) \
219 ${BOOST_THREAD_LIB}
220
221nobase_libMolecuilder_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_@MOLECUILDER_API_VERSION@_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.
236libMolecuilder_@MOLECUILDER_API_VERSION@_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_libincludedir = $(libdir)/molecuilder-$(MOLECUILDER_API_VERSION)/include
250nodist_libMolecuilder_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-$(MOLECUILDER_API_VERSION).pc
258
259
260BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB)
261GUI_LIBS = ${QT_LDADD} ${QT_LIB_GUI} -lQtOpenGL ${GLU_LIBS}
262INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements
263
264noinst_LIBRARIES = libmenu.a
265bin_PROGRAMS = molecuilder molecuildergui joiner analyzer
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
277molecuilder_LDADD = \
278 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
279 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
280 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
281 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
282 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
283 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
284 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
285 $(BOOST_LIB) \
286 ${BOOST_THREAD_LIB} \
287 ${BOOST_PROGRAM_OPTIONS_LIB}
288
289
290#Stuff for building the GUI using QT
291molecuildergui_SOURCES = ${QTUISOURCE} builder.cpp
292molecuildergui_CXXFLAGS = ${QT_CXXFLAGS} ${GLU_CXXFLAGS} -DUSE_GUI_QT
293molecuildergui_LDFLAGS = $(BOOST_LIB) ${QT_LDFLAGS} ${GLU_LDFLAGS}
294molecuildergui_LDADD = \
295 UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
296 Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
297 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
298 Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
299 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
300 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
301 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
302 $(BOOST_LIB) \
303 ${BOOST_THREAD_LIB} \
304 ${BOOST_PROGRAM_OPTIONS_LIB} \
305 ${GUI_LIBS}
306
307joiner_SOURCES = joiner.cpp datacreator.cpp datacreator.hpp periodentafel.hpp
308joiner_LDADD = \
309 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
310 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
311 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
312 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
313 $(BOOST_LIB) \
314 ${BOOST_THREAD_LIB} \
315 ${BOOST_PROGRAM_OPTIONS_LIB}
316
317analyzer_SOURCES = analyzer.cpp datacreator.cpp periodentafel.hpp datacreator.hpp
318analyzer_LDADD = \
319 libMolecuilder-@MOLECUILDER_API_VERSION@.la \
320 LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
321 Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
322 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
323 $(BOOST_LIB) \
324 ${BOOST_THREAD_LIB} \
325 ${BOOST_PROGRAM_OPTIONS_LIB}
326
327#Rules needed for QT4
328# UI-Files are scattered throughout several subdirectories
329# Therfore `%'-rules do not seem to work
330#Quick fix to get it done otherwise
331${QTUIMOC_TARGETS}: ${QTUIMOC_HEADER}
332 list='$(QTUIMOC_HEADER)'; for header in $$list; do \
333 echo "Making mocfile for $$header"; \
334 target=`basename $$header | sed "s/\(.*\)\..*/\1.moc.cpp/"`;\
335 $(MOC) $(srcdir)/$$header -o $$target \
336 || eval $$failcom; \
337 done;
338
339MOSTLYCLEANFILES = ${QTUIMOC_TARGETS}
340
341#EXTRA_DIST = ${molecuilder_DATA}
342
343FORCE:
344$(srcdir)/.git-version: FORCE
345 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
346 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
347 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
348 mv -f .git-version-t $(srcdir)/.git-version; \
349 else \
350 rm -f .git-version-t; \
351 fi
352
353EXTRA_DIST = $(srcdir)/.git-version
354
355$(srcdir)/version.c: $(srcdir)/.git-version
356 echo "const char *ESPACKVersion = \"$(PACKAGE_NAME) -- git version: "`cat $(srcdir)/.git-version`"\";" > $@
357
358
Note: See TracBrowser for help on using the repository browser.