1include $(top_srcdir)/build/top.mk
2## $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/modules/Makefile.am,v 1.73 2017/10/02 12:44:05 masarati Exp $
3## Process this file with automake to produce Makefile.in
4## Do not forget to run automake ( --add-missing ) when you modify Makefile.am
5
6export LTCXXCOMPILE = @LIBTOOL@ --tag=CXX --mode=compile @CXX@ @DEFS@ \
7	-I. -I@srcdir@ \
8	-I../../include \
9	-I../$(top_srcdir)/include \
10	-I../$(top_srcdir)/libraries/libmbutil \
11	-I../$(top_srcdir)/libraries/libmbmath \
12	-I../$(top_srcdir)/libraries/libmbwrap \
13	-I../$(top_srcdir)/libraries/libobjs \
14	-I../$(top_srcdir)/mbdyn \
15	-I../$(top_srcdir)/mbdyn/base \
16	-I../$(top_srcdir)/mbdyn/struct \
17	-I../$(top_srcdir)/mbdyn/aero \
18	-I../$(top_srcdir)/mbdyn/elec \
19	-I../$(top_srcdir)/mbdyn/hydr \
20	-prefer-pic \
21	$(AM_CPPFLAGS) @CPPFLAGS@ $(AM_CXXFLAGS) @CXXFLAGS@
22CXXLD = @CXX@
23export CXXLINK = @LIBTOOL@ --mode=link $(CXXLD) $(AM_CXXFLAGS) \
24	@CXXFLAGS@ @LDFLAGS@ -shared @FCLIBS@
25export LTCOMPILE = @LIBTOOL@ --mode=compile @CC@ @DEFS@ \
26	-I. -I@srcdir@ \
27	-I../../include \
28	-I../$(top_srcdir)/include \
29	-I../$(top_srcdir)/libraries/libmbutil \
30	-I../$(top_srcdir)/libraries/libmbmath \
31	-I../$(top_srcdir)/libraries/libmbwrap \
32	-I../$(top_srcdir)/libraries/libobjs \
33	-I../$(top_srcdir)/mbdyn \
34	-I../$(top_srcdir)/mbdyn/base \
35	-I../$(top_srcdir)/mbdyn/struct \
36	-I../$(top_srcdir)/mbdyn/aero \
37	-I../$(top_srcdir)/mbdyn/elec \
38	-I../$(top_srcdir)/mbdyn/hydr \
39	-prefer-pic \
40	$(AM_CPPFLAGS) @CPPFLAGS@ $(AM_CFLAGS) @CFLAGS@
41export LTF77COMPILE = @LIBTOOL@ --tag=F77 --mode=compile @F77@ $(AM_FFLAGS) @FFLAGS@ \
42	-prefer-pic
43export LTFCCOMPILE = @LIBTOOL@ --tag=FC --mode=compile @FC@ $(AM_FFLAGS) @FFLAGS@ \
44	-prefer-pic
45export LIBTOOL = @LIBTOOL@
46export MODULES_DIRS=@MODULES_DIRS@
47export INSTALL_PROGRAM=${INSTALL}
48export LIBEXEC_DIR=$(libexecdir)
49
50.PHONY: all all__ clean distclean
51
52# Note: this hack is required because macro "LIBTOOL" may expand
53# to sh ../libtool, so, when we change directory to the modules,
54# the effective libtool is not found.
55
56all: libtool all__
57
58libtool:
59	-@ln -sf ../libtool .
60
61all__:
62	@echo "Configured modules: $(MODULES_DIRS)"
63	-@if test x"$(MODULES_DIRS)" != x ; then \
64		for i in $(MODULES_DIRS) ; do \
65			echo "Playing with $$i ..."; \
66			export MBDYN_MODULE=$$i ; \
67			isrc=$(srcdir)/$$i ; \
68			if test -d $$isrc ; then mkdir -p $$i ; fi ; \
69			for fsrc in $$isrc/*.{c,cc,f,f90,f95} ; do \
70				f=`basename $$fsrc` ; \
71				case $$f in \*.c|\*.cc|\*.f|\*.f90|\*.f95) ;; *) if test ! -f $$i/$$f ; then ( cd $$i && ln -sf ../$$isrc/$$f $$f ) ; fi ; ;; esac ; \
72			done ; \
73			cp $(srcdir)/Makefile.module $$i/Makefile ; \
74			( cd $$i && $(MAKE) MBDYN_MODULE_SRCDIR=../$$isrc ) ; \
75			rm -f $$i/Makefile ; \
76		done \
77	fi
78
79install: all__
80	$(mkinstalldirs) $(libexecdir)
81	-@if test x"$(MODULES_DIRS)" != x ; then \
82		for i in $(MODULES_DIRS) ; do \
83			echo "Installing $$i ..."; \
84			export MBDYN_MODULE=$$i ; \
85			isrc=$(srcdir)/$$i ; \
86			if test -d $$isrc ; then mkdir -p $$i ; fi ; \
87			for fsrc in $$isrc/*.{c,cc,f,f90,f95} ; do \
88				f=`basename $$fsrc` ; \
89				case $$f in \*.c|\*.cc|\*.f|\*.f90|\*.f95) ;; *) if test ! -f $$i/$$f ; then ( cd $$i && ln -sf ../$$isrc/$$f $$f ) ; fi ; ;; esac ; \
90			done ; \
91			cp $(srcdir)/Makefile.module $$i/Makefile ; \
92			( cd $$i && $(MAKE) install ) ; \
93			rm -f $$i/Makefile ; \
94		done \
95	fi
96
97clean clean-so:
98	-@if test x"$(MODULES_DIRS)" != x ; then \
99		for i in $(MODULES_DIRS) ; do \
100			echo "Cleaning $$i ..."; \
101			cp $(srcdir)/Makefile.module $$i/Makefile ; \
102			cd $$i && $(MAKE) $@ ; \
103			cd .. ; \
104			rm -f $$i/Makefile ; \
105		done \
106	fi
107
108distclean:
109	-@if test x"$(MODULES_DIRS)" != x ; then \
110		for i in $(MODULES_DIRS) ; do \
111			echo "Cleaning $$i ..."; \
112			rm -rf $$i/*.so $$i/*.lo $$i/*.o ; \
113		done \
114	fi
115	rm -f Makefile libtool
116
117# Add distributed modules below
118EXTRA_DIST = Makefile.module Makefile.template
119
120EXTRA_DIST += \
121module-aerodyn/NREL_AeroDyn.h \
122module-aerodyn/Makefile.inc \
123module-aerodyn/mbdyn_ad.f90 \
124module-aerodyn/module-aerodyn.cc \
125module-aerodyn/README
126
127EXTRA_DIST += \
128module-asynchronous_machine/asynchronous_machine.mbdyn \
129module-asynchronous_machine/module-asynchronous_machine.cc \
130module-asynchronous_machine/module-asynchronous_machine.h \
131module-asynchronous_machine/doc/Doxyfile \
132module-asynchronous_machine/doc/Makefile
133
134EXTRA_DIST += \
135module-autodiff_test/autodiff_test.f \
136module-autodiff_test/Makefile.inc \
137module-autodiff_test/module-autodiff_test.cc \
138module-autodiff_test/module-autodiff_test.h \
139module-autodiff_test/examples/deformable_joint_ad.cod \
140module-autodiff_test/examples/deformable_joint_ad.elm \
141module-autodiff_test/examples/deformable_joint_ad.inv \
142module-autodiff_test/examples/deformable_joint_ad.nod \
143module-autodiff_test/examples/deformable_joint_ad.ref \
144module-autodiff_test/examples/deformable_joint_ad.set \
145module-autodiff_test/examples/deformable_joint_ad_f77.mbdyn \
146module-autodiff_test/examples/deformable_joint_ad_tmp.mbdyn \
147module-autodiff_test/examples/deformable_joint_ad_trad.mbdyn \
148module-autodiff_test/examples/inline_joint_ad.mbdyn \
149module-autodiff_test/examples/inline_joint_ad_2.mbdyn \
150module-autodiff_test/examples/inline_joint_ad_2_elements.elm \
151module-autodiff_test/examples/inline_joint_ad_2_parameters.set \
152module-autodiff_test/examples/inline_joint_ad_2_tmp.elm \
153module-autodiff_test/examples/inline_joint_ad_2_trad.elm
154
155EXTRA_DIST += \
156module-ballbearing_contact/module-ballbearing_contact.cc \
157module-ballbearing_contact/module-ballbearing_contact.h \
158module-ballbearing_contact/@BallBearingContact/AssJac.m \
159module-ballbearing_contact/@BallBearingContact/AssRes.m \
160module-ballbearing_contact/@BallBearingContact/BallBearingContact.m \
161module-ballbearing_contact/@BallBearingContact/ComputeResidual.m \
162module-ballbearing_contact/@BallBearingContact/DescribeDof.m \
163module-ballbearing_contact/@BallBearingContact/DescribeEq.m \
164module-ballbearing_contact/@BallBearingContact/dGetPrivData.m \
165module-ballbearing_contact/@BallBearingContact/display.m \
166module-ballbearing_contact/@BallBearingContact/GetConnectedNodes.m \
167module-ballbearing_contact/@BallBearingContact/GetDofType.m \
168module-ballbearing_contact/@BallBearingContact/GetEqType.m \
169module-ballbearing_contact/@BallBearingContact/GetStateVector.m \
170module-ballbearing_contact/@BallBearingContact/iGetNumConnectedNodes.m \
171module-ballbearing_contact/@BallBearingContact/iGetNumDof.m \
172module-ballbearing_contact/@BallBearingContact/iGetNumPrivData.m \
173module-ballbearing_contact/@BallBearingContact/iGetPrivDataIdx.m \
174module-ballbearing_contact/@BallBearingContact/SetValue.m \
175module-ballbearing_contact/@BallBearingContact/Update.m \
176module-ballbearing_contact/@BallBearingContact/WorkSpaceDim.m
177
178EXTRA_DIST += \
179module-constlaw/module-constlaw.cc \
180module-constlaw/README
181
182EXTRA_DIST += \
183module-constlaw-f90/Makefile.inc \
184module-constlaw-f90/module-constlaw-f90.cc \
185module-constlaw-f90/README \
186module-constlaw-f90/usrsub.f90 \
187module-constlaw-f90/usrsub.h
188
189EXTRA_DIST += \
190module-constlaw-f95/Makefile.inc \
191module-constlaw-f95/module-constlaw-f95.cc \
192module-constlaw-f95/README \
193module-constlaw-f95/usrsub.f95 \
194module-constlaw-f95/usrsub.h
195
196EXTRA_DIST += \
197module-cont-contact/module-cont-contact.cc \
198module-cont-contact/cont_contact_flap \
199module-cont-contact/freefall
200
201EXTRA_DIST += \
202module-cyclocopter/module-cyclocopter.cc \
203module-cyclocopter/module-cyclocopter.h
204
205EXTRA_DIST += \
206module-damper-graall/damper_graall.f \
207module-damper-graall/Makefile.inc \
208module-damper-graall/module-damper-graall.cc
209
210EXTRA_DIST += \
211module-damper-hydraulic/module-damper-hydraulic.cc
212
213EXTRA_DIST += \
214module-drive/module-drive.cc \
215module-drive/README
216
217EXTRA_DIST += \
218module-eu2phi/module-eu2phi.cc
219
220EXTRA_DIST += \
221module-FMU/FF.mbdyn \
222module-FMU/fmi_zip_unzip.h \
223module-FMU/Makefile.inc \
224module-FMU/mbdynFMI.cc \
225module-FMU/mbdynFMI_config.cc \
226module-FMU/mbdynFMI_config.h \
227module-FMU/mbdynFMI.h \
228module-FMU/module-FMU.cc \
229module-FMU/module-FMU.h \
230module-FMU/README.md
231
232EXTRA_DIST += \
233module-hid/README \
234module-hid/Makefile.inc \
235module-hid/module-hid.cc \
236module-hid/hid_detect.c \
237module-hid/hid.set \
238module-hid/hid_ms_sidewinder.set \
239module-hid/hid_thrustmaster.set \
240module-hid/hid_saitek_x45.set \
241module-hid/hid_aircraft \
242module-hid/hid_test
243
244EXTRA_DIST += \
245module-hydrodynamic_plain_bearing/diffsizes.f95 \
246module-hydrodynamic_plain_bearing/hydrodynamic_plain_bearing_force_dv.f95 \
247module-hydrodynamic_plain_bearing/hydrodynamic_plain_bearing_force.f95 \
248module-hydrodynamic_plain_bearing/hydrodynamic_plain_bearing_force.h \
249module-hydrodynamic_plain_bearing/Makefile.inc \
250module-hydrodynamic_plain_bearing/module-hydrodynamic_plain_bearing.cc \
251module-hydrodynamic_plain_bearing/module-hydrodynamic_plain_bearing.h \
252module-hydrodynamic_plain_bearing/hydrodynamic_plain_bearing.mbdyn
253
254EXTRA_DIST += \
255module-hunt-crossley/module-hunt-crossley.cc \
256module-hunt-crossley/hunt_crossley
257
258EXTRA_DIST += \
259module-imu/module-imu.cc \
260module-imu/imu \
261module-imu/imu_constraint \
262module-imu/imu.tex \
263module-imu/README
264
265EXTRA_DIST += \
266module-inline_friction/module-inline_friction.cc \
267module-inline_friction/module-inline_friction.h \
268module-inline_friction/@InLineFriction/AssJac.m \
269module-inline_friction/@InLineFriction/AssRes.m \
270module-inline_friction/@InLineFriction/ComputeDeltaXP.m \
271module-inline_friction/@InLineFriction/ComputeInitialResidual.m \
272module-inline_friction/@InLineFriction/ComputeResidual.m \
273module-inline_friction/@InLineFriction/ComputeTau.m \
274module-inline_friction/@InLineFriction/DescribeDof.m \
275module-inline_friction/@InLineFriction/DescribeEq.m \
276module-inline_friction/@InLineFriction/dGetPrivData.m \
277module-inline_friction/@InLineFriction/display.m \
278module-inline_friction/@InLineFriction/GetConnectedNodes.m \
279module-inline_friction/@InLineFriction/GetDofType.m \
280module-inline_friction/@InLineFriction/GetEqType.m \
281module-inline_friction/@InLineFriction/GetInitialStateVector.m \
282module-inline_friction/@InLineFriction/GetStateVector.m \
283module-inline_friction/@InLineFriction/iGetInitialNumDof.m \
284module-inline_friction/@InLineFriction/iGetNumConnectedNodes.m \
285module-inline_friction/@InLineFriction/iGetNumDof.m \
286module-inline_friction/@InLineFriction/iGetNumPrivData.m \
287module-inline_friction/@InLineFriction/iGetPrivDataIdx.m \
288module-inline_friction/@InLineFriction/InitialAssJac.m \
289module-inline_friction/@InLineFriction/InitialAssRes.m \
290module-inline_friction/@InLineFriction/InitialWorkSpaceDim.m \
291module-inline_friction/@InLineFriction/InLineFriction.m \
292module-inline_friction/@InLineFriction/SetInitialValue.m \
293module-inline_friction/@InLineFriction/SetValue.m \
294module-inline_friction/@InLineFriction/Update.m \
295module-inline_friction/@InLineFriction/WorkSpaceDim.m \
296module-inline_friction/examples/inline_friction2_bench.elm \
297module-inline_friction/examples/inline_friction2.elm \
298module-inline_friction/examples/inline_friction2.mbdyn \
299module-inline_friction/examples/inline_friction2.nod \
300module-inline_friction/examples/inline_friction3.mbdyn \
301module-inline_friction/examples/inline_friction.mbdyn
302
303EXTRA_DIST += \
304module-inplane_friction/@InPlaneFriction/AssJac.m \
305module-inplane_friction/@InPlaneFriction/AssRes.m \
306module-inplane_friction/@InPlaneFriction/ComputeInitialResidual.m \
307module-inplane_friction/@InPlaneFriction/ComputeResidual.m \
308module-inplane_friction/@InPlaneFriction/DescribeDof.m \
309module-inplane_friction/@InPlaneFriction/DescribeEq.m \
310module-inplane_friction/@InPlaneFriction/dGetPrivData.m \
311module-inplane_friction/@InPlaneFriction/display.m \
312module-inplane_friction/@InPlaneFriction/GetConnectedNodes.m \
313module-inplane_friction/@InPlaneFriction/GetDofType.m \
314module-inplane_friction/@InPlaneFriction/GetEqType.m \
315module-inplane_friction/@InPlaneFriction/GetInitialStateVector.m \
316module-inplane_friction/@InPlaneFriction/GetStateVector.m \
317module-inplane_friction/@InPlaneFriction/iGetInitialNumDof.m \
318module-inplane_friction/@InPlaneFriction/iGetNumConnectedNodes.m \
319module-inplane_friction/@InPlaneFriction/iGetNumDof.m \
320module-inplane_friction/@InPlaneFriction/iGetNumPrivData.m \
321module-inplane_friction/@InPlaneFriction/iGetPrivDataIdx.m \
322module-inplane_friction/@InPlaneFriction/InitialAssJac.m \
323module-inplane_friction/@InPlaneFriction/InitialAssRes.m \
324module-inplane_friction/@InPlaneFriction/InitialWorkSpaceDim.m \
325module-inplane_friction/@InPlaneFriction/InPlaneFriction.m \
326module-inplane_friction/@InPlaneFriction/SetInitialValue.m \
327module-inplane_friction/@InPlaneFriction/SetValue.m \
328module-inplane_friction/@InPlaneFriction/Update.m \
329module-inplane_friction/@InPlaneFriction/WorkSpaceDim.m \
330module-inplane_friction/examples/inplane_friction2.mbdyn \
331module-inplane_friction/examples/inplane_friction.mbdyn
332
333EXTRA_DIST += \
334module-journal_bearing/module-journal_bearing.cc \
335module-journal_bearing/module-journal_bearing.h \
336module-journal_bearing/examples/journal_bearing1.mbdyn \
337module-journal_bearing/examples/journal_bearing2.mbdyn
338
339EXTRA_DIST += \
340module-loadinc/module-loadinc.cc
341
342EXTRA_DIST += \
343module-mds/mds \
344module-mds/module-mds.cc
345
346EXTRA_DIST += \
347module-minmaxdrive/minmax.mbdyn \
348module-minmaxdrive/module-minmaxdrive.cc \
349module-minmaxdrive/module-minmaxdrive.h
350
351EXTRA_DIST += \
352module-multi_step_drive/module-multi_step_drive.cc \
353module-multi_step_drive/module-multi_step_drive.h \
354module-multi_step_drive/multi_step.mbdyn
355
356EXTRA_DIST += \
357module-muscles/muscle_test \
358module-muscles/module-muscles.cc
359
360EXTRA_DIST += \
361module-namespace/module-namespace.cc \
362module-namespace/tns
363
364EXTRA_DIST += \
365module-nodedistdrive/module-nodedistdrive.cc \
366module-nodedistdrive/module-nodedistdrive.h
367
368EXTRA_DIST += \
369module-nonsmooth-node/Makefile.inc \
370module-nonsmooth-node/mbdyn_siconos.cc \
371module-nonsmooth-node/mbdyn_siconos.h \
372module-nonsmooth-node/module-nonsmooth-node.cc
373
374EXTRA_DIST += \
375module-octave/Makefile.inc \
376module-octave/module-octave.cc \
377module-octave/module-octave.h \
378module-octave/octave_object.cc \
379module-octave/octave_object.h \
380module-octave/README \
381module-octave/demo/my_func2.m \
382module-octave/demo/my_func2.m \
383module-octave/demo/my_func3.m \
384module-octave/demo/my_func4.m \
385module-octave/demo/my_func5.m \
386module-octave/demo/my_func.m \
387module-octave/demo/my_tpl_drive1D.m \
388module-octave/demo/my_tpl_drive3x3D.m \
389module-octave/demo/octave_const_law.mbdyn \
390module-octave/demo/octave_drive_caller.mbdyn \
391module-octave/demo/octave_element.mbdyn \
392module-octave/demo/@MyConstLaw1/GetConstLawType.m \
393module-octave/demo/@MyConstLaw1/MyConstLaw1.m \
394module-octave/demo/@MyConstLaw1/Update.m \
395module-octave/demo/@MyElem1/AfterConvergence.m \
396module-octave/demo/@MyElem1/AssJac.m \
397module-octave/demo/@MyElem1/AssRes.m \
398module-octave/demo/@MyElem1/DescribeDof.m \
399module-octave/demo/@MyElem1/DescribeEq.m \
400module-octave/demo/@MyElem1/dGetPrivData.m \
401module-octave/demo/@MyElem1/display.m \
402module-octave/demo/@MyElem1/GetConnectedNodes.m \
403module-octave/demo/@MyElem1/GetDofType.m \
404module-octave/demo/@MyElem1/GetEqType.m \
405module-octave/demo/@MyElem1/iGetInitialNumDof.m \
406module-octave/demo/@MyElem1/iGetNumConnectedNodes.m \
407module-octave/demo/@MyElem1/iGetNumDof.m \
408module-octave/demo/@MyElem1/iGetNumPrivData.m \
409module-octave/demo/@MyElem1/iGetPrivDataIdx.m \
410module-octave/demo/@MyElem1/InitialAssJac.m \
411module-octave/demo/@MyElem1/InitialAssRes.m \
412module-octave/demo/@MyElem1/InitialWorkSpaceDim.m \
413module-octave/demo/@MyElem1/MyElem1.m \
414module-octave/demo/@MyElem1/Output.m \
415module-octave/demo/@MyElem1/SetInitialValue.m \
416module-octave/demo/@MyElem1/SetValue.m \
417module-octave/demo/@MyElem1/Update.m \
418module-octave/demo/@MyElem1/WorkSpaceDim.m
419
420EXTRA_DIST += \
421module-scalarfunc/module-scalarfunc.cc \
422module-scalarfunc/README
423
424EXTRA_DIST += \
425module-switch_drive/module-switch_drive.cc \
426module-switch_drive/module-switch_drive.h \
427module-switch_drive/switch.mbdyn
428
429EXTRA_DIST += \
430module-tclpgin/Makefile.inc \
431module-tclpgin/module-tclpgin.cc
432
433EXTRA_DIST += \
434module-template/module-template.cc
435
436EXTRA_DIST += \
437module-template2/module-template2.cc
438
439EXTRA_DIST += \
440module-udunits/Makefile.inc \
441module-udunits/module-udunits.cc \
442module-udunits/README
443
444EXTRA_DIST += \
445module-uni_in_plane/module-uni_in_plane.cc \
446module-uni_in_plane/module-uni_in_plane.h \
447module-uni_in_plane/uni_in_plane.mbdyn
448
449EXTRA_DIST += \
450module-wheel2/module-wheel2.cc \
451module-wheel2/module-wheel2.h
452
453EXTRA_DIST += \
454module-wheel4/module-wheel4.cc \
455module-wheel4/module-wheel4.h \
456module-wheel4/axleExampleNoData
457
458EXTRA_DIST += \
459module-flightgear/Makefile.inc \
460module-flightgear/module-flightgear.cc \
461module-flightgear/module-flightgear.h \
462module-flightgear/sendToFlightgear.cc \
463module-flightgear/recFromFlightgear.cc
464
465include $(top_srcdir)/build/bot.mk
466