Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision b37436fa9715dfb6e1303adf13e96697e9e8306b)
+++ src/Makefile.am	(revision 255971975c50c64de776d5989f15e9fe00fe9e44)
@@ -128,5 +128,5 @@
 QTUI_DEFS =
 
-SOURCE = \
+MOLECUILDERSOURCE = \
   ${ANALYSISSOURCE} \
   ${ACTIONSSOURCE} \
@@ -168,5 +168,5 @@
   World.cpp
 
-HEADER = \
+MOLECUILDERHEADER = \
   ${ANALYSISHEADER} \
   ${ACTIONSHEADER} \
@@ -205,9 +205,56 @@
   World.hpp 
 
-# the following files are no longer used:
-#  memoryallocator.hpp \
-#  memoryallocator.cpp \
-#  memoryusageobserver.hpp \
-#  memoryusageobserver.cpp
+lib_LTLIBRARIES = libMolecuilder-@MOLECUILDER_API_VERSION@.la
+libMolecuilder_includedir = $(includedir)/molecuilder-$(MOLECUILDER_API_VERSION)/Actions/
+libMolecuilder_LIBS = \
+	LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
+	${BOOST_PROGRAM_OPTIONS_LIB}
+
+#	UIElements/libMolecuilderUI.a \
+	Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
+	Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
+	Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
+	Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
+	$(BOOST_LIB) \
+	${BOOST_THREAD_LIB}
+
+nobase_libMolecuilder_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_@MOLECUILDER_API_VERSION@_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_@MOLECUILDER_API_VERSION@_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_libincludedir = $(libdir)/molecuilder-$(MOLECUILDER_API_VERSION)/include
+nodist_libMolecuilder_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-$(MOLECUILDER_API_VERSION).pc
+
 
 BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB)
@@ -215,10 +262,8 @@
 INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements
 
-noinst_LIBRARIES = libmolecuilder.a libmenu.a
+noinst_LIBRARIES = libmenu.a
 bin_PROGRAMS = molecuilder molecuildergui joiner analyzer
 
 molecuilderdir = ${bindir}
-
-libmolecuilder_a_SOURCES = ${SOURCE} ${HEADER} $(srcdir)/version.c
 
 libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER} 
@@ -233,5 +278,5 @@
 	UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
 	Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
-	libmolecuilder.a \
+	libMolecuilder-@MOLECUILDER_API_VERSION@.la \
 	Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
 	LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
@@ -245,5 +290,4 @@
 #Stuff for building the GUI using QT
 molecuildergui_SOURCES = ${QTUISOURCE} builder.cpp
-molecuildergui_SOURCES += $(srcdir)/version.c
 molecuildergui_CXXFLAGS = ${QT_CXXFLAGS} ${GLU_CXXFLAGS} -DUSE_GUI_QT
 molecuildergui_LDFLAGS = $(BOOST_LIB) ${QT_LDFLAGS} ${GLU_LDFLAGS}
@@ -251,5 +295,5 @@
 	UIElements/libMolecuilderUI-@MOLECUILDER_API_VERSION@.la \
 	Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
-	libmolecuilder.a \
+	libMolecuilder-@MOLECUILDER_API_VERSION@.la \
 	Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
 	LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
@@ -261,9 +305,23 @@
 	${GUI_LIBS}
 
-joiner_SOURCES = joiner.cpp datacreator.cpp parser.cpp datacreator.hpp helpers.hpp parser.hpp periodentafel.hpp
-joiner_LDADD = libmolecuilder.a Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la $(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 Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la $(BOOST_LIB) ${BOOST_THREAD_LIB}
+joiner_SOURCES = joiner.cpp datacreator.cpp datacreator.hpp periodentafel.hpp
+joiner_LDADD = \
+	libMolecuilder-@MOLECUILDER_API_VERSION@.la \
+	LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
+	Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
+	Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
+	$(BOOST_LIB) \
+	${BOOST_THREAD_LIB} \
+	${BOOST_PROGRAM_OPTIONS_LIB}
+
+analyzer_SOURCES = analyzer.cpp datacreator.cpp periodentafel.hpp datacreator.hpp 
+analyzer_LDADD = \
+	libMolecuilder-@MOLECUILDER_API_VERSION@.la \
+	LinearAlgebra/libMolecuilderLinearAlgebra-@MOLECUILDER_API_VERSION@.la \
+	Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la \
+	Helpers/libMolecuilderHelpers-@MOLECUILDER_API_VERSION@.la \
+	$(BOOST_LIB) \
+	${BOOST_THREAD_LIB} \
+	${BOOST_PROGRAM_OPTIONS_LIB}
 
 #Rules needed for QT4
