source: src/Fragmentation/Automation/Makefile.am@ d920b9

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 d920b9 was d920b9, checked in by Frederik Heber <heber@…>, 13 years ago

Abstracted FragmentJob and introduced SystemCommandJob which has its former functionality.

  • FragmentJob now has just virtual function Work(), not implemented.
  • former command and outputfile is taken over by SystemCommandJob.
  • a FragmentJob or derived class is default cstor'ed always with JobId::IllegalJob.
  • so far SystemCommandJob captures command's stdout and parses it back from file. We use mkstemps() for creating a random file and popen() to pipe stdout directly. For this we require boost::iostreams and ::filesystem.
  • SystemCommandJob has virtual method extractString() to be adaptable to the output of various system commands.
  • changes almost everywhere due to SystemCommandJob taking place of FragmentJob and FragmentJob::ptr and FragmentResult::ptr requirements.
  • added FragmentWorker::dummyInit() to enforce binding of the executable to all possible derived FragmentJob's.
  • added unit test for SystemCommandJob.
  • added FragmentJobStub that implements a no-brainer job for testing.
  • NOTE: boost::iostreams is incompatible with MemDebug due to placement new.
  • Property mode set to 100644
File size: 3.9 KB
Line 
1# PLEASE adhere to the alphabetical ordering in this Makefile!
2# Also indentation by a single tab
3
4MOSTLYCLEANFILES =
5bin_PROGRAMS =
6TESTS =
7check_PROGRAMS =
8noinst_PROGRAMS =
9noinst_LTLIBRARIES =
10
11# PLEASE adhere to the alphabetical ordering in this Makefile!
12# Also indentation by a single tab
13
14FRAGMENTJOBSSOURCE = \
15 FragmentQueue.cpp \
16 JobId.cpp \
17 Jobs/FragmentJob.cpp \
18 Jobs/SystemCommandJob.cpp \
19 Results/FragmentResult.cpp
20
21FRAGMENTJOBSHEADER = \
22 FragmentQueue.hpp \
23 JobId.hpp \
24 Jobs/FragmentJob.hpp \
25 Jobs/SystemCommandJob.hpp \
26 Results/FragmentResult.hpp
27
28noinst_LTLIBRARIES += libMolecuilderFragmentJobs.la
29libMolecuilderFragmentJobs_la_includedir = $(includedir)/MoleCuilder/Fragmentation/Automation/
30nobase_libMolecuilderFragmentJobs_la_include_HEADERS = $(FRAGMENTJOBSHEADER)
31libMolecuilderFragmentJobs_la_SOURCES = $(FRAGMENTJOBSSOURCE)
32libMolecuilderFragmentJobs_la_LIBADD = \
33 $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_FILESYSTEM_LIBS) \
34 $(BOOST_IOSTREAMS_LDFLAGS) $(BOOST_IOSTREAMS_LIBS)
35
36FRAGMENTATIONAUTOMATIONSOURCE = \
37 atexit.cpp \
38 Controller/CommandRegistry.cpp \
39 Controller/FragmentController.cpp \
40 Controller/Commands/CheckResultsOperation.cpp \
41 Controller/Commands/Operation.cpp \
42 Controller/Commands/ReceiveJobsOperation.cpp \
43 Controller/Commands/SendResultsOperation.cpp \
44 Controller/Commands/ShutdownOperation.cpp
45
46FRAGMENTATIONAUTOMATIONHEADER = \
47 atexit.hpp \
48 Connection.hpp \
49 ControllerChoices.hpp \
50 Controller/CommandRegistry.hpp \
51 Controller/FragmentController.hpp \
52 Controller/Commands/CheckResultsOperation.hpp \
53 Controller/Commands/Operation.hpp \
54 Controller/Commands/ReceiveJobsOperation.hpp \
55 Controller/Commands/SendResultsOperation.hpp \
56 Controller/Commands/ShutdownOperation.hpp
57
58noinst_LTLIBRARIES += libMolecuilderFragmentationAutomation.la
59libMolecuilderFragmentationAutomation_la_includedir = $(includedir)/MoleCuilder/Fragmentation/Automation/
60nobase_libMolecuilderFragmentationAutomation_la_include_HEADERS = $(FRAGMENTATIONAUTOMATIONHEADER)
61libMolecuilderFragmentationAutomation_la_SOURCES = $(FRAGMENTATIONAUTOMATIONSOURCE)
62
63include unittests/Makefile.am
64
65AM_LDFLAGS = -ldl ${BOOST_LDFLAGS}
66AM_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS}
67
68bin_PROGRAMS += Controller Server Worker
69
70CONTROLLERSOURCE =
71
72CONTROLLERHEADER = \
73 FragmentController.hpp
74
75SERVERSOURCE = \
76 FragmentScheduler.cpp
77
78SERVERHEADER = \
79 Connection.hpp \
80 ControllerChoices.hpp \
81 FragmentScheduler.hpp
82
83WORKERSOURCE = \
84 FragmentWorker.cpp \
85 Worker.cpp
86
87WORKERHEADER = \
88 Connection.hpp \
89 FragmentWorker.hpp
90
91Controller_SOURCES = $(CONTROLLERSOURCE) $(CONTROLLERHEADER) controller.cpp
92Controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
93Controller_CXXFLAGS = $(AM_CPPFLAGS)
94Controller_LDADD = \
95 libMolecuilderFragmentationAutomation.la \
96 libMolecuilderFragmentJobs.la \
97 $(BOOST_ASIO_LIBS) \
98 $(BOOST_SERIALIZATION_LIBS) \
99 $(BOOST_THREAD_LIBS) \
100 $(BOOST_SYSTEM_LIBS) \
101 ${CodePatterns_LIBS}
102
103Server_SOURCES = $(SERVERSOURCE) $(SERVERHEADER) Server.cpp
104Server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
105Server_CXXFLAGS = $(AM_CPPFLAGS)
106Server_LDADD = \
107 libMolecuilderFragmentationAutomation.la \
108 libMolecuilderFragmentJobs.la \
109 $(BOOST_ASIO_LIBS) \
110 $(BOOST_SERIALIZATION_LIBS) \
111 $(BOOST_THREAD_LIBS) \
112 $(BOOST_SYSTEM_LIBS) \
113 ${CodePatterns_LIBS}
114
115Worker_SOURCES = $(WORKERSOURCE) $(WORKERHEADER)
116Worker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_ASIO_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS)
117Worker_CXXFLAGS = $(AM_CPPFLAGS)
118Worker_LDADD = \
119 libMolecuilderFragmentationAutomation.la \
120 libMolecuilderFragmentJobs.la \
121 $(BOOST_ASIO_LIBS) \
122 $(BOOST_SERIALIZATION_LIBS) \
123 $(BOOST_THREAD_LIBS) \
124 $(BOOST_SYSTEM_LIBS) \
125 ${CodePatterns_LIBS}
126
Note: See TracBrowser for help on using the repository browser.