# PLEASE adhere to the alphabetical ordering in this Makefile! # Also indentation by a single tab SUBDIRS = \ Exceptions \ RandomNumbers \ Parser \ LinearAlgebra \ Shapes \ Actions \ UIElements 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_particleinfo.cpp \ atom_trajectoryparticle.cpp \ atom_trajectoryparticleinfo.cpp ATOMHEADER = \ atom.hpp \ AtomicInfo.hpp \ atom_atominfo.hpp \ atom_bondedparticle.hpp \ atom_bondedparticleinfo.hpp \ atom_graphnode.hpp \ atom_graphnodeinfo.hpp \ atom_particleinfo.hpp \ atom_trajectoryparticle.hpp \ atom_trajectoryparticleinfo.hpp ANALYSISSOURCE = \ analysis_bonds.cpp \ analysis_correlation.cpp ANALYSISHEADER = \ analysis_bonds.hpp \ analysis_correlation.hpp ACTIONSSOURCE = \ Actions/Action.cpp \ Actions/ActionHistory.cpp \ Actions/ActionRegistry.cpp \ Actions/ActionSequence.cpp \ Actions/ActionTraits.cpp \ Actions/ErrorAction.cpp \ Actions/MakroAction.cpp \ Actions/ManipulateAtomsProcess.cpp \ Actions/MethodAction.cpp \ Actions/OptionRegistry.cpp \ Actions/OptionTrait.cpp \ Actions/Process.cpp ACTIONSHEADER = \ Actions/Action.hpp \ Actions/ActionHistory.hpp \ Actions/ActionRegistry.hpp \ Actions/ActionSequence.hpp \ Actions/ActionTraits.hpp \ Actions/Calculation.hpp \ Actions/Calculation_impl.hpp \ Actions/ErrorAction.hpp \ Actions/MakroAction.hpp \ Actions/ManipulateAtomsProcess.hpp \ Actions/MethodAction.hpp \ Actions/OptionRegistry.hpp \ Actions/OptionTrait.hpp \ Actions/Process.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/MoleculeDescriptor.hpp \ Descriptors/MoleculeFormulaDescriptor.hpp \ Descriptors/MoleculeIdDescriptor.hpp \ Descriptors/MoleculeNameDescriptor.hpp \ Descriptors/MoleculeOfAtomSelectionDescriptor.hpp \ Descriptors/MoleculeOrderDescriptor.hpp \ Descriptors/MoleculePtrDescriptor.hpp \ Descriptors/MoleculeSelectionDescriptor.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/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 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 = \ BoundaryLineSet.cpp \ BoundaryPointSet.cpp \ BoundaryPolygonSet.cpp \ BoundaryTriangleSet.cpp \ CandidateForTesselation.cpp \ PointCloud.cpp \ tesselation.cpp \ tesselationhelpers.cpp \ TesselPoint.cpp TESSELATIONHEADER = \ BoundaryLineSet.hpp \ BoundaryPointSet.hpp \ BoundaryPolygonSet.hpp \ BoundaryTriangleSet.hpp \ CandidateForTesselation.hpp \ PointCloud.hpp \ tesselation.hpp \ tesselationhelpers.hpp \ TesselPoint.hpp MOLECUILDERSOURCE = \ ${ANALYSISSOURCE} \ ${ACTIONSSOURCE} \ ${ATOMSOURCE} \ ${DESCRIPTORSOURCE} \ ${RANDOMSOURCE} \ ${THERMOSTATSOURCE} \ ${TESSELATIONSOURCE} \ Helpers/defs.cpp \ Helpers/helpers.cpp \ bond.cpp \ bondgraph.cpp \ boundary.cpp \ Box.cpp \ config.cpp \ ConfigFileBuffer.cpp \ element.cpp \ elements_db.cpp \ ellipsoid.cpp \ Formula.cpp \ graph.cpp \ linkedcell.cpp \ moleculelist.cpp \ molecule.cpp \ molecule_dynamics.cpp \ molecule_fragmentation.cpp \ molecule_geometry.cpp \ molecule_graph.cpp \ molecule_pointcloud.cpp \ parser.cpp \ periodentafel.cpp \ ThermoStatContainer.cpp \ triangleintersectionlist.cpp \ UIElements/UIFactory.cpp \ World.cpp MOLECUILDERHEADER = \ ${ANALYSISHEADER} \ ${ACTIONSHEADER} \ ${ATOMHEADER} \ ${DESCRIPTORHEADER} \ ${DESCRIPTORIMPLHEADER} \ ${RANDOMSOURCE} \ ${THERMOSTATHEADER} \ ${TESSELATIONHEADER} \ Helpers/defs.hpp \ Helpers/fast_functions.hpp \ Helpers/helpers.hpp \ bond.hpp \ bondgraph.hpp \ boundary.hpp \ Box.hpp \ config.hpp \ ConfigFileBuffer.hpp \ element.hpp \ elements_db.hpp \ ellipsoid.hpp \ Formula.hpp \ graph.hpp \ linkedcell.hpp \ lists.hpp \ molecule.hpp \ parser.hpp \ periodentafel.hpp \ ThermoStatContainer.hpp \ triangleintersectionlist.hpp \ UIElements/UIFactory.hpp \ World.hpp lib_LTLIBRARIES = libMolecuilder.la libMolecuilder_la_includedir = $(includedir)/MoleCuilder/ libMolecuilder_la_LIBADD = \ LinearAlgebra/libMolecuilderLinearAlgebra.la \ ${CodePatterns_LIBS} \ ${BOOST_PROGRAM_OPTIONS_LIB} 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} $(srcdir)/version.c ## 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 BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB) INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements noinst_LIBRARIES = libmenu.a bin_PROGRAMS = molecuilder molecuildergui joiner analyzer SubspaceFactorizer EXTRA_PROGRAMS = unity molecuilderdir = ${bindir} libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER} molecuilder_DATA = elements.db valence.db orbitals.db Hbonddistance.db Hbondangle.db SubspaceFactorizer_CXXFLAGS = $(BOOST_CPPFLAGS) SubspaceFactorizer_SOURCES = SubspaceFactorizer.cpp Helpers/defs.cpp Helpers/defs.hpp Helpers/helpers.cpp Helpers/helpers.hpp SubspaceFactorizer_LDADD = \ LinearAlgebra/libMolecuilderLinearAlgebra.la \ Exceptions/libMolecuilderExceptions.la \ ${CodePatterns_LIBS} \ $(GSLLIB) \ $(BOOST_LIB) molecuilder_CXXFLAGS = $(BOOST_CPPFLAGS) #molecuilder_CXXFLAGS += -DNO_CACHING molecuilder_LDFLAGS = $(BOOST_LIB) molecuilder_SOURCES = builder.cpp builder_init.cpp builder_init.hpp molecuilder_LDADD = \ UIElements/libMolecuilderUI.la \ Actions/libMolecuilderActions.la \ libMolecuilder.la \ Parser/libMolecuilderParser.la \ Shapes/libMolecuilderShapes.la \ LinearAlgebra/libMolecuilderLinearAlgebra.la \ Exceptions/libMolecuilderExceptions.la \ RandomNumbers/libMolecuilderRandomNumbers.la \ ${CodePatterns_LIBS} \ $(BOOST_LIB) #Stuff for building the GUI using Qt molecuildergui_SOURCES = builder.cpp builder_init.cpp builder_init.hpp molecuildergui_CXXFLAGS = $(BOOST_CPPFLAGS) -DUSE_GUI_QT molecuildergui_LDFLAGS = $(BOOST_LIB) unity_SOURCES = unity.cpp unity_LDADD = $(BOOST_LIB) molecuildergui_LDADD = \ UIElements/libMolecuilderUI.la \ UIElements/libMolecuilderQtUI.la \ Actions/libMolecuilderActions.la \ libMolecuilder.la \ Parser/libMolecuilderParser.la \ Shapes/libMolecuilderShapes.la \ LinearAlgebra/libMolecuilderLinearAlgebra.la \ Exceptions/libMolecuilderExceptions.la \ RandomNumbers/libMolecuilderRandomNumbers.la \ ${CodePatterns_LIBS} \ $(BOOST_LIB) \ ${GUI_LIBS} joiner_SOURCES = joiner.cpp datacreator.cpp datacreator.hpp periodentafel.hpp joiner_LDADD = \ UIElements/libMolecuilderUI.la \ Actions/libMolecuilderActions.la \ libMolecuilder.la \ Parser/libMolecuilderParser.la \ Shapes/libMolecuilderShapes.la \ LinearAlgebra/libMolecuilderLinearAlgebra.la \ Exceptions/libMolecuilderExceptions.la \ RandomNumbers/libMolecuilderRandomNumbers.la \ ${CodePatterns_LIBS} \ $(BOOST_LIB) analyzer_SOURCES = analyzer.cpp datacreator.cpp periodentafel.hpp datacreator.hpp analyzer_LDADD = \ UIElements/libMolecuilderUI.la \ Actions/libMolecuilderActions.la \ libMolecuilder.la \ Parser/libMolecuilderParser.la \ Shapes/libMolecuilderShapes.la \ LinearAlgebra/libMolecuilderLinearAlgebra.la \ Exceptions/libMolecuilderExceptions.la \ RandomNumbers/libMolecuilderRandomNumbers.la \ ${CodePatterns_LIBS} \ $(BOOST_LIB) #EXTRA_DIST = ${molecuilder_DATA} 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 $(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