# PLEASE adhere to the alphabetical ordering in this Makefile! # Also indentation by a single tab MOSTLYCLEANFILES = lib_LTLIBRARIES = noinst_LTLIBRARIES = bin_PROGRAMS = include Actions/Makefile.am include Analysis/Makefile.am include Element/Makefile.am include Fragmentation/Makefile.am include Graph/Makefile.am include Helpers/Makefile.am include Parser/Makefile.am include RandomNumbers/Makefile.am include Shapes/Makefile.am include UIElements/Makefile.am AM_LDFLAGS = -ldl ${BOOST_LDFLAGS} AM_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} ATOMSOURCE = \ atom.cpp \ AtomicInfo.cpp \ atom_atominfo.cpp \ atom_bondedparticle.cpp \ atom_bondedparticleinfo.cpp \ atom_graphnode.cpp \ atom_graphnodeinfo.cpp \ atom_observable.cpp \ atom_particleinfo.cpp ATOMHEADER = \ atom.hpp \ atom_atominfo.hpp \ atom_bondedparticle.hpp \ atom_bondedparticleinfo.hpp \ atom_graphnode.hpp \ atom_graphnodeinfo.hpp \ atom_observable.hpp \ atom_particleinfo.hpp \ AtomicInfo.hpp \ AtomSet.hpp BONDSOURCE = \ Bond/bond.cpp \ Bond/GraphEdge.cpp BONDHEADER = \ Bond/bond.hpp \ Bond/GraphEdge.hpp DESCRIPTORSOURCE = \ Descriptors/AtomDescriptor.cpp \ Descriptors/AtomIdDescriptor.cpp \ Descriptors/AtomOfMoleculeSelectionDescriptor.cpp \ Descriptors/AtomSelectionDescriptor.cpp \ Descriptors/AtomShapeDescriptor.cpp \ Descriptors/AtomTypeDescriptor.cpp \ Descriptors/MoleculeDescriptor.cpp \ Descriptors/MoleculeFormulaDescriptor.cpp \ Descriptors/MoleculeIdDescriptor.cpp \ Descriptors/MoleculeNameDescriptor.cpp \ Descriptors/MoleculeOfAtomSelectionDescriptor.cpp \ Descriptors/MoleculeOrderDescriptor.cpp \ Descriptors/MoleculePtrDescriptor.cpp \ Descriptors/MoleculeSelectionDescriptor.cpp DESCRIPTORHEADER = \ Descriptors/AtomDescriptor.hpp \ Descriptors/AtomIdDescriptor.hpp \ Descriptors/AtomOfMoleculeSelectionDescriptor.hpp \ Descriptors/AtomSelectionDescriptor.hpp \ Descriptors/AtomShapeDescriptor.hpp \ Descriptors/AtomTypeDescriptor.hpp \ Descriptors/DescriptorBase.hpp \ Descriptors/MoleculeDescriptor.hpp \ Descriptors/MoleculeFormulaDescriptor.hpp \ Descriptors/MoleculeIdDescriptor.hpp \ Descriptors/MoleculeNameDescriptor.hpp \ Descriptors/MoleculeOfAtomSelectionDescriptor.hpp \ Descriptors/MoleculeOrderDescriptor.hpp \ Descriptors/MoleculePtrDescriptor.hpp \ Descriptors/MoleculeSelectionDescriptor.hpp \ Descriptors/SelectiveIterator.hpp DESCRIPTORIMPLHEADER = \ Descriptors/AtomDescriptor_impl.hpp \ Descriptors/AtomIdDescriptor_impl.hpp \ Descriptors/AtomOfMoleculeSelectionDescriptor_impl.hpp \ Descriptors/AtomSelectionDescriptor_impl.hpp \ Descriptors/AtomShapeDescriptor_impl.hpp \ Descriptors/AtomTypeDescriptor_impl.hpp \ Descriptors/DescriptorBase_impl.hpp \ Descriptors/MoleculeDescriptor_impl.hpp \ Descriptors/MoleculeFormulaDescriptor_impl.hpp \ Descriptors/MoleculeIdDescriptor_impl.hpp \ Descriptors/MoleculeNameDescriptor_impl.hpp \ Descriptors/MoleculeOfAtomSelectionDescriptor_impl.hpp \ Descriptors/MoleculeOrderDescriptor_impl.hpp \ Descriptors/MoleculePtrDescriptor_impl.hpp \ Descriptors/MoleculeSelectionDescriptor_impl.hpp \ Descriptors/SelectiveIterator_impl.hpp DYNAMICSSOURCE = \ Dynamics/MinimiseConstrainedPotential.cpp DYNAMICSHEADER = \ Dynamics/LinearInterpolationBetweenSteps.hpp \ Dynamics/MinimiseConstrainedPotential.hpp \ Dynamics/OutputTemperature.hpp \ Dynamics/VerletForceIntegration.hpp THERMOSTATSOURCE = \ Thermostats/Berendsen.cpp \ Thermostats/GaussianThermostat.cpp \ Thermostats/Langevin.cpp \ Thermostats/NoseHoover.cpp \ Thermostats/NoThermostat.cpp \ Thermostats/Thermostat.cpp \ Thermostats/Woodcock.cpp THERMOSTATHEADER = \ Thermostats/Berendsen.hpp \ Thermostats/GaussianThermostat.hpp \ Thermostats/Langevin.hpp \ Thermostats/NoseHoover.hpp \ Thermostats/NoThermostat.hpp \ Thermostats/Thermostat.hpp \ Thermostats/Woodcock.hpp TESSELATIONSOURCE = \ Tesselation/boundary.cpp \ Tesselation/BoundaryLineSet.cpp \ Tesselation/BoundaryPointSet.cpp \ Tesselation/BoundaryPolygonSet.cpp \ Tesselation/BoundaryTriangleSet.cpp \ Tesselation/CandidateForTesselation.cpp \ Tesselation/ellipsoid.cpp \ Tesselation/tesselation.cpp \ Tesselation/tesselationhelpers.cpp \ Tesselation/TesselPoint.cpp \ Tesselation/triangleintersectionlist.cpp TESSELATIONHEADER = \ Tesselation/boundary.hpp \ Tesselation/BoundaryLineSet.hpp \ Tesselation/BoundaryMaps.hpp \ Tesselation/BoundaryPointSet.hpp \ Tesselation/BoundaryPolygonSet.hpp \ Tesselation/BoundaryTriangleSet.hpp \ Tesselation/CandidateForTesselation.hpp \ Tesselation/ellipsoid.hpp \ IPointCloud.hpp \ PointCloudAdaptor.hpp \ Tesselation/tesselation.hpp \ Tesselation/tesselationhelpers.hpp \ Tesselation/TesselPoint.hpp \ Tesselation/triangleintersectionlist.hpp MOLECUILDERSOURCE = \ ${ATOMSOURCE} \ ${BONDSOURCE} \ ${DESCRIPTORSOURCE} \ ${DYNAMICSSOURCE} \ ${THERMOSTATSOURCE} \ ${TESSELATIONSOURCE} \ Box.cpp \ config.cpp \ ConfigFileBuffer.cpp \ Formula.cpp \ linkedcell.cpp \ MoleculeLeafClass.cpp \ moleculelist.cpp \ molecule.cpp \ molecule_geometry.cpp \ molecule_graph.cpp \ ThermoStatContainer.cpp \ UIElements/UIFactory.cpp \ version.c \ World.cpp \ WorldTime.cpp MOLECUILDERHEADER = \ ${ATOMHEADER} \ ${BONDHEADER} \ ${DESCRIPTORHEADER} \ ${DESCRIPTORIMPLHEADER} \ ${DYNAMICSHEADER} \ ${THERMOSTATHEADER} \ ${TESSELATIONHEADER} \ Box.hpp \ config.hpp \ ConfigFileBuffer.hpp \ Formula.hpp \ linkedcell.hpp \ MoleculeLeafClass.hpp \ molecule.hpp \ ThermoStatContainer.hpp \ types.hpp \ UIElements/UIFactory.hpp \ version.h \ World.hpp \ World_calculations.hpp \ WorldTime.hpp noinst_LTLIBRARIES += libMolecuilder.la libMolecuilder_la_includedir = $(includedir)/MoleCuilder/ nobase_libMolecuilder_la_include_HEADERS = ${MOLECUILDERHEADER} ## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la" ## target. Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and ## will therefore be treated as if it were literally part of the target name, ## and the variable name derived from that. ## The file extension .cc is recognized by Automake, and makes it produce ## rules which invoke the C++ compiler to produce a libtool object file (.lo) ## from each source file. Note that it is not necessary to list header files ## which are already listed elsewhere in a _HEADERS variable assignment. libMolecuilder_la_SOURCES = ${MOLECUILDERSOURCE} ## Instruct libtool to include ABI version information in the generated shared ## library file (.so). The library ABI version is defined in configure.ac, so ## that all version information is kept in one place. #libMolecuilder_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION) ## The generated configuration header is installed in its own subdirectory of ## $(libdir). The reason for this is that the configuration information put ## into this header file describes the target platform the installed library ## has been built for. Thus the file must not be installed into a location ## intended for architecture-independent files, as defined by the Filesystem ## Hierarchy Standard (FHS). ## The nodist_ prefix instructs Automake to not generate rules for including ## the listed files in the distribution on 'make dist'. Files that are listed ## in _HEADERS variables are normally included in the distribution, but the ## configuration header file is generated at configure time and should not be ## shipped with the source tarball. libMolecuilder_la_libincludedir = $(libdir)/MoleCuilder/include nodist_libMolecuilder_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h ## Install the generated pkg-config file (.pc) into the expected location for ## architecture-dependent package configuration information. Occasionally, ## pkg-config files are also used for architecture-independent data packages, ## in which case the correct install location would be $(datadir)/pkgconfig. pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements -I$(top_srcdir)/LinearAlgebra/src noinst_LIBRARIES = libmenu.a bin_PROGRAMS += molecuilder molecuildergui joiner analyzer EXTRA_PROGRAMS = unity molecuilderdir = ${bindir} libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER} molecuilder_DATA = Element/elements.db Element/valence.db Element/orbitals.db Element/Hbonddistance.db Element/Hbondangle.db molecuilder_CXXFLAGS = $(AM_CPPFLAGS) #molecuilder_CXXFLAGS += -DNO_CACHING molecuilder_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_RANDOM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) molecuilder_SOURCES = builder.cpp builder_init.cpp builder_init.hpp molecuilder_LDADD = \ libMolecuilderUI.la \ $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ ${CodePatterns_LIBS} \ $(BOOST_THREAD_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_RANDOM_LIBS) \ $(BOOST_SYSTEM_LIBS) \ $(BOOST_FILESYSTEM_LIBS) #Stuff for building the GUI using Qt molecuildergui_SOURCES = builder.cpp builder_init.cpp builder_init.hpp molecuildergui_CXXFLAGS = $(AM_CPPFLAGS) -DUSE_GUI_QT molecuildergui_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) molecuildergui_LDADD = \ libMolecuilderQtUI.la \ libMolecuilderUI.la \ $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ ${CodePatterns_LIBS} \ $(BOOST_THREAD_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_RANDOM_LIBS) \ $(BOOST_SYSTEM_LIBS) \ $(BOOST_FILESYSTEM_LIBS) \ $(GUI_LIBS) joiner_SOURCES = Fragmentation/joiner.cpp Fragmentation/datacreator.cpp Fragmentation/datacreator.hpp joiner_LDADD = \ libMolecuilderFragmentation.la \ libMolecuilderHelpers.la \ libMolecuilderElement.la \ $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ ${CodePatterns_LIBS} \ $(BOOST_THREAD_LIBS) analyzer_SOURCES = Fragmentation/analyzer.cpp Fragmentation/datacreator.cpp Fragmentation/datacreator.hpp analyzer_LDADD = \ libMolecuilderFragmentation.la \ libMolecuilderHelpers.la \ libMolecuilderElement.la \ $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ ${CodePatterns_LIBS} \ $(BOOST_THREAD_LIBS) unity_SOURCES = unity.cpp unity_LDADD = \ ${CodePatterns_LIBS} \ $(BOOST_THREAD_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_RANDOM_LIBS) \ $(BOOST_SYSTEM_LIBS) \ $(BOOST_FILESYSTEM_LIBS) FORCE: $(srcdir)/.git-version: FORCE @if (test -d $(top_srcdir)/.git && cd $(srcdir) \ && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \ && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \ mv -f .git-version-t $(srcdir)/.git-version; \ else \ rm -f .git-version-t; \ fi EXTRA_DIST = $(srcdir)/.git-version $(molecuilder_DATA) $(srcdir)/version.c: $(srcdir)/.git-version echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@ unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER} echo "#include \"$(srcdir)/Helpers/MemDebug.cpp\"" > unity.cpp; \ list='$(MOLECUILDERSOURCE)'; for file in $$list; do \ echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \ done; \ subdirs='$(SUBDIRS)';for directory in $$subdirs; do\ olddir=$$PWD;\ cd $$directory && make unity.cpp;\ cd $$olddir;\ echo "#include \"$$directory/unity.cpp\"" >> unity.cpp;\ done;\ echo "#include \"$(srcdir)/builder.cpp\"" >> unity.cpp; echo "#include \"$(srcdir)/version.c\"" >> unity.cpp; MOSTLYCLEANFILES += unity.cpp