Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 014bc488792ee58f26e7bf769da070ed1c146bfc)
+++ src/Makefile.am	(revision fd4d5e9f6169e6fb4f1b3ebf883388e3bcf11569)
@@ -8,4 +8,5 @@
 BUILT_SOURCES =
 bin_PROGRAMS =
+EXTRA_DIST =
 
 include Actions/Makefile.am
@@ -352,80 +353,132 @@
 	$(BOOST_THREAD_LIBS)
 
+CONTROLLERSOURCE = \
+        controller_MPQCCommandJob.cpp \
+        ControllerCommandRegistry.cpp \
+        ControllerOptions.cpp \
+        ControllerOptions_MPQCCommandJob.cpp \
+        DefaultOptions.cpp \
+				Fragmentation/Automation/FragmentController.cpp
+
+CONTROLLERHEADER = \
+        Fragmentation/Automation/Connection.hpp \
+        controller_AddOn.hpp \
+        controller_MPQCCommandJob.hpp \
+        ControllerCommand.hpp \
+        ControllerCommandRegistry.hpp \
+        ControllerOptions.hpp \
+        ControllerOptions_MPQCCommandJob.hpp \
+        DefaultOptions.hpp \
+				Fragmentation/Automation/FragmentController.hpp
+
+EXTRA_DIST += \
+	controller_AddOn_SystemCommandJob.cpp \
+        controller_SystemCommandJob.cpp \
+        controller_SystemCommandJob.hpp \
+        ControllerOptions_SystemCommandJob.cpp \
+        ControllerOptions_SystemCommandJob.hpp
+	
+
+noinst_LTLIBRARIES += libFragmentationAutomationController.la
+libFragmentationAutomationController_la_includedir = $(includedir)/MoleCuilder/JobMarket
+nobase_libFragmentationAutomationController_la_include_HEADERS = $(CONTROLLERHEADER)
+libFragmentationAutomationController_la_SOURCES = $(CONTROLLERSOURCE)
+libFragmentationAutomationController_la_LIBADD = \
+        $(top_builddir)/src/Fragmentation/Automation/libFragmentationAutomation.la
+
+POOLWORKERSOURCE = \
+        DefaultOptions.cpp \
+        Fragmentation/Automation/Pool/PoolWorker.cpp \
+        SignalHandler.cpp \
+        SignalOptions.cpp \
+        WorkerOptions.cpp
+
+POOLWORKERHEADER = \
+        DefaultOptions.hpp \
+        Fragmentation/Automation/Connection.hpp \
+        Fragmentation/Automation/Pool/PoolWorker.hpp \
+        SignalHandler.hpp \
+        SignalOptions.hpp \
+        Fragmentation/Automation/WorkerChoices.hpp \
+        WorkerOptions.hpp
+
+lib_LTLIBRARIES += libFragmentationAutomationPoolWorker.la
+libFragmentationAutomationPoolWorker_la_includedir = $(includedir)/MoleCuilder/JobMarket
+nobase_libFragmentationAutomationPoolWorker_la_include_HEADERS = $(POOLWORKERHEADER)
+libFragmentationAutomationPoolWorker_la_SOURCES = $(POOLWORKERSOURCE)
+libFragmentationAutomationPoolWorker_la_LIBADD = \
+        $(top_builddir)/src/Fragmentation/Automation/libFragmentationAutomation.la
+
+POOLSOURCE = \
+        Fragmentation/Automation/Pool/WorkerPool.cpp
+
+POOLHEADER = \
+        Fragmentation/Automation/Pool/WorkerPool.hpp
+
+lib_LTLIBRARIES += libFragmentationAutomationPool.la
+libFragmentationAutomationPool_la_includedir = $(includedir)/MoleCuilder/JobMarket
+nobase_libFragmentationAutomationPool_la_include_HEADERS = $(POOLHEADER)
+libFragmentationAutomationPool_la_SOURCES = $(POOLSOURCE)
+
+SERVERSOURCE = \
+        DefaultOptions.cpp \
+        Fragmentation/Automation/FragmentScheduler.cpp \
+        ServerOptions.cpp \
+        SignalHandler.cpp \
+        SignalOptions.cpp
+
+SERVERHEADER = \
+        DefaultOptions.hpp \
+        Fragmentation/Automation/Connection.hpp \
+        Fragmentation/Automation/ControllerChoices.hpp \
+        Fragmentation/Automation/FragmentScheduler.hpp \
+        ServerOptions.hpp \
+        SignalHandler.hpp \
+        SignalOptions.hpp
+
+noinst_LTLIBRARIES += libFragmentationAutomationServer.la
+libFragmentationAutomationServer_la_includedir = $(includedir)/MoleCuilder/JobMarket
+nobase_libFragmentationAutomationServer_la_include_HEADERS = $(SERVERHEADER)
+libFragmentationAutomationServer_la_SOURCES = $(SERVERSOURCE)
+libFragmentationAutomationServer_la_LIBADD = \
+        $(top_builddir)/src/Fragmentation/Automation/libFragmentationAutomation.la
 
 bin_PROGRAMS += Controller PoolWorker Server
 
-CONTROLLERSOURCE = \
-  Fragmentation/Automation/FragmentController.cpp \
-  Fragmentation/Automation/Operations/OperationRegistry.cpp
-
-CONTROLLERHEADER = \
-  Fragmentation/Automation/Connection.hpp \
-  Fragmentation/Automation/FragmentController.hpp \
-  Fragmentation/Automation/Operations/OperationRegistry.hpp
-
-POOLWORKERSOURCE = \
-  Fragmentation/Automation/Pool/PoolWorker.cpp
-
-POOLWORKERHEADER = \
-  Fragmentation/Automation/Connection.hpp \
-  Fragmentation/Automation/Pool/PoolWorker.hpp
-
-SERVERSOURCE = \
-  Fragmentation/Automation/FragmentScheduler.cpp \
-  Fragmentation/Automation/Pool/WorkerPool.cpp
-
-SERVERHEADER = \
-  Fragmentation/Automation/Connection.hpp \
-  Fragmentation/Automation/ControllerChoices.hpp \
-  Fragmentation/Automation/FragmentScheduler.hpp \
-  Fragmentation/Automation/Pool/WorkerPool.hpp
-
-Controller_SOURCES = $(CONTROLLERSOURCE) $(CONTROLLERHEADER) controller.cpp controller_AddOn.hpp controller_AddOn_MPQCCommandJob.cpp controller_MPQCCommandJob.cpp controller_MPQCCommandJob.hpp ControllerCommand.hpp ControllerCommandRegistry.cpp ControllerCommandRegistry.hpp DefaultOptions.cpp DefaultOptions.hpp ControllerOptions.cpp ControllerOptions.hpp ControllerOptions_MPQCCommandJob.cpp ControllerOptions_MPQCCommandJob.hpp
-#controller_AddOn_SystemCommandJob.cpp controller_SystemCommandJob.cpp controller_SystemCommandJob.hpp ControllerOptions_SystemCommandJob.cpp ControllerOptions_SystemCommandJob.hpp
-Controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_PROGRAM__OPTIONS_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
+Controller_SOURCES = controller.cpp controller_main.hpp controller_AddOn_MPQCCommandJob.cpp
+Controller_LDFLAGS = $(AM_LDFLAGS)
 Controller_CXXFLAGS = $(AM_CPPFLAGS)
 Controller_LDADD = \
-  libMolecuilderJobs.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationAutomationHelper.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationOperations.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentJobs.la \
-  libMolecuilderFragmentation.la \
-  libMolecuilderHelpers.la \
-  $(BOOST_ASIO_LIBS) \
-  $(BOOST_SERIALIZATION_LIBS) \
-  $(BOOST_PROGRAM_OPTIONS_LIBS) \
-  $(BOOST_THREAD_LIBS) \
-  $(BOOST_SYSTEM_LIBS) \
-  ${CodePatterns_LIBS}
-
-PoolWorker_SOURCES = $(POOLWORKERSOURCE) $(POOLWORKERHEADER) poolworker.cpp DefaultOptions.cpp DefaultOptions.hpp SignalHandler.cpp SignalHandler.hpp SignalOptions.cpp SignalOptions.hpp WorkerOptions.cpp WorkerOptions.hpp
-PoolWorker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_PROGRAM__OPTIONS_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
+        libMolecuilderJobs.la \
+        libFragmentationAutomationController.la \
+        libMolecuilderFragmentation.la \
+        libMolecuilderHelpers.la \
+        $(top_builddir)/src/Fragmentation/Automation/libFragmentationAutomation.la \
+        $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
+	${CodePatterns_LIBS} \
+	$(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) 
+
+PoolWorker_SOURCES = poolworker.cpp
+PoolWorker_LDFLAGS = $(AM_LDFLAGS)
 PoolWorker_CXXFLAGS = $(AM_CPPFLAGS)
 PoolWorker_LDADD = \
-  libMolecuilderJobs.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationAutomationHelper.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationOperations.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentJobs.la \
-  $(BOOST_ASIO_LIBS) \
-  $(BOOST_SERIALIZATION_LIBS) \
-  $(BOOST_PROGRAM_OPTIONS_LIBS) \
-  $(BOOST_THREAD_LIBS) \
-  $(BOOST_SYSTEM_LIBS) \
-  ${CodePatterns_LIBS}
-
-Server_SOURCES = $(SERVERSOURCE) $(SERVERHEADER) Server.cpp DefaultOptions.cpp DefaultOptions.hpp SignalHandler.cpp SignalHandler.hpp SignalOptions.cpp SignalOptions.hpp ServerOptions.cpp ServerOptions.hpp
-Server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_PROGRAM__OPTIONS_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
+        libMolecuilderJobs.la \
+        libFragmentationAutomationPoolWorker.la \
+        $(top_builddir)/src/Fragmentation/Automation/libFragmentationAutomation.la \
+        $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
+	${CodePatterns_LIBS} \
+	$(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) 
+
+Server_SOURCES = Server.cpp
+Server_LDFLAGS = $(AM_LDFLAGS) 
 Server_CXXFLAGS = $(AM_CPPFLAGS)
 Server_LDADD = \
-  libMolecuilderJobs.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationAutomationHelper.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentationOperations.la \
-  $(top_builddir)/src/Fragmentation/Automation/libMolecuilderFragmentJobs.la \
-  $(BOOST_ASIO_LIBS) \
-  $(BOOST_SERIALIZATION_LIBS) \
-  $(BOOST_PROGRAM_OPTIONS_LIBS) \
-  $(BOOST_THREAD_LIBS) \
-  $(BOOST_SYSTEM_LIBS) \
-  ${CodePatterns_LIBS}
+        libMolecuilderJobs.la \
+        libFragmentationAutomationServer.la \
+        libFragmentationAutomationPool.la \
+        $(top_builddir)/src/Fragmentation/Automation/libFragmentationAutomation.la \
+        $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
+	${CodePatterns_LIBS} \
+	$(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) 
 
 
@@ -452,5 +505,5 @@
 	fi
 
-EXTRA_DIST = \
+EXTRA_DIST += \
 	$(srcdir)/.git-version \
 	$(bondtable_DATA) \
