Index: src/Exceptions/Makefile.am
===================================================================
--- src/Exceptions/Makefile.am	(revision f4b5b7b506c66a34d10f4528f8da8719ccd423c8)
+++ src/Exceptions/Makefile.am	(revision f4b5b7b506c66a34d10f4528f8da8719ccd423c8)
@@ -0,0 +1,73 @@
+# PLEASE adhere to the alphabetical ordering in this Makefile!
+# Also indentation by a single tab
+
+INCLUDES = -I$(top_srcdir)/src
+
+AM_LDFLAGS = $(CPPUNIT_LIBS) -ldl
+# Position-Independent Code necessary for shared library
+AM_CXXFLAGS = $(CPPUNIT_CFLAGS)
+
+EXCEPTIONSOURCE = \
+  CustomException.cpp \
+  IllegalTypeException.cpp \
+  LinearDependenceException.cpp \
+  MathException.cpp \
+  MissingValueException.cpp \
+  NotInvertibleException.cpp \
+  ParseError.cpp \
+  SkewException.cpp \
+  ZeroVectorException.cpp
+				  
+EXCEPTIONHEADER = \
+  CustomException.hpp \
+  IllegalTypeException.hpp \
+  LinearDependenceException.hpp \
+  MathException.hpp \
+  MissingValueException.hpp \
+  NotInvertibleException.hpp \
+  ParseError.hpp \
+  SkewException.hpp \
+  ZeroVectorException.hpp
+
+
+
+lib_LTLIBRARIES = libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la
+libMolecuilderExceptions_includedir = $(includedir)/molecuilder-$(MOLECUILDER_API_VERSION)/Actions/
+nobase_libMolecuilderExceptions_include_HEADERS = ${EXCEPTIONHEADER}
+
+## 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.
+libMolecuilderExceptions_@MOLECUILDER_API_VERSION@_la_SOURCES = ${EXCEPTIONSOURCE}
+
+## 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.
+libMolecuilderExceptions_@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.
+libMolecuilderExceptions_libincludedir = $(libdir)/molecuilder-$(MOLECUILDER_API_VERSION)/include
+nodist_libMolecuilderExceptions_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
+
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 8618749ecbb50515e1e0493c477373586170ee2f)
+++ src/Makefile.am	(revision f4b5b7b506c66a34d10f4528f8da8719ccd423c8)
@@ -2,5 +2,5 @@
 # Also indentation by a single tab
 
-SUBDIRS = Actions Parser UIElements
+SUBDIRS = Actions Exceptions Parser UIElements
 
 # this includes source files that need to be present at multiple points
@@ -77,26 +77,4 @@
   Actions/Process.hpp
 
-EXCEPTIONSOURCE = \
-  Exceptions/CustomException.cpp \
-  Exceptions/IllegalTypeException.cpp \
-  Exceptions/LinearDependenceException.cpp \
-  Exceptions/MathException.cpp \
-  Exceptions/MissingValueException.cpp \
-  Exceptions/NotInvertibleException.cpp \
-  Exceptions/ParseError.cpp \
-  Exceptions/SkewException.cpp \
-  Exceptions/ZeroVectorException.cpp
-				  
-EXCEPTIONHEADER = \
-  Exceptions/CustomException.hpp \
-  Exceptions/IllegalTypeException.hpp \
-  Exceptions/LinearDependenceException.hpp \
-  Exceptions/MathException.hpp \
-  Exceptions/MissingValueException.hpp \
-  Exceptions/NotInvertibleException.hpp \
-  Exceptions/ParseError.hpp \
-  Exceptions/SkewException.hpp \
-  Exceptions/ZeroVectorException.hpp
-
 PATTERNSOURCE = \
   Patterns/Observer.cpp
@@ -173,5 +151,4 @@
   ${ACTIONSSOURCE} \
   ${ATOMSOURCE} \
-  ${EXCEPTIONSOURCE} \
   ${PATTERNSOURCE} \
   ${PARSERSOURCE} \
@@ -225,5 +202,4 @@
   ${ACTIONSHEADER} \
   ${ATOMHEADER} \
-  ${EXCEPTIONHEADER} \
   ${PARSERHEADER} \
   ${PATTERNHEADER} \
@@ -294,5 +270,5 @@
 molecuilder_LDFLAGS = $(BOOST_LIB)
 molecuilder_SOURCES = builder.cpp
-molecuilder_LDADD = UIElements/libMolecuilderUI.a Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la libmolecuilder.a Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
+molecuilder_LDADD = UIElements/libMolecuilderUI.a Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la libmolecuilder.a Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la libgslwrapper.a Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
 
 #Stuff for building the GUI using QT
@@ -301,5 +277,5 @@
 molecuildergui_CXXFLAGS = ${QT_CXXFLAGS} ${GLU_CXXFLAGS} -DUSE_GUI_QT
 molecuildergui_LDFLAGS = $(BOOST_LIB) ${QT_LDFLAGS} ${GLU_LDFLAGS}
-molecuildergui_LDADD = UIElements/libMolecuilderUI.a Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la libmolecuilder.a Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}  ${GUI_LIBS}
+molecuildergui_LDADD = UIElements/libMolecuilderUI.a Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la libmolecuilder.a Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la libgslwrapper.a Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la $(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
Index: src/unittests/Makefile.am
===================================================================
--- src/unittests/Makefile.am	(revision 8618749ecbb50515e1e0493c477373586170ee2f)
+++ src/unittests/Makefile.am	(revision f4b5b7b506c66a34d10f4528f8da8719ccd423c8)
@@ -49,6 +49,13 @@
 noinst_PROGRAMS = $(TESTS) TestRunner
 
-GSLLIBS = ../libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB}  ${BOOST_PROGRAM_OPTIONS_LIB}
-ALLLIBS = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la ../Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la ../libmolecuilder.a ${GSLLIBS} 
+GSLLIBS = ../libgslwrapper.a ../Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la $(BOOST_LIB) ${BOOST_THREAD_LIB}
+ALLLIBS = \
+	../UIElements/libMolecuilderUI.a \
+	../Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la \
+	../libmolecuilder.a \
+	../Parser/libMolecuilderParser-@MOLECUILDER_API_VERSION@.la \
+	${GSLLIBS} \
+	${BOOST_PROGRAM_OPTIONS_LIB}
+
 PARSERLIBS = ${ALLLIBS} 
 
@@ -129,5 +136,5 @@
 
 ActionSequenceTest_SOURCES = UnitTestMain.cpp ActionSequenceTest.cpp ActionSequenceTest.hpp
-ActionSequenceTest_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la ../libmolecuilder.a ../libparser.a ../libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
+ActionSequenceTest_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la ../libmolecuilder.a ../libparser.a ../libgslwrapper.a ../Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
 
 ActOnAllUnitTest_SOURCES = UnitTestMain.cpp ../test/ActOnAllTest.hpp ActOnAllUnitTest.cpp ActOnAllUnitTest.hpp
@@ -195,5 +202,5 @@
 
 manipulateAtomsTest_SOURCES = UnitTestMain.cpp manipulateAtomsTest.cpp manipulateAtomsTest.hpp
-manipulateAtomsTest_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la ../libmolecuilder.a ../libparser.a ../libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
+manipulateAtomsTest_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la ../libmolecuilder.a ../libparser.a ../libgslwrapper.a ../Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
 
 MatrixUnittest_SOURCES = UnitTestMain.cpp MatrixUnittest.cpp MatrixUnittest.hpp
@@ -234,5 +241,5 @@
 
 TestRunner_SOURCES = TestRunnerMain.cpp $(TESTSOURCES) $(TESTHEADERS)
-TestRunner_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la ../libmolecuilder.a ../libparser.a ../libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
+TestRunner_LDADD = ../UIElements/libMolecuilderUI.a ../Actions/libMolecuilderActions-@MOLECUILDER_API_VERSION@.la ../libmolecuilder.a ../libparser.a ../libgslwrapper.a ../Exceptions/libMolecuilderExceptions-@MOLECUILDER_API_VERSION@.la $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
 
 VectorUnitTest_SOURCES = UnitTestMain.cpp vectorunittest.cpp vectorunittest.hpp 
