source: src/Fragmentation/Automation/Makefile.am@ 9a6b895

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 9a6b895 was f45c08, checked in by Frederik Heber <heber@…>, 13 years ago

Implemented OperationQueue that takes care of AsyncOperations.

  • this is preparatory to fixing FragmentScheduler: When more than one job is placed in the JobQueue at the same time and multiple workers are idling, then also multiple SendJobToWorkerOperations are required. So far there is only a single instance, hence it is overwritten and only the last worker gets its correct job.
  • also added unit test on functionality of OperationQueue.
  • Property mode set to 100644
File size: 6.2 KB
Line 
1# PLEASE adhere to the alphabetical ordering in this Makefile!
2# Also indentation by a single tab
3
4INCLUDES = -I$(top_srcdir)/LinearAlgebra/src -I$(top_srcdir)/src
5
6MOSTLYCLEANFILES =
7bin_PROGRAMS =
8TESTS =
9check_PROGRAMS =
10noinst_PROGRAMS =
11noinst_LTLIBRARIES =
12
13# PLEASE adhere to the alphabetical ordering in this Makefile!
14# Also indentation by a single tab
15
16FRAGMENTJOBSSOURCE = \
17 FragmentQueue.cpp \
18 JobId.cpp \
19 Jobs/FragmentJob.cpp \
20 Jobs/MPQCCommandJob.cpp \
21 Jobs/MPQCCommandJob_MPQCData.cpp \
22 Jobs/SystemCommandJob.cpp \
23 Results/FragmentResult.cpp
24
25FRAGMENTJOBSHEADER = \
26 FragmentQueue.hpp \
27 JobId.hpp \
28 Jobs/FragmentJob.hpp \
29 Jobs/MPQCCommandJob.hpp \
30 Jobs/MPQCCommandJob_MPQCData.hpp \
31 Jobs/SystemCommandJob.hpp \
32 Results/FragmentResult.hpp
33
34noinst_LTLIBRARIES += libMolecuilderFragmentJobs.la
35libMolecuilderFragmentJobs_la_includedir = $(includedir)/MoleCuilder/Fragmentation/Automation/
36nobase_libMolecuilderFragmentJobs_la_include_HEADERS = $(FRAGMENTJOBSHEADER)
37libMolecuilderFragmentJobs_la_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS}
38libMolecuilderFragmentJobs_la_LDFLAGS = $(AM_LDFLAGS)
39libMolecuilderFragmentJobs_la_SOURCES = $(FRAGMENTJOBSSOURCE)
40libMolecuilderFragmentJobs_la_LIBADD = \
41 $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_FILESYSTEM_LIBS) \
42 $(BOOST_IOSTREAMS_LDFLAGS) $(BOOST_IOSTREAMS_LIBS)
43
44FRAGMENTATIONOPERATIONSSOURCE = \
45 Operations/AsyncOperation.cpp \
46 Operations/OperationQueue.cpp \
47 Operations/SyncOperation.cpp \
48 Operations/Controllers/CheckResultsOperation.cpp \
49 Operations/Controllers/GetNextJobIdOperation.cpp \
50 Operations/Controllers/ReceiveResultsOperation.cpp \
51 Operations/Controllers/SendJobsOperation.cpp \
52 Operations/Controllers/ShutdownOperation.cpp \
53 Operations/Servers/SendJobToWorkerOperation.cpp \
54 Operations/Servers/ShutdownWorkerOperation.cpp \
55 Operations/Workers/EnrollInPoolOperation.cpp \
56 Operations/Workers/ObtainJobOperation.cpp \
57 Operations/Workers/RemoveFromPoolOperation.cpp \
58 Operations/Workers/SubmitResultOperation.cpp
59
60FRAGMENTATIONOPERATIONSHEADER = \
61 ControllerChoices.hpp \
62 Operations/AsyncOperation.hpp \
63 Operations/Operation.hpp \
64 Operations/OperationQueue.hpp \
65 Operations/SyncOperation.hpp \
66 Operations/Controllers/CheckResultsOperation.hpp \
67 Operations/Controllers/GetNextJobIdOperation.hpp \
68 Operations/Controllers/ReceiveResultsOperation.hpp \
69 Operations/Controllers/SendJobsOperation.hpp \
70 Operations/Controllers/ShutdownOperation.hpp \
71 Operations/Servers/SendJobToWorkerOperation.hpp \
72 Operations/Servers/ShutdownWorkerOperation.hpp \
73 Operations/Workers/EnrollInPoolOperation.hpp \
74 Operations/Workers/ObtainJobOperation.hpp \
75 Operations/Workers/RemoveFromPoolOperation.hpp \
76 Operations/Workers/SubmitResultOperation.hpp \
77 WorkerChoices.hpp
78
79noinst_LTLIBRARIES += libMolecuilderFragmentationOperations.la
80libMolecuilderFragmentationOperations_la_includedir = $(includedir)/MoleCuilder/Fragmentation/Automation/
81nobase_libMolecuilderFragmentationOperations_la_include_HEADERS = $(FRAGMENTATIONOPERATIONSHEADER)
82libMolecuilderFragmentationOperations_la_CXXFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} $(BOOST_ASIO_DEBUG)
83libMolecuilderFragmentationOperations_la_SOURCES = $(FRAGMENTATIONOPERATIONSSOURCE)
84
85FRAGMENTATIONAUTOMATIONHELPERSOURCE = \
86 atexit.cpp \
87 GlobalJobId.cpp \
88 Listener.cpp \
89 WorkerAddress.cpp
90
91FRAGMENTATIONAUTOMATIONHELPERHEADER = \
92 atexit.hpp \
93 GlobalJobId.hpp \
94 Listener.hpp \
95 WorkerAddress.hpp
96
97noinst_LTLIBRARIES += libMolecuilderFragmentationAutomationHelper.la
98libMolecuilderFragmentationAutomationHelper_la_includedir = $(includedir)/MoleCuilder/Fragmentation/Automation/
99nobase_libMolecuilderFragmentationAutomationHelper_la_include_HEADERS = $(FRAGMENTATIONAUTOMATIONHELPERHEADER)
100libMolecuilderFragmentationAutomationHelper_la_CXXFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS}
101libMolecuilderFragmentationAutomationHelper_la_SOURCES = $(FRAGMENTATIONAUTOMATIONHELPERSOURCE)
102
103include unittests/Makefile.am
104
105AM_LDFLAGS = -ldl ${BOOST_LDFLAGS}
106AM_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS}
107
108bin_PROGRAMS += Controller PoolWorker Server
109
110CONTROLLERSOURCE = \
111 FragmentController.cpp \
112 Operations/OperationRegistry.cpp
113
114CONTROLLERHEADER = \
115 Connection.hpp \
116 FragmentController.hpp \
117 Operations/OperationRegistry.hpp
118
119POOLWORKERSOURCE = \
120 Pool/PoolWorker.cpp
121
122POOLWORKERHEADER = \
123 Connection.hpp \
124 Pool/PoolWorker.hpp
125
126SERVERSOURCE = \
127 FragmentScheduler.cpp \
128 Pool/WorkerPool.cpp
129
130SERVERHEADER = \
131 Connection.hpp \
132 ControllerChoices.hpp \
133 FragmentScheduler.hpp \
134 Pool/WorkerPool.hpp
135
136Controller_SOURCES = $(CONTROLLERSOURCE) $(CONTROLLERHEADER) controller.cpp
137Controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
138Controller_CXXFLAGS = $(AM_CPPFLAGS)
139Controller_LDADD = \
140 libMolecuilderFragmentationAutomationHelper.la \
141 libMolecuilderFragmentationOperations.la \
142 libMolecuilderFragmentJobs.la \
143 $(top_builddir)/src/libMolecuilderFragmentation.la \
144 $(top_builddir)/src/libMolecuilderHelpers.la \
145 $(BOOST_ASIO_LIBS) \
146 $(BOOST_SERIALIZATION_LIBS) \
147 $(BOOST_THREAD_LIBS) \
148 $(BOOST_SYSTEM_LIBS) \
149 ${CodePatterns_LIBS}
150
151PoolWorker_SOURCES = $(POOLWORKERSOURCE) $(POOLWORKERHEADER) poolworker.cpp
152PoolWorker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
153PoolWorker_CXXFLAGS = $(AM_CPPFLAGS) $(BOOST_ASIO_DEBUG)
154PoolWorker_LDADD = \
155 libMolecuilderFragmentationAutomationHelper.la \
156 libMolecuilderFragmentationOperations.la \
157 libMolecuilderFragmentJobs.la \
158 $(BOOST_ASIO_LIBS) \
159 $(BOOST_SERIALIZATION_LIBS) \
160 $(BOOST_THREAD_LIBS) \
161 $(BOOST_SYSTEM_LIBS) \
162 ${CodePatterns_LIBS}
163
164Server_SOURCES = $(SERVERSOURCE) $(SERVERHEADER) Server.cpp
165Server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
166Server_CXXFLAGS = $(AM_CPPFLAGS)
167Server_LDADD = \
168 libMolecuilderFragmentationAutomationHelper.la \
169 libMolecuilderFragmentationOperations.la \
170 libMolecuilderFragmentJobs.la \
171 $(BOOST_ASIO_LIBS) \
172 $(BOOST_SERIALIZATION_LIBS) \
173 $(BOOST_THREAD_LIBS) \
174 $(BOOST_SYSTEM_LIBS) \
175 ${CodePatterns_LIBS}
176
Note: See TracBrowser for help on using the repository browser.