# PLEASE adhere to the alphabetical ordering in this Makefile! # Also indentation by a single tab MOSTLYCLEANFILES = lib_LTLIBRARIES = noinst_LTLIBRARIES = pyexec_LTLIBRARIES = BUILT_SOURCES = bin_PROGRAMS = include Actions/Makefile.am include Analysis/Makefile.am include Atom/Makefile.am include Element/Makefile.am include Filling/Makefile.am include Fragmentation/Makefile.am include Graph/Makefile.am include Helpers/Makefile.am include Jobs/Makefile.am include LinkedCell/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} BONDSOURCE = \ Bond/bond.cpp \ Bond/bond_observable.cpp \ Bond/BondInfo.cpp \ Bond/GraphEdge.cpp BONDHEADER = \ Bond/bond.hpp \ Bond/bond_observable.hpp \ Bond/BondInfo.hpp \ Bond/GraphEdge.hpp DESCRIPTORSOURCE = \ Descriptors/AtomDescriptor.cpp \ Descriptors/AtomIdDescriptor.cpp \ Descriptors/AtomOfMoleculeDescriptor.cpp \ Descriptors/AtomOfMoleculeSelectionDescriptor.cpp \ Descriptors/AtomOrderDescriptor.cpp \ Descriptors/AtomSelectionDescriptor.cpp \ Descriptors/AtomShapeDescriptor.cpp \ Descriptors/AtomTypeDescriptor.cpp \ Descriptors/AtomsWithinDistanceOfDescriptor.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/AtomOfMoleculeDescriptor.hpp \ Descriptors/AtomOfMoleculeSelectionDescriptor.hpp \ Descriptors/AtomOrderDescriptor.hpp \ Descriptors/AtomSelectionDescriptor.hpp \ Descriptors/AtomShapeDescriptor.hpp \ Descriptors/AtomTypeDescriptor.hpp \ Descriptors/AtomsWithinDistanceOfDescriptor.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/AtomOfMoleculeDescriptor_impl.hpp \ Descriptors/AtomOfMoleculeSelectionDescriptor_impl.hpp \ Descriptors/AtomOrderDescriptor_impl.hpp \ Descriptors/AtomSelectionDescriptor_impl.hpp \ Descriptors/AtomShapeDescriptor_impl.hpp \ Descriptors/AtomTypeDescriptor_impl.hpp \ Descriptors/AtomsWithinDistanceOfDescriptor_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/ThermoStatContainer.cpp \ Thermostats/Woodcock.cpp THERMOSTATHEADER = \ Thermostats/Berendsen.hpp \ Thermostats/GaussianThermostat.hpp \ Thermostats/Langevin.hpp \ Thermostats/NoseHoover.hpp \ Thermostats/NoThermostat.hpp \ Thermostats/Thermostat.hpp \ Thermostats/ThermoStatContainer.hpp \ Thermostats/Woodcock.hpp TESSELATIONSOURCE = \ Tesselation/ApproximateShapeArea.cpp \ Tesselation/ApproximateShapeVolume.cpp \ 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/triangleintersectionlist.cpp TESSELATIONHEADER = \ Tesselation/ApproximateShapeArea.hpp \ Tesselation/ApproximateShapeVolume.hpp \ Tesselation/boundary.hpp \ Tesselation/BoundaryLineSet.hpp \ Tesselation/BoundaryMaps.hpp \ Tesselation/BoundaryPointSet.hpp \ Tesselation/BoundaryPolygonSet.hpp \ Tesselation/BoundaryTriangleSet.hpp \ Tesselation/CandidateForTesselation.hpp \ Tesselation/ellipsoid.hpp \ Tesselation/tesselation.hpp \ Tesselation/tesselationhelpers.hpp \ Tesselation/triangleintersectionlist.hpp MOLECUILDERSOURCE = \ ${BONDSOURCE} \ ${DESCRIPTORSOURCE} \ ${DYNAMICSSOURCE} \ ${THERMOSTATSOURCE} \ ${TESSELATIONSOURCE} \ AtomIdSet.cpp \ Box.cpp \ Box_BoundaryConditions.cpp \ config.cpp \ Formula.cpp \ MoleculeLeafClass.cpp \ moleculelist.cpp \ molecule.cpp \ molecule_geometry.cpp \ molecule_graph.cpp \ UIElements/UIFactory.cpp \ version.c \ World.cpp \ WorldTime.cpp MOLECUILDERHEADER = \ ${BONDHEADER} \ ${DESCRIPTORHEADER} \ ${DESCRIPTORIMPLHEADER} \ ${DYNAMICSHEADER} \ ${THERMOSTATHEADER} \ ${TESSELATIONHEADER} \ AtomIdSet.hpp \ Box.hpp \ Box_BoundaryConditions.hpp \ config.hpp \ Formula.hpp \ IdPool.hpp \ IdPool_impl.hpp \ IdPool_policy.hpp \ MoleculeLeafClass.hpp \ MoleculeListClass.hpp \ molecule.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 -I$(top_srcdir)/src/Fragmentation/Automation libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER} noinst_LIBRARIES = libmenu.a bin_PROGRAMS += molecuilder joiner analyzer EXTRA_PROGRAMS = unity extrastuffdir = $(datadir)/@PACKAGE@/data databasedir = $(extrastuffdir)/databases database_DATA = \ ${top_srcdir}/data/databases/*.db bondtabledir = $(extrastuffdir)/bondtables bondtable_DATA = \ ${top_srcdir}/data/bondtables/*.dat moleculedir = $(extrastuffdir)/molecules molecule_DATA = \ ${top_srcdir}/data/molecules/*.pdb if CONDPYTHON pyexec_LTLIBRARIES += pyMoleCuilder.la pyMoleCuilder_la_SOURCES = \ cleanUp.cpp \ cleanUp.hpp \ Actions/Action_impl_python.hpp \ Actions/GlobalListOfActions.hpp \ Actions/ActionHistory.hpp \ Actions/pyMoleCuilder.cpp pyMoleCuilder_la_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} -I$(PYTHON_INCLUDE_DIR) pyMoleCuilder_la_LDFLAGS = -module -avoid-version -shared pyMoleCuilder_la_LIBADD = \ libMolecuilderUI.la \ $(BOOST_PYTHON_LDFLAGS) $(BOOST_PYTHON_LIBS) \ ${CodePatterns_LIBS} \ -l$(PYTHON_LIB) endif 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 \ cleanUp.cpp \ cleanUp.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 if CONDQTGUI bin_PROGRAMS += molecuildergui molecuildergui_SOURCES = \ builder.cpp \ builder_init.cpp \ builder_init.hpp \ cleanUp.cpp \ cleanUp.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) endif joiner_SOURCES = Fragmentation/joiner.cpp Fragmentation/datacreator.cpp Fragmentation/datacreator.hpp joiner_CXXFLAGS = $(AM_CPPFLAGS) joiner_LDFLAGS = $(AM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) 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_CXXFLAGS = $(AM_CPPFLAGS) analyzer_LDFLAGS = $(AM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) analyzer_LDADD = \ libMolecuilderFragmentation.la \ libMolecuilderHelpers.la \ libMolecuilderElement.la \ $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ ${CodePatterns_LIBS} \ $(BOOST_THREAD_LIBS) bin_PROGRAMS += Controller PoolWorker Server CONTROLLERSOURCE = \ Fragmentation/Automation/FragmentController.cpp \ Fragmentation/Automation/Operations/OperationRegistry.cpp CONTROLLERHEADER = \ Fragmentation/Automation/Connection.hpp \ Fragmentation/Automation/FragmentController.hpp \ Fragmentation/Automation/Operations/OperationRegistry.hpp POOLWORKERSOURCE = \ Fragmentation/Automation/Pool/PoolWorker.cpp POOLWORKERHEADER = \ Fragmentation/Automation/Connection.hpp \ Fragmentation/Automation/Pool/PoolWorker.hpp SERVERSOURCE = \ Fragmentation/Automation/FragmentScheduler.cpp \ Fragmentation/Automation/Pool/WorkerPool.cpp SERVERHEADER = \ Fragmentation/Automation/Connection.hpp \ Fragmentation/Automation/ControllerChoices.hpp \ Fragmentation/Automation/FragmentScheduler.hpp \ Fragmentation/Automation/Pool/WorkerPool.hpp Controller_SOURCES = $(CONTROLLERSOURCE) $(CONTROLLERHEADER) controller.cpp Controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) Controller_CXXFLAGS = $(AM_CPPFLAGS) Controller_LDADD = \ libMolecuilderJobs.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationAutomationHelper.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationOperations.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentJobs.la \ libMolecuilderFragmentation.la \ libMolecuilderHelpers.la \ $(BOOST_ASIO_LIBS) \ $(BOOST_SERIALIZATION_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_THREAD_LIBS) \ $(BOOST_SYSTEM_LIBS) \ ${CodePatterns_LIBS} PoolWorker_SOURCES = $(POOLWORKERSOURCE) $(POOLWORKERHEADER) poolworker.cpp PoolWorker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) PoolWorker_CXXFLAGS = $(AM_CPPFLAGS) $(BOOST_ASIO_DEBUG) PoolWorker_LDADD = \ libMolecuilderJobs.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationAutomationHelper.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationOperations.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentJobs.la \ $(BOOST_ASIO_LIBS) \ $(BOOST_SERIALIZATION_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_THREAD_LIBS) \ $(BOOST_SYSTEM_LIBS) \ ${CodePatterns_LIBS} Server_SOURCES = $(SERVERSOURCE) $(SERVERHEADER) Server.cpp Server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) Server_CXXFLAGS = $(AM_CPPFLAGS) Server_LDADD = \ libMolecuilderJobs.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationAutomationHelper.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationOperations.la \ $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentJobs.la \ $(BOOST_ASIO_LIBS) \ $(BOOST_SERIALIZATION_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_THREAD_LIBS) \ $(BOOST_SYSTEM_LIBS) \ ${CodePatterns_LIBS} unity_SOURCES = unity.cpp unity_CXXFLAGS = $(AM_CPPFLAGS) unity_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_RANDOM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) 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 \ $(bondtable_DATA) \ $(database_DATA) \ $(molecule_DATA) $(srcdir)/version.c: $(srcdir)/.git-version echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@ unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER} 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