# PLEASE adhere to the alphabetical ordering in this Makefile! # Also indentation by a single tab MOSTLYCLEANFILES = lib_LTLIBRARIES = noinst_LTLIBRARIES = BUILT_SOURCES = bin_PROGRAMS = EXTRA_DIST = # libMolecuilder.la requires the libraries listed below include Helpers/Makefile.am include Shapes/Makefile.am include Tesselation/Makefile.am # then comes the library itself AM_LDFLAGS = -ldl ${BOOST_LDFLAGS} ${CodePatterns_LDFLAGS} ${JobMarket_LDFLAGS} AM_CPPFLAGS = \ -I$(top_srcdir)/src/unittests \ -I$(top_srcdir)/src/Actions \ -I$(top_srcdir)/src/UIElements \ -I$(top_srcdir)/ThirdParty/LinearAlgebra/src \ ${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/AtomNameDescriptor.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/AtomNameDescriptor.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/SelectiveConstIterator.hpp \ Descriptors/SelectiveIterator.hpp DESCRIPTORIMPLHEADER = \ Descriptors/AtomDescriptor_impl.hpp \ Descriptors/AtomIdDescriptor_impl.hpp \ Descriptors/AtomNameDescriptor_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/SelectiveConstIterator_impl.hpp \ Descriptors/SelectiveIterator_impl.hpp DYNAMICSSOURCE = \ Dynamics/MinimiseConstrainedPotential.cpp DYNAMICSHEADER = \ Dynamics/AtomicForceManipulator.hpp \ Dynamics/ForceAnnealing.hpp \ 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 MOLECUILDERSOURCE = \ ${BONDSOURCE} \ ${DESCRIPTORSOURCE} \ ${DYNAMICSSOURCE} \ ${THERMOSTATSOURCE} \ Shapes/ShapeFactory.cpp \ AtomIdSet.cpp \ Box.cpp \ Box_BoundaryConditions.cpp \ config.cpp \ Formula.cpp \ MoleculeLeafClass.cpp \ MoleculeObserver.cpp \ molecule.cpp \ molecule_geometry.cpp \ molecule_graph.cpp \ UIElements/UIFactory.cpp \ version.c \ World.cpp \ WorldTime.cpp MOLECUILDERHEADER = \ ${BONDHEADER} \ ${DESCRIPTORHEADER} \ ${DESCRIPTORIMPLHEADER} \ ${DYNAMICSHEADER} \ ${THERMOSTATHEADER} \ Shapes/ShapeFactory.hpp \ AtomIdSet.hpp \ Box.hpp \ Box_BoundaryConditions.hpp \ config.hpp \ EntityObserver.hpp \ EntityObserver_impl.hpp \ Formula.hpp \ IdPool.hpp \ IdPool_impl.hpp \ IdPool_policy.hpp \ MoleculeLeafClass.hpp \ MoleculeObserver.hpp \ molecule.hpp \ types.hpp \ ThreadGuard.hpp \ UIElements/UIFactory.hpp \ version.h \ World.hpp \ World_calculations.hpp \ WorldTime.hpp lib_LTLIBRARIES += libMolecuilder.la libMolecuilder_la_includedir = $(includedir)/MoleCuilder/ libMolecuilder_la_LDFLAGS = \ $(AM_LDFLAGS) \ $(BOOST_SYSTEM_LDFLAGS) \ $(BOOST_THREAD_LDFLAGS) libMolecuilder_la_LIBADD = \ libMolecuilderTesselation.la \ libMolecuilderShapes.la \ libMolecuilderHelpers.la \ $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ ${CodePatterns_LIBS} \ $(BOOST_SERIALIZATION_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_FILESYSTEM_LIBS) \ $(BOOST_SYSTEM_LIBS) \ $(BOOST_THREAD_LIBS) 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 # then we compile the remainder of all other libraries, especially # libMolecuilderUI.la, which requires libMolecuilder.la on install 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 Fragmentation/Automation/Makefile.am include Fragmentation/Summation/Containers/Makefile.am include Fragmentation/Summation/Converter/Makefile.am include Fragmentation/Summation/Makefile.am include Fragmentation/Summation/SetValues/Makefile.am include FunctionApproximation/Makefile.am include Graph/Makefile.am include Jobs/Makefile.am if CONDPYTHON include Python/Makefile.am endif include LinkedCell/Makefile.am include Parameters/Makefile.am include Parser/Makefile.am include Potentials/Makefile.am include RandomNumbers/Makefile.am include UIElements/Makefile.am bin_PROGRAMS += molecuilder 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 molecuilder_CPPFLAGS = $(AM_CPPFLAGS) #molecuilder_CPPFLAGS += -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 \ Python/PythonScripting.hpp molecuilder_LDADD = \ libMolecuilder.la \ libMolecuilderUI.la molecuilder_LDADD += \ ${CodePatterns_LIBS} \ $(BOOST_THREAD_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_RANDOM_LIBS) \ $(BOOST_FILESYSTEM_LIBS) \ $(BOOST_SYSTEM_LIBS) if CONDPYTHON molecuilder_SOURCES += \ Actions/Action_impl_python.hpp \ Actions/GlobalListOfActions.hpp molecuilder_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR) molecuilder_LDFLAGS += $(BOOST_PYTHON_LDFLAGS) molecuilder_LDADD += \ $(BOOST_PYTHON_LIBS) \ ${CodePatterns_LIBS} \ -l$(PYTHON_LIB) endif #Stuff for building the GUI using Qt if CONDQTGUI bin_PROGRAMS += molecuildergui molecuildergui_SOURCES = \ builder.cpp \ builder_init.cpp \ builder_init.hpp \ Python/PythonScripting.hpp molecuildergui_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_GUI_QT molecuildergui_LDFLAGS = \ $(AM_LDFLAGS) \ $(BOOST_FILESYSTEM_LDFLAGS) \ $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \ $(BOOST_SYSTEM_LDFLAGS) \ $(BOOST_THREAD_LDFLAGS) molecuildergui_LDADD = \ libMolecuilder.la \ libMolecuilderQtUI.la \ libMolecuilderUI.la molecuildergui_LDADD += \ ${CodePatterns_LIBS} \ $(BOOST_THREAD_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ $(BOOST_RANDOM_LIBS) \ $(BOOST_FILESYSTEM_LIBS) \ $(BOOST_SYSTEM_LIBS) \ $(GUI_LIBS) if CONDPYTHON molecuildergui_SOURCES += \ Actions/Action_impl_python.hpp \ Actions/GlobalListOfActions.hpp molecuildergui_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR) molecuildergui_LDFLAGS += $(BOOST_PYTHON_LDFLAGS) molecuildergui_LDADD += \ $(BOOST_PYTHON_LIBS) \ ${CodePatterns_LIBS} \ -l$(PYTHON_LIB) endif endif if CONDJOBMARKET CONTROLLERSOURCE = \ controller_MPQCCommandJob.cpp \ ControllerOptions_MPQCCommandJob.cpp CONTROLLERHEADER = \ controller_MPQCCommandJob.hpp \ ControllerOptions_MPQCCommandJob.hpp noinst_LTLIBRARIES += libFragmentationAutomationController.la libFragmentationAutomationController_la_includedir = $(includedir)/MoleCuilder/JobMarket nobase_libFragmentationAutomationController_la_include_HEADERS = $(CONTROLLERHEADER) libFragmentationAutomationController_la_SOURCES = $(CONTROLLERSOURCE) libFragmentationAutomationController_la_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS) libFragmentationAutomationController_la_LIBADD = \ ${JobMarket_Controller_LIBS} \ $(JobMarket_LIBS) bin_PROGRAMS += molecuilder_controller molecuilder_poolworker molecuilder_server molecuilder_controller_SOURCES = controller.cpp controller_AddOn_MPQCCommandJob.cpp molecuilder_controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) molecuilder_controller_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS) molecuilder_controller_LDADD = \ libFragmentationAutomationController.la \ libMolecuilderFragmentation_getFromKeysetStub.la \ libMolecuilderFragmentation.la \ libMolecuilderJobs.la \ libMolecuilderJobs_Work.la \ libMolecuilderFragmentationSummation.la \ libMolecuilderFragmentation_KeysetsContainer.la \ libMolecuilderHelpers.la \ $(JobMarket_Controller_LIBS) \ $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ $(BOOST_SERIALIZATION_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ ${CodePatterns_LIBS} molecuilder_poolworker_SOURCES = poolworker.cpp molecuilder_poolworker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) molecuilder_poolworker_CPPFLAGS = \ $(AM_CPPFLAGS) $(JobMarket_CFLAGS) \ -I$(top_builddir)/ThirdParty/mpqc_open/src/lib \ -I$(top_srcdir)/ThirdParty/mpqc_open/src/lib \ -I$(top_srcdir)/ThirdParty/mpqc_open/src/bin/mpqc molecuilder_poolworker_LDADD = \ libMolecuilderJobs.la \ libMolecuilderJobs_Work.la \ libMolecuilderFragmentationSummation.la \ ${JobMarket_PoolWorker_LIBS} \ $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ $(BOOST_SERIALIZATION_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ ${CodePatterns_LIBS} molecuilder_server_SOURCES = Server.cpp molecuilder_server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) molecuilder_server_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS) molecuilder_server_LDADD = \ libMolecuilderJobs.la \ libMolecuilderJobs_Work.la \ libMolecuilderFragmentationSummation.la \ ${JobMarket_Server_LIBS} \ $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \ $(BOOST_SERIALIZATION_LIBS) \ $(BOOST_PROGRAM_OPTIONS_LIBS) \ ${CodePatterns_LIBS} endif unity_SOURCES = unity.cpp unity_CPPFLAGS = $(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_FILESYSTEM_LIBS) \ $(BOOST_SYSTEM_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