# PLEASE adhere to the alphabetical ordering in this Makefile! # Also indentation by a single tab SUBDIRS = Actions UIElements # this includes source files that need to be present at multiple points HELPERSOURCE = \ Helpers/Assert.cpp \ Helpers/MemDebug.cpp ATOMSOURCE = \ atom.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 \ atom_atominfo.hpp \ atom_bondedparticle.hpp \ atom_bondedparticleinfo.hpp \ atom_graphnode.hpp \ atom_graphnodeinfo.hpp \ atom_particleinfo.hpp \ atom_trajectoryparticle.hpp \ atom_trajectoryparticleinfo.hpp LINALGSOURCE = \ ${HELPERSOURCE} \ gslmatrix.cpp \ gslvector.cpp \ linearsystemofequations.cpp \ Space.cpp \ vector.cpp LINALGHEADER = \ gslmatrix.hpp \ gslvector.hpp \ linearsystemofequations.hpp \ Space.hpp \ vector.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/ErrorAction.cpp \ Actions/MakroAction.cpp \ Actions/ManipulateAtomsProcess.cpp \ Actions/MethodAction.cpp \ Actions/Process.cpp ACTIONSHEADER = \ Actions/Action.hpp \ Actions/ActionHistory.hpp \ Actions/ActionRegistry.hpp \ Actions/ActionSequence.hpp \ Actions/Calculation.hpp \ Actions/Calculation_impl.hpp \ Actions/ErrorAction.hpp \ Actions/MakroAction.hpp \ Actions/ManipulateAtomsProcess.hpp \ Actions/MapOfActions.hpp \ Actions/MethodAction.hpp \ Actions/Process.hpp EXCEPTIONSOURCE = Exceptions/CustomException.cpp \ Exceptions/LinearDependenceException.cpp \ Exceptions/MathException.cpp \ Exceptions/NotInvertibleException.cpp \ Exceptions/SkewException.cpp \ Exceptions/ZeroVectorException.cpp EXCEPTIONHEADER = Exceptions/CustomException.hpp \ Exceptions/LinearDependenceException.hpp \ Exceptions/MathException.hpp \ Exceptions/NotInvertibleException.hpp \ Exceptions/SkewException.hpp \ Exceptions/ZeroVectorException.hpp PARSERSOURCE = \ Parser/ChangeTracker.cpp \ Parser/FormatParser.cpp \ Parser/FormatParserStorage.cpp \ Parser/MpqcParser.cpp \ Parser/PcpParser.cpp \ Parser/TremoloParser.cpp \ Parser/XyzParser.cpp PARSERHEADER = \ Parser/ChangeTracker.hpp \ Parser/FormatParser.hpp \ Parser/FormatParserStorage.hpp \ Parser/MpqcParser.hpp \ Parser/PcpParser.hpp \ Parser/TremoloParser.hpp \ Parser/XyzParser.hpp PATTERNSOURCE = \ Patterns/Observer.cpp PATTERNHEADER = \ Patterns/Cacheable.hpp \ Patterns/Observer.hpp \ Patterns/Singleton.hpp SHAPESOURCE = \ Shapes/BaseShapes.cpp \ Shapes/Shape.cpp \ Shapes/ShapeOps.cpp SHAPEHEADER = \ Shapes/BaseShapes.hpp \ Shapes/Shape.hpp \ Shapes/ShapeOps.hpp QTUIMOC_HEADER = UIElements/QT4/QTDialog.hpp \ UIElements/QT4/QTMainWindow.hpp \ UIElements/Menu/QT4/QTMenu.hpp \ UIElements/Views/QT4/QTWorldView.hpp \ UIElements/Views/QT4/GLMoleculeView.hpp \ UIElements/Views/QT4/QTMoleculeView.hpp \ UIElements/Views/QT4/QTStatusBar.hpp QTUIMOC_TARGETS = QTMainWindow.moc.cpp \ QTMenu.moc.cpp\ QTDialog.moc.cpp \ QTWorldView.moc.cpp \ GLMoleculeView.moc.cpp \ QTMoleculeView.moc.cpp \ QTStatusBar.moc.cpp DESCRIPTORSOURCE = Descriptors/AtomDescriptor.cpp \ Descriptors/AtomIdDescriptor.cpp \ Descriptors/AtomTypeDescriptor.cpp \ Descriptors/MoleculeDescriptor.cpp \ Descriptors/MoleculeIdDescriptor.cpp \ Descriptors/MoleculeNameDescriptor.cpp \ Descriptors/MoleculePtrDescriptor.cpp DESCRIPTORHEADER = Descriptors/AtomDescriptor.hpp \ Descriptors/AtomIdDescriptor.hpp \ Descriptors/AtomTypeDescriptor.hpp \ Descriptors/MoleculeDescriptor.hpp \ Descriptors/MoleculeIdDescriptor.hpp \ Descriptors/MoleculeNameDescriptor.hpp \ Descriptors/MoleculePtrDescriptor.hpp QTUISOURCE = ${QTUIMOC_TARGETS} \ UIElements/QT4/QTMainWindow.cpp \ UIElements/QT4/QTDialog.cpp \ UIElements/QT4/QTUIFactory.cpp \ UIElements/Menu/QT4/QTMenu.cpp \ UIElements/Views/QT4/QTWorldView.cpp \ UIElements/Views/QT4/GLMoleculeView.cpp \ UIElements/Views/QT4/QTMoleculeView.cpp \ UIElements/Views/QT4/QTStatusBar.cpp QTUIHEADER = ${QTUIMOC_HEADER} UIElements/QT4/QTUIFactory.hpp QTUI_DEFS = SOURCE = \ ${ANALYSISSOURCE} \ ${ACTIONSSOURCE} \ ${ATOMSOURCE} \ ${EXCEPTIONSOURCE} \ ${PATTERNSOURCE} \ ${PARSERSOURCE} \ ${SHAPESOURCE} \ ${DESCRIPTORSOURCE} \ ${HELPERSOURCE} \ bond.cpp \ bondgraph.cpp \ boundary.cpp \ Box.cpp \ CommandLineParser.cpp \ config.cpp \ ConfigFileBuffer.cpp \ element.cpp \ elements_db.cpp \ ellipsoid.cpp \ errorlogger.cpp \ graph.cpp \ helpers.cpp \ info.cpp \ leastsquaremin.cpp \ Line.cpp \ linkedcell.cpp \ log.cpp \ logger.cpp \ Matrix.cpp \ moleculelist.cpp \ molecule.cpp \ molecule_dynamics.cpp \ molecule_fragmentation.cpp \ molecule_geometry.cpp \ molecule_graph.cpp \ molecule_pointcloud.cpp \ parser.cpp \ periodentafel.cpp \ Plane.cpp \ Space.cpp \ tesselation.cpp \ tesselationhelpers.cpp \ ThermoStatContainer.cpp \ triangleintersectionlist.cpp \ vector.cpp \ vector_ops.cpp \ verbose.cpp \ World.cpp HEADER = \ ${ANALYSISHEADER} \ ${ACTIONSHEADER} \ ${ATOMHEADER} \ ${EXCEPTIONHEADER} \ ${PARSERHEADER} \ ${PATTERNHEADER} \ ${SHAPEHEADER} \ ${DESCRIPTORHEADER} \ bond.hpp \ bondgraph.hpp \ boundary.hpp \ Box.hpp \ CommandLineParser.hpp \ config.hpp \ ConfigFileBuffer.hpp \ defs.hpp \ element.hpp \ elements_db.hpp \ ellipsoid.hpp \ errorlogger.hpp \ graph.hpp \ helpers.hpp \ info.hpp \ leastsquaremin.hpp \ Line.hpp \ linkedcell.hpp \ lists.hpp \ log.hpp \ logger.hpp \ Matrix.hpp \ molecule.hpp \ molecule_template.hpp \ parser.hpp \ periodentafel.hpp \ Plane.hpp \ stackclass.hpp \ tesselation.hpp \ tesselationhelpers.hpp \ ThermoStatContainer.hpp \ triangleintersectionlist.hpp \ verbose.hpp \ vector_ops.hpp \ World.hpp # the following files are no longer used: # memoryallocator.hpp \ # memoryallocator.cpp \ # memoryusageobserver.hpp \ # memoryusageobserver.cpp BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB) GUI_LIBS = ${QT_LDADD} ${QT_LIB_GUI} -lQtOpenGL ${GLU_LIBS} INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements noinst_LIBRARIES = libmolecuilder.a libgslwrapper.a libmenu.a libparser.a bin_PROGRAMS = molecuilder molecuildergui joiner analyzer molecuilderdir = ${bindir} libmolecuilder_a_SOURCES = ${SOURCE} ${HEADER} libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER} libparser_a_SOURCES = ${PARSERSOURCE} ${PARSERHEADER} libgslwrapper_a_SOURCES = ${LINALGSOURCE} ${LINALGHEADER} molecuilder_DATA = elements.db valence.db orbitals.db Hbonddistance.db Hbondangle.db molecuilder_CXXFLAGS = $(BOOST_CPPFLAGS) #molecuilder_CXXFLAGS += -DNO_CACHING molecuilder_LDFLAGS = $(BOOST_LIB) molecuilder_SOURCES = ${LEGACYSOURCE} builder.cpp molecuilder_SOURCES += $(srcdir)/version.c molecuilder_LDADD = UIElements/libMolecuilderUI.a Actions/libMolecuilderActions.a libmolecuilder.a libparser.a libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB} #Stuff for building the GUI using QT molecuildergui_SOURCES = ${QTUISOURCE} ${LEGACYSOURCE} builder.cpp molecuildergui_SOURCES += $(srcdir)/version.c molecuildergui_CXXFLAGS = ${QT_CXXFLAGS} ${GLU_CXXFLAGS} -DUSE_GUI_QT molecuildergui_LDFLAGS = $(BOOST_LIB) ${QT_LDFLAGS} ${GLU_LDFLAGS} molecuildergui_LDADD = UIElements/libMolecuilderUI.a Actions/libMolecuilderActions.a libmolecuilder.a libparser.a libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB} ${GUI_LIBS} joiner_SOURCES = joiner.cpp datacreator.cpp parser.cpp datacreator.hpp helpers.hpp parser.hpp periodentafel.hpp joiner_LDADD = libmolecuilder.a $(BOOST_LIB) ${BOOST_THREAD_LIB} analyzer_SOURCES = analyzer.cpp datacreator.cpp parser.cpp helpers.hpp periodentafel.hpp parser.hpp datacreator.hpp analyzer_LDADD = libmolecuilder.a $(BOOST_LIB) ${BOOST_THREAD_LIB} #Rules needed for QT4 # UI-Files are scattered throughout several subdirectories # Therfore `%'-rules do not seem to work #Quick fix to get it done otherwise ${QTUIMOC_TARGETS}: ${QTUIMOC_HEADER} list='$(QTUIMOC_HEADER)'; for header in $$list; do \ echo "Making mocfile for $$header"; \ target=`basename $$header | sed "s/\(.*\)\..*/\1.moc.cpp/"`;\ $(MOC) $(srcdir)/$$header -o $$target \ || eval $$failcom; \ done; MOSTLYCLEANFILES = ${QTUIMOC_TARGETS} #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 *ESPACKVersion = \"$(PACKAGE_NAME) -- git version: "`cat $(srcdir)/.git-version`"\";" > $@