source: src/Makefile.am@ 70f2a1

Action_Thermostats Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_StructOpt_integration_tests AutomationFragmentation_failures Candidate_v1.6.1 ChemicalSpaceEvaluator Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph Fix_Verbose_Codepatterns ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion Gui_displays_atomic_force_velocity JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool PythonUI_with_named_parameters Recreated_GuiChecks StoppableMakroAction TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps
Last change on this file since 70f2a1 was d8c6c7, checked in by Frederik Heber <frederik.heber@…>, 8 years ago

Added GeometryObject and GeometryRegistry.

  • Property mode set to 100644
File size: 15.6 KB
Line 
1# PLEASE adhere to the alphabetical ordering in this Makefile!
2# Also indentation by a single tab
3
4MOSTLYCLEANFILES =
5lib_LTLIBRARIES =
6noinst_LTLIBRARIES =
7BUILT_SOURCES =
8bin_PROGRAMS =
9EXTRA_DIST =
10
11# libMolecuilder.la requires the libraries listed below
12
13include Geometry/Makefile.am
14include Helpers/Makefile.am
15include Shapes/Makefile.am
16include Tesselation/Makefile.am
17
18# then comes the library itself
19
20AM_LDFLAGS = -ldl ${BOOST_LDFLAGS} ${CodePatterns_LDFLAGS} ${JobMarket_LDFLAGS}
21AM_CPPFLAGS = \
22 -I$(top_srcdir)/src/unittests \
23 -I$(top_srcdir)/src/Actions \
24 -I$(top_srcdir)/src/UIElements \
25 -I$(top_srcdir)/ThirdParty/LinearAlgebra/src \
26 ${BOOST_CPPFLAGS} \
27 ${CodePatterns_CFLAGS}
28
29
30BONDSOURCE = \
31 Bond/bond.cpp \
32 Bond/bond_observable.cpp \
33 Bond/BondInfo.cpp \
34 Bond/GraphEdge.cpp
35
36BONDHEADER = \
37 Bond/bond.hpp \
38 Bond/bond_observable.hpp \
39 Bond/BondInfo.hpp \
40 Bond/GraphEdge.hpp
41
42DESCRIPTORSOURCE = \
43 Descriptors/AtomDescriptor.cpp \
44 Descriptors/AtomIdDescriptor.cpp \
45 Descriptors/AtomNameDescriptor.cpp \
46 Descriptors/AtomOfMoleculeDescriptor.cpp \
47 Descriptors/AtomOfMoleculeSelectionDescriptor.cpp \
48 Descriptors/AtomOrderDescriptor.cpp \
49 Descriptors/AtomSelectionDescriptor.cpp \
50 Descriptors/AtomShapeDescriptor.cpp \
51 Descriptors/AtomTypeDescriptor.cpp \
52 Descriptors/AtomsWithinDistanceOfDescriptor.cpp \
53 Descriptors/MoleculeDescriptor.cpp \
54 Descriptors/MoleculeFormulaDescriptor.cpp \
55 Descriptors/MoleculeIdDescriptor.cpp \
56 Descriptors/MoleculeNameDescriptor.cpp \
57 Descriptors/MoleculeOfAtomSelectionDescriptor.cpp \
58 Descriptors/MoleculeOrderDescriptor.cpp \
59 Descriptors/MoleculePtrDescriptor.cpp \
60 Descriptors/MoleculeSelectionDescriptor.cpp
61
62
63DESCRIPTORHEADER = \
64 Descriptors/AtomDescriptor.hpp \
65 Descriptors/AtomIdDescriptor.hpp \
66 Descriptors/AtomNameDescriptor.hpp \
67 Descriptors/AtomOfMoleculeDescriptor.hpp \
68 Descriptors/AtomOfMoleculeSelectionDescriptor.hpp \
69 Descriptors/AtomOrderDescriptor.hpp \
70 Descriptors/AtomSelectionDescriptor.hpp \
71 Descriptors/AtomShapeDescriptor.hpp \
72 Descriptors/AtomTypeDescriptor.hpp \
73 Descriptors/AtomsWithinDistanceOfDescriptor.hpp \
74 Descriptors/DescriptorBase.hpp \
75 Descriptors/MoleculeDescriptor.hpp \
76 Descriptors/MoleculeFormulaDescriptor.hpp \
77 Descriptors/MoleculeIdDescriptor.hpp \
78 Descriptors/MoleculeNameDescriptor.hpp \
79 Descriptors/MoleculeOfAtomSelectionDescriptor.hpp \
80 Descriptors/MoleculeOrderDescriptor.hpp \
81 Descriptors/MoleculePtrDescriptor.hpp \
82 Descriptors/MoleculeSelectionDescriptor.hpp \
83 Descriptors/SelectiveConstIterator.hpp \
84 Descriptors/SelectiveIterator.hpp
85
86DESCRIPTORIMPLHEADER = \
87 Descriptors/AtomDescriptor_impl.hpp \
88 Descriptors/AtomIdDescriptor_impl.hpp \
89 Descriptors/AtomNameDescriptor_impl.hpp \
90 Descriptors/AtomOfMoleculeDescriptor_impl.hpp \
91 Descriptors/AtomOfMoleculeSelectionDescriptor_impl.hpp \
92 Descriptors/AtomOrderDescriptor_impl.hpp \
93 Descriptors/AtomSelectionDescriptor_impl.hpp \
94 Descriptors/AtomShapeDescriptor_impl.hpp \
95 Descriptors/AtomTypeDescriptor_impl.hpp \
96 Descriptors/AtomsWithinDistanceOfDescriptor_impl.hpp \
97 Descriptors/DescriptorBase_impl.hpp \
98 Descriptors/MoleculeDescriptor_impl.hpp \
99 Descriptors/MoleculeFormulaDescriptor_impl.hpp \
100 Descriptors/MoleculeIdDescriptor_impl.hpp \
101 Descriptors/MoleculeNameDescriptor_impl.hpp \
102 Descriptors/MoleculeOfAtomSelectionDescriptor_impl.hpp \
103 Descriptors/MoleculeOrderDescriptor_impl.hpp \
104 Descriptors/MoleculePtrDescriptor_impl.hpp \
105 Descriptors/MoleculeSelectionDescriptor_impl.hpp \
106 Descriptors/SelectiveConstIterator_impl.hpp \
107 Descriptors/SelectiveIterator_impl.hpp
108
109DYNAMICSSOURCE = \
110 Dynamics/MinimiseConstrainedPotential.cpp
111
112DYNAMICSHEADER = \
113 Dynamics/AtomicForceManipulator.hpp \
114 Dynamics/ForceAnnealing.hpp \
115 Dynamics/LinearInterpolationBetweenSteps.hpp \
116 Dynamics/MinimiseConstrainedPotential.hpp \
117 Dynamics/OutputTemperature.hpp \
118 Dynamics/VerletForceIntegration.hpp
119
120THERMOSTATSOURCE = \
121 Thermostats/Berendsen.cpp \
122 Thermostats/GaussianThermostat.cpp \
123 Thermostats/Langevin.cpp \
124 Thermostats/NoseHoover.cpp \
125 Thermostats/NoThermostat.cpp \
126 Thermostats/Thermostat.cpp \
127 Thermostats/ThermoStatContainer.cpp \
128 Thermostats/Woodcock.cpp
129
130THERMOSTATHEADER = \
131 Thermostats/Berendsen.hpp \
132 Thermostats/GaussianThermostat.hpp \
133 Thermostats/Langevin.hpp \
134 Thermostats/NoseHoover.hpp \
135 Thermostats/NoThermostat.hpp \
136 Thermostats/Thermostat.hpp \
137 Thermostats/ThermoStatContainer.hpp \
138 Thermostats/Woodcock.hpp
139
140MOLECUILDERSOURCE = \
141 ${BONDSOURCE} \
142 ${DESCRIPTORSOURCE} \
143 ${DYNAMICSSOURCE} \
144 ${THERMOSTATSOURCE} \
145 Shapes/ShapeFactory.cpp \
146 AtomIdSet.cpp \
147 Box.cpp \
148 Box_BoundaryConditions.cpp \
149 config.cpp \
150 Formula.cpp \
151 MoleculeLeafClass.cpp \
152 MoleculeObserver.cpp \
153 molecule.cpp \
154 molecule_geometry.cpp \
155 molecule_graph.cpp \
156 UIElements/UIFactory.cpp \
157 version.c \
158 World.cpp \
159 WorldTime.cpp
160
161MOLECUILDERHEADER = \
162 ${BONDHEADER} \
163 ${DESCRIPTORHEADER} \
164 ${DESCRIPTORIMPLHEADER} \
165 ${DYNAMICSHEADER} \
166 ${THERMOSTATHEADER} \
167 Shapes/ShapeFactory.hpp \
168 AtomIdSet.hpp \
169 Box.hpp \
170 Box_BoundaryConditions.hpp \
171 config.hpp \
172 EntityObserver.hpp \
173 EntityObserver_impl.hpp \
174 Formula.hpp \
175 IdPool.hpp \
176 IdPool_impl.hpp \
177 IdPool_policy.hpp \
178 MoleculeLeafClass.hpp \
179 MoleculeObserver.hpp \
180 molecule.hpp \
181 types.hpp \
182 ThreadGuard.hpp \
183 UIElements/UIFactory.hpp \
184 version.h \
185 World.hpp \
186 World_calculations.hpp \
187 WorldTime.hpp
188
189lib_LTLIBRARIES += libMolecuilder.la
190libMolecuilder_la_includedir = $(includedir)/MoleCuilder/
191libMolecuilder_la_LDFLAGS = \
192 $(AM_LDFLAGS) \
193 $(BOOST_SYSTEM_LDFLAGS) \
194 $(BOOST_THREAD_LDFLAGS)
195libMolecuilder_la_LIBADD = \
196 libMolecuilderTesselation.la \
197 libMolecuilderShapes.la \
198 libMolecuilderHelpers.la \
199 $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
200 ${CodePatterns_LIBS} \
201 $(BOOST_SERIALIZATION_LIBS) \
202 $(BOOST_PROGRAM_OPTIONS_LIBS) \
203 $(BOOST_FILESYSTEM_LIBS) \
204 $(BOOST_SYSTEM_LIBS) \
205 $(BOOST_THREAD_LIBS)
206
207nobase_libMolecuilder_la_include_HEADERS = ${MOLECUILDERHEADER}
208
209## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
210## target. Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
211## will therefore be treated as if it were literally part of the target name,
212## and the variable name derived from that.
213## The file extension .cc is recognized by Automake, and makes it produce
214## rules which invoke the C++ compiler to produce a libtool object file (.lo)
215## from each source file. Note that it is not necessary to list header files
216## which are already listed elsewhere in a _HEADERS variable assignment.
217libMolecuilder_la_SOURCES = ${MOLECUILDERSOURCE}
218
219## Instruct libtool to include ABI version information in the generated shared
220## library file (.so). The library ABI version is defined in configure.ac, so
221## that all version information is kept in one place.
222libMolecuilder_la_LDFLAGS += -version-info $(MOLECUILDER_SO_VERSION)
223
224## The generated configuration header is installed in its own subdirectory of
225## $(libdir). The reason for this is that the configuration information put
226## into this header file describes the target platform the installed library
227## has been built for. Thus the file must not be installed into a location
228## intended for architecture-independent files, as defined by the Filesystem
229## Hierarchy Standard (FHS).
230## The nodist_ prefix instructs Automake to not generate rules for including
231## the listed files in the distribution on 'make dist'. Files that are listed
232## in _HEADERS variables are normally included in the distribution, but the
233## configuration header file is generated at configure time and should not be
234## shipped with the source tarball.
235libMolecuilder_la_libincludedir = $(libdir)/MoleCuilder/include
236nodist_libMolecuilder_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
237
238## Install the generated pkg-config file (.pc) into the expected location for
239## architecture-dependent package configuration information. Occasionally,
240## pkg-config files are also used for architecture-independent data packages,
241## in which case the correct install location would be $(datadir)/pkgconfig.
242pkgconfigdir = $(libdir)/pkgconfig
243pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
244
245# then we compile the remainder of all other libraries, especially
246# libMolecuilderUI.la, which requires libMolecuilder.la on install
247
248include Actions/Makefile.am
249include Analysis/Makefile.am
250include Atom/Makefile.am
251include Element/Makefile.am
252include Filling/Makefile.am
253include Fragmentation/Makefile.am
254include Fragmentation/Automation/Makefile.am
255include Fragmentation/Summation/Containers/Makefile.am
256include Fragmentation/Summation/Converter/Makefile.am
257include Fragmentation/Summation/Makefile.am
258include Fragmentation/Summation/SetValues/Makefile.am
259include FunctionApproximation/Makefile.am
260include Graph/Makefile.am
261include Jobs/Makefile.am
262
263if CONDPYTHON
264include Python/Makefile.am
265endif
266
267include LinkedCell/Makefile.am
268include Parameters/Makefile.am
269include Parser/Makefile.am
270include Potentials/Makefile.am
271include RandomNumbers/Makefile.am
272include UIElements/Makefile.am
273
274bin_PROGRAMS += molecuilder
275EXTRA_PROGRAMS = unity
276
277
278extrastuffdir = $(datadir)/@PACKAGE@/data
279databasedir = $(extrastuffdir)/databases
280database_DATA = \
281 ${top_srcdir}/data/databases/*.db
282
283bondtabledir = $(extrastuffdir)/bondtables
284bondtable_DATA = \
285 ${top_srcdir}/data/bondtables/*.dat
286
287moleculedir = $(extrastuffdir)/molecules
288molecule_DATA = \
289 ${top_srcdir}/data/molecules/*.pdb
290
291
292molecuilder_CPPFLAGS = $(AM_CPPFLAGS)
293#molecuilder_CPPFLAGS += -DNO_CACHING
294molecuilder_LDFLAGS = \
295 $(AM_LDFLAGS) \
296 $(BOOST_FILESYSTEM_LDFLAGS) \
297 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
298 $(BOOST_RANDOM_LDFLAGS) \
299 $(BOOST_SYSTEM_LDFLAGS) \
300 $(BOOST_THREAD_LDFLAGS)
301molecuilder_SOURCES = \
302 builder.cpp \
303 builder_init.cpp \
304 builder_init.hpp \
305 Python/PythonScripting.hpp
306molecuilder_LDADD = \
307 libMolecuilder.la \
308 libMolecuilderUI.la
309molecuilder_LDADD += \
310 ${CodePatterns_LIBS} \
311 $(BOOST_THREAD_LIBS) \
312 $(BOOST_PROGRAM_OPTIONS_LIBS) \
313 $(BOOST_RANDOM_LIBS) \
314 $(BOOST_FILESYSTEM_LIBS) \
315 $(BOOST_SYSTEM_LIBS)
316
317if CONDPYTHON
318molecuilder_SOURCES += \
319 Actions/Action_impl_python.hpp \
320 Actions/GlobalListOfActions.hpp
321molecuilder_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR)
322molecuilder_LDFLAGS += $(BOOST_PYTHON_LDFLAGS)
323molecuilder_LDADD += \
324 $(BOOST_PYTHON_LIBS) \
325 ${CodePatterns_LIBS} \
326 -l$(PYTHON_LIB)
327endif
328
329#Stuff for building the GUI using Qt
330if CONDQTGUI
331bin_PROGRAMS += molecuildergui
332molecuildergui_SOURCES = \
333 builder.cpp \
334 builder_init.cpp \
335 builder_init.hpp \
336 Python/PythonScripting.hpp
337molecuildergui_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_GUI_QT
338molecuildergui_LDFLAGS = \
339 $(AM_LDFLAGS) \
340 $(BOOST_FILESYSTEM_LDFLAGS) \
341 $(BOOST_PROGRAM_OPTIONS_LDFLAGS) \
342 $(BOOST_SYSTEM_LDFLAGS) \
343 $(BOOST_THREAD_LDFLAGS)
344molecuildergui_LDADD = \
345 libMolecuilder.la \
346 libMolecuilderQtUI.la \
347 libMolecuilderUI.la
348molecuildergui_LDADD += \
349 ${CodePatterns_LIBS} \
350 $(BOOST_THREAD_LIBS) \
351 $(BOOST_PROGRAM_OPTIONS_LIBS) \
352 $(BOOST_RANDOM_LIBS) \
353 $(BOOST_FILESYSTEM_LIBS) \
354 $(BOOST_SYSTEM_LIBS) \
355 $(GUI_LIBS)
356
357if CONDPYTHON
358molecuildergui_SOURCES += \
359 Actions/Action_impl_python.hpp \
360 Actions/GlobalListOfActions.hpp
361molecuildergui_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR)
362molecuildergui_LDFLAGS += $(BOOST_PYTHON_LDFLAGS)
363molecuildergui_LDADD += \
364 $(BOOST_PYTHON_LIBS) \
365 ${CodePatterns_LIBS} \
366 -l$(PYTHON_LIB)
367endif
368
369endif
370
371if CONDJOBMARKET
372CONTROLLERSOURCE = \
373 controller_MPQCCommandJob.cpp \
374 ControllerOptions_MPQCCommandJob.cpp
375
376CONTROLLERHEADER = \
377 controller_MPQCCommandJob.hpp \
378 ControllerOptions_MPQCCommandJob.hpp
379
380
381noinst_LTLIBRARIES += libFragmentationAutomationController.la
382libFragmentationAutomationController_la_includedir = $(includedir)/MoleCuilder/JobMarket
383nobase_libFragmentationAutomationController_la_include_HEADERS = $(CONTROLLERHEADER)
384libFragmentationAutomationController_la_SOURCES = $(CONTROLLERSOURCE)
385 libFragmentationAutomationController_la_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
386libFragmentationAutomationController_la_LIBADD = \
387 ${JobMarket_Controller_LIBS} \
388 $(JobMarket_LIBS)
389
390bin_PROGRAMS += molecuilder_controller molecuilder_poolworker molecuilder_server
391
392molecuilder_controller_SOURCES = controller.cpp controller_AddOn_MPQCCommandJob.cpp
393molecuilder_controller_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
394molecuilder_controller_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
395molecuilder_controller_LDADD = \
396 libFragmentationAutomationController.la \
397 libMolecuilderFragmentation_getFromKeysetStub.la \
398 libMolecuilderFragmentation.la \
399 libMolecuilderJobs.la \
400 libMolecuilderJobs_Work.la \
401 libMolecuilderFragmentationSummation.la \
402 libMolecuilderFragmentation_KeysetsContainer.la \
403 libMolecuilderHelpers.la \
404 $(JobMarket_Controller_LIBS) \
405 $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
406 $(BOOST_SERIALIZATION_LIBS) \
407 $(BOOST_PROGRAM_OPTIONS_LIBS) \
408 ${CodePatterns_LIBS}
409
410molecuilder_poolworker_SOURCES = poolworker.cpp
411molecuilder_poolworker_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
412molecuilder_poolworker_CPPFLAGS = \
413 $(AM_CPPFLAGS) $(JobMarket_CFLAGS) \
414 -I$(top_builddir)/ThirdParty/mpqc_open/src/lib \
415 -I$(top_srcdir)/ThirdParty/mpqc_open/src/lib \
416 -I$(top_srcdir)/ThirdParty/mpqc_open/src/bin/mpqc
417
418molecuilder_poolworker_LDADD = \
419 libMolecuilderJobs.la \
420 libMolecuilderJobs_Work.la \
421 libMolecuilderFragmentationSummation.la \
422 ${JobMarket_PoolWorker_LIBS} \
423 $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
424 $(BOOST_SERIALIZATION_LIBS) \
425 $(BOOST_PROGRAM_OPTIONS_LIBS) \
426 ${CodePatterns_LIBS}
427
428molecuilder_server_SOURCES = Server.cpp
429molecuilder_server_LDFLAGS = $(AM_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS)
430molecuilder_server_CPPFLAGS = $(AM_CPPFLAGS) $(JobMarket_CFLAGS)
431molecuilder_server_LDADD = \
432 libMolecuilderJobs.la \
433 libMolecuilderJobs_Work.la \
434 libMolecuilderFragmentationSummation.la \
435 ${JobMarket_Server_LIBS} \
436 $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
437 $(BOOST_SERIALIZATION_LIBS) \
438 $(BOOST_PROGRAM_OPTIONS_LIBS) \
439 ${CodePatterns_LIBS}
440endif
441
442unity_SOURCES = unity.cpp
443unity_CPPFLAGS = $(AM_CPPFLAGS)
444unity_LDFLAGS = $(AM_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_RANDOM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) $(BOOST_THREAD_LDFLAGS)
445unity_LDADD = \
446 ${CodePatterns_LIBS} \
447 $(BOOST_THREAD_LIBS) \
448 $(BOOST_PROGRAM_OPTIONS_LIBS) \
449 $(BOOST_RANDOM_LIBS) \
450 $(BOOST_FILESYSTEM_LIBS) \
451 $(BOOST_SYSTEM_LIBS)
452
453
454FORCE:
455$(srcdir)/.git-version: FORCE
456 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \
457 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \
458 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \
459 mv -f .git-version-t $(srcdir)/.git-version; \
460 else \
461 rm -f .git-version-t; \
462 fi
463
464EXTRA_DIST += \
465 $(srcdir)/.git-version \
466 $(bondtable_DATA) \
467 $(database_DATA) \
468 $(molecule_DATA)
469
470$(srcdir)/version.c: $(srcdir)/.git-version
471 echo "const char *MOLECUILDERVERSION = \"$(PACKAGE_NAME) version "`cat $(srcdir)/.git-version`"\";" > $@
472
473
474unity.cpp: ${MOLECUILDERSOURCE} ${MOLECUILDERHEADER}
475 list='$(MOLECUILDERSOURCE)'; for file in $$list; do \
476 echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \
477 done; \
478 subdirs='$(SUBDIRS)';for directory in $$subdirs; do\
479 olddir=$$PWD;\
480 cd $$directory && make unity.cpp;\
481 cd $$olddir;\
482 echo "#include \"$$directory/unity.cpp\"" >> unity.cpp;\
483 done;\
484 echo "#include \"$(srcdir)/builder.cpp\"" >> unity.cpp;
485 echo "#include \"$(srcdir)/version.c\"" >> unity.cpp;
486
487MOSTLYCLEANFILES += unity.cpp
488
Note: See TracBrowser for help on using the repository browser.