root/trunk/libffado/src/Makefile.am

Revision 554, 9.1 kB (checked in by ppalmers, 17 years ago)

Merge echoaudio branch into trunk.

This adds support for the Echo Audiofire devices to FFADO. Possibly also other devices working with the Apple Class Driver will work with this code. It is not fully complete yet, but the main rework is
done.

First of all the IAvDevice class/interface is renamed to FFADODevice, in order to separate the AV/C code from the FFADO API code. A device supported by FFADO implements a FFADODevice.

The BeBoB device has been split up into three groups:
- libavc/* : all code and commands that are specified by AV/C specs. Note that a lot of the code that used to be in BeBoB::AvDevice? now resides in AVC::Unit
- genericavc/* : a FFADODevice that uses AV/C descriptors & commands for discovery and config
- bebob/* : the bebob FFADODevice that inherits from GenericAVC::AvDevice? but that uses BridgeCo? commands for discovery

Everything has been moved as high as possible in the class hierarchy. If necessary, a subclass that uses device specific commands is introduced (e.g. BeBoB::Plug inherits from AVC::Plug and uses the
BridgeCo? extended plug info command to discover it's properties).

There are some other fixes along the way that have been done too.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 # Makefile.am
2 #
3 # Copyright (C) 2005-2007 by Daniel Wagner.
4 # Copyright (C) 2005-2007 by Pieter Palmers.
5 #
6 # This file is part of FFADO.
7 # FFADO = Free Firewire (pro-)audio drivers for linux
8 #
9 # FFADO is based upon FreeBoB.
10 #
11 # FFADO is free software.
12 #
13 # you can redistribute and/or modify the library code
14 # under the terms of the GNU Lesser General Public License
15 # version 2.1, as published by the Free Software Foundation
16 #
17 # you can redistribute and/or modify the applications
18 # under the terms of the GNU General Public License
19 # version 2, as published by the Free Software Foundation
20 #
21 # FFADO is distributed in the hope that it will be useful,
22 # but WITHOUT ANY WARRANTY; without even the implied warranty of
23 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 # GNU (Lesser) General Public License for more details.
25 #
26 # You should have received a copy of the GNU (Lesser) General Public License
27 # along with FFADO; if not, write to the Free Software
28 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29
30 INCLUDES =                                              \
31         $(LIBRAW1394_CFLAGS) $(LIBIEC61883_CFLAGS)      \
32         $(LIBAVC1394_CFLAGS)    \
33         $(LIBXMLCPP_CFLAGS)     $(LIBLO_CFLAGS)                 \
34         -I$(top_srcdir) -I$(top_srcdir)/src
35
36 lib_LTLIBRARIES = libffado.la
37
38 libffado_la_LDFLAGS =                           \
39         -version-info $(LT_VERSION) $(LIBRAW1394_LIBS)  \
40         $(LIBIEC61883_LIBS) $(LIBAVC1394_LIBS)          \
41         $(LIBXMLCPP_LIBS) $(LIBLO_LIBS) \
42         -lpthread -lrt
43
44 libffado_la_LIBADD = -lrt
45
46 noinst_HEADERS = \
47         libieee1394/configrom.h libieee1394/csr1212.h \
48         libieee1394/ieee1394service.h libieee1394/ARMHandler.h \
49         libieee1394/IEC61883.h \
50         debugmodule/debugmodule.h \
51         devicemanager.h fbtypes.h ffadodevice.h threads.h bebob/bebob_avdevice.h \
52         bebob/bebob_avdevice_subunit.h bebob/bebob_avplug.h bebob/bebob_dl_bcd.h bebob/bebob_dl_codes.h \
53         bebob/bebob_dl_mgr.h bebob/bebob_functionblock.h bounce/bounce_avdevice.h bounce/bounce_slave_avdevice.h bebob/bebob_configparser.h \
54         bebob/GenericMixer.h \
55         maudio/maudio_avdevice.h motu/motu_avdevice.h rme/rme_avdevice.h \
56         metrichalo/mh_avdevice.h dice/dice_avdevice.h \
57         genericavc/avc_avdevice.h \
58         libavc/streamformat/avc_extended_stream_format.h \
59         libavc/util/avc_serialize.h \
60         libavc/musicsubunit/avc_descriptor_music.h \
61         libavc/musicsubunit/avc_musicsubunit.h \
62         libavc/audiosubunit/avc_audiosubunit.h \
63         libavc/audiosubunit/avc_function_block.h \
64         libavc/descriptors/avc_descriptor_cmd.h \
65         libavc/descriptors/avc_descriptor.h \
66         libavc/general/avc_plug_info.h \
67         libavc/general/avc_subunit_info.h \
68         libavc/general/avc_extended_cmd_generic.h \
69         libavc/general/avc_extended_subunit_info.h \
70         libavc/general/avc_unit_info.h \
71         libavc/general/avc_generic.h \
72         libavc/general/avc_connect.h \
73         libavc/general/avc_signal_format.h \
74         libavc/general/avc_extended_plug_info.h \
75         libavc/general/avc_unit.h \
76         libavc/general/avc_subunit.h \
77         libavc/general/avc_plug.h \
78         libavc/avc_definitions.h \
79         libavc/ccm/avc_signal_source.h \
80         libosc/OscArgument.h libosc/OscNode.h libosc/OscResponse.h libosc/OscServer.h libosc/OscMessage.h \
81         libosc/OscClient.h \
82         libstreaming/AmdtpPort.h libstreaming/AmdtpPortInfo.h libstreaming/AmdtpStreamProcessor.h \
83         libstreaming/AmdtpSlaveStreamProcessor.h \
84         libstreaming/cip.h libstreaming/cycletimer.h libstreaming/IsoHandler.h \
85         libstreaming/IsoHandlerManager.h libstreaming/IsoStream.h libstreaming/MotuPort.h \
86         libstreaming/MotuPortInfo.h libstreaming/MotuStreamProcessor.h \
87         libstreaming/Port.h libstreaming/PortManager.h \
88         libstreaming/StreamProcessor.h libstreaming/StreamProcessorManager.h \
89         libutil/Atomic.h libutil/cycles.h libutil/DelayLockedLoop.h libutil/PosixThread.h \
90         libutil/ringbuffer.h libutil/OptionContainer.h \
91         libutil/PacketBuffer.h libutil/StreamStatistics.h \
92         libutil/serialize.h libutil/SystemTimeSource.h libutil/Thread.h libutil/Time.h \
93         libutil/TimeSource.h libutil/TimestampedBuffer.h
94
95 # common sources
96 libffado_la_SOURCES = \
97         devicemanager.cpp \
98         ffado.cpp \
99         ffado_streaming.cpp \
100         ffadodevice.cpp \
101         debugmodule/debugmodule.cpp \
102         libavc/streamformat/avc_extended_stream_format.cpp \
103         libavc/util/avc_serialize.cpp \
104         libavc/musicsubunit/avc_descriptor_music.cpp \
105         libavc/musicsubunit/avc_musicsubunit.cpp \
106         libavc/audiosubunit/avc_audiosubunit.cpp \
107         libavc/audiosubunit/avc_function_block.cpp \
108         libavc/descriptors/avc_descriptor_cmd.cpp \
109         libavc/descriptors/avc_descriptor.cpp \
110         libavc/general/avc_extended_subunit_info.cpp \
111         libavc/general/avc_unit_info.cpp \
112         libavc/general/avc_generic.cpp \
113         libavc/general/avc_subunit_info.cpp \
114         libavc/general/avc_connect.cpp \
115         libavc/general/avc_signal_format.cpp \
116         libavc/general/avc_extended_cmd_generic.cpp \
117         libavc/general/avc_extended_plug_info.cpp \
118         libavc/general/avc_plug_info.cpp \
119         libavc/general/avc_unit.cpp \
120         libavc/general/avc_subunit.cpp \
121         libavc/general/avc_plug.cpp \
122         libavc/avc_definitions.cpp \
123         libavc/ccm/avc_signal_source.cpp \
124         libieee1394/ARMHandler.cpp \
125         libieee1394/configrom.cpp \
126         libieee1394/csr1212.c \
127         libieee1394/ieee1394service.cpp \
128         libieee1394/IEC61883.cpp \
129         libosc/OscArgument.cpp \
130         libosc/OscClient.cpp \
131         libosc/OscMessage.cpp \
132         libosc/OscNode.cpp \
133         libosc/OscResponse.cpp \
134         libosc/OscServer.cpp \
135         libstreaming/cip.c \
136         libstreaming/IsoHandler.cpp \
137         libstreaming/IsoHandlerManager.cpp \
138         libstreaming/IsoStream.cpp \
139         libstreaming/Port.cpp \
140         libstreaming/PortManager.cpp \
141         libstreaming/StreamProcessor.cpp \
142         libstreaming/StreamProcessorManager.cpp \
143         libutil/DelayLockedLoop.cpp \
144         libutil/PacketBuffer.cpp \
145         libutil/OptionContainer.cpp \
146         libutil/PosixThread.cpp \
147         libutil/ringbuffer.c \
148         libutil/serialize.cpp \
149         libutil/StreamStatistics.cpp \
150         libutil/SystemTimeSource.cpp \
151         libutil/Time.c \
152         libutil/TimeSource.cpp \
153         libutil/TimestampedBuffer.cpp
154
155 # class specific sources
156 bebob_src = \
157             bebob/bebob_avdevice.cpp \
158             bebob/bebob_avdevice_subunit.cpp \
159             bebob/bebob_avplug.cpp \
160             bebob/bebob_dl_bcd.cpp \
161             bebob/bebob_dl_codes.cpp \
162             bebob/bebob_dl_mgr.cpp \
163             bebob/bebob_functionblock.cpp \
164             bebob/bebob_configparser.cpp \
165             bebob/GenericMixer.cpp \
166             maudio/maudio_avdevice.cpp
167
168 genericavc_src = \
169             genericavc/avc_avdevice.cpp
170
171 motu_src = \
172             motu/motu_avdevice.cpp \
173             libstreaming/MotuPort.cpp \
174             libstreaming/MotuPortInfo.cpp \
175             libstreaming/MotuStreamProcessor.cpp
176
177 dice_src = \
178             dice/dice_avdevice.cpp
179
180 bounce_src = \
181             bounce/bounce_avdevice.cpp \
182             bounce/bounce_slave_avdevice.cpp \
183             libstreaming/AmdtpSlaveStreamProcessor.cpp
184
185 metric_halo_src = \
186             metrichalo/mh_avdevice.cpp
187
188 rme_src = \
189             rme/rme_avdevice.cpp
190
191 amdtp_src = \
192             libstreaming/AmdtpPort.cpp \
193             libstreaming/AmdtpPortInfo.cpp \
194             libstreaming/AmdtpStreamProcessor.cpp
195
196 # data
197 #  generic
198 nobase_dist_pkgdata_DATA =
199 #  bebob specific
200 bebob_pkgdata =                                 \
201         maudio/refdesign.xml                            \
202         maudio/fw410.xml                                \
203         maudio/fwap.xml
204
205 install-data-hook:
206         mkdir -p $(localstatedir)/cache/libffado
207
208 # programs intended for installation in the 'bin' directory
209 #  generic
210 bin_PROGRAMS =
211
212 #  class specific
213 bebob_bin = bridgeco-downloader bebob-sync
214
215 bridgeco_downloader_SOURCES = bridgeco-downloader.cpp
216 bridgeco_downloader_LDADD = $(top_builddir)/src/libffado.la
217
218 bebob_sync_SOURCES = bebob-sync.cpp
219 bebob_sync_LDADD = $(top_builddir)/src/libffado.la
220
221 # programs not intended for installation
222 # generic
223 noinst_PROGRAMS = test-dll test-debugmodule \
224                       test-unittests-util test-unittests-osc
225
226 test_dll_SOURCES = libutil/test-dll.cpp
227 test_dll_LDADD = $(top_builddir)/src/libffado.la
228
229 test_debugmodule_SOURCES = debugmodule/test_debugmodule.cpp
230 test_debugmodule_LDADD = $(top_builddir)/src/libffado.la
231
232 test_unittests_util_SOURCES = libutil/unittests.cpp
233 test_unittests_util_LDADD = $(top_builddir)/src/libffado.la
234
235 test_unittests_osc_SOURCES = libosc/unittests.cpp
236 test_unittests_osc_LDADD = $(top_builddir)/src/libffado.la
237
238 # build customisation
239
240 if BUILD_BEBOB
241 libffado_la_SOURCES += $(bebob_src)
242 bin_PROGRAMS += $(bebob_bin)
243 noinst_PROGRAMS += $(bebob_noinst)
244 nobase_dist_pkgdata_DATA += $(bebob_pkgdata)
245 endif
246
247 if BUILD_GENERICAVC
248 libffado_la_SOURCES += $(genericavc_src)
249 bin_PROGRAMS += $(genericavc_bin)
250 noinst_PROGRAMS += $(genericavc_noinst)
251 nobase_dist_pkgdata_DATA += $(genericavc_pkgdata)
252 endif
253
254 if BUILD_BOUNCE
255 libffado_la_SOURCES += $(bounce_src)
256 bin_PROGRAMS += $(bounce_bin)
257 noinst_PROGRAMS += $(bounce_noinst)
258 nobase_dist_pkgdata_DATA += $(bounce_pkgdata)
259 endif
260
261 if BUILD_DICE
262 libffado_la_SOURCES += $(dice_src)
263 bin_PROGRAMS += $(dice_bin)
264 noinst_PROGRAMS += $(dice_noinst)
265 nobase_dist_pkgdata_DATA += $(dice_pkgdata)
266 endif
267
268 if BUILD_MOTU
269 libffado_la_SOURCES += $(motu_src)
270 bin_PROGRAMS += $(motu_bin)
271 noinst_PROGRAMS += $(motu_noinst)
272 nobase_dist_pkgdata_DATA += $(motu_pkgdata)
273 endif
274
275 if BUILD_METRIC_HALO
276 libffado_la_SOURCES += $(metric_halo_src)
277 bin_PROGRAMS += $(metric_halo_bin)
278 noinst_PROGRAMS += $(metric_halo_noinst)
279 nobase_dist_pkgdata_DATA += $(metric_halo_pkgdata)
280 endif
281
282 if BUILD_RME
283 libffado_la_SOURCES += $(rme_src)
284 bin_PROGRAMS += $(rme_bin)
285 noinst_PROGRAMS += $(rme_noinst)
286 nobase_dist_pkgdata_DATA += $(rme_pkgdata)
287 endif
288
289 if BUILD_AMDTP
290 libffado_la_SOURCES += $(amdtp_src)
291 bin_PROGRAMS += $(amdtp_bin)
292 noinst_PROGRAMS += $(amdtp_noinst)
293 nobase_dist_pkgdata_DATA += $(amdtp_pkgdata)
294 endif
Note: See TracBrowser for help on using the browser.