]> sigrok.org Git - libsigrok.git/blob - Makefile.am
autoconf: Use DRIVER macro to declare drivers.
[libsigrok.git] / Makefile.am
1 ##
2 ## This file is part of the libsigrok project.
3 ##
4 ## Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
5 ## Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
6 ##
7 ## This program is free software: you can redistribute it and/or modify
8 ## it under the terms of the GNU General Public License as published by
9 ## the Free Software Foundation, either version 3 of the License, or
10 ## (at your option) any later version.
11 ##
12 ## This program is distributed in the hope that it will be useful,
13 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 ## GNU General Public License for more details.
16 ##
17 ## You should have received a copy of the GNU General Public License
18 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 ##
20
21 ACLOCAL_AMFLAGS = -I autostuff
22
23 AM_CPPFLAGS = -DFIRMWARE_DIR='"$(FIRMWARE_DIR)"'
24
25 lib_LTLIBRARIES = libsigrok.la
26
27 # Backend files
28 libsigrok_la_SOURCES = \
29         backend.c \
30         device.c \
31         session.c \
32         session_file.c \
33         session_driver.c \
34         hwdriver.c \
35         trigger.c \
36         soft-trigger.c \
37         strutil.c \
38         log.c \
39         version.c \
40         error.c \
41         std.c
42
43 # Input formats
44 libsigrok_la_SOURCES += \
45         input/binary.c \
46         input/chronovu_la8.c \
47         input/csv.c \
48         input/input.c \
49         input/vcd.c \
50         input/wav.c
51
52 # Output formats
53 libsigrok_la_SOURCES += \
54         output/output.c \
55         output/analog.c \
56         output/ascii.c \
57         output/bits.c \
58         output/binary.c \
59         output/csv.c \
60         output/chronovu_la8.c \
61         output/gnuplot.c \
62         output/hex.c \
63         output/ols.c \
64         output/vcd.c
65
66 # Hardware (common files)
67 libsigrok_la_SOURCES += \
68         hardware/common/scpi.c \
69         hardware/common/scpi_tcp.c
70 if NEED_RPC
71 libsigrok_la_SOURCES += \
72         hardware/common/scpi_vxi.c \
73         hardware/common/vxi_clnt.c \
74         hardware/common/vxi_xdr.c \
75         hardware/common/vxi.h
76 endif
77 if NEED_SERIAL
78 libsigrok_la_SOURCES += \
79         hardware/common/serial.c \
80         hardware/common/scpi_serial.c
81 endif
82 if NEED_USB
83 libsigrok_la_SOURCES += \
84         hardware/common/ezusb.c \
85         hardware/common/usb.c \
86         hardware/common/scpi_usbtmc_libusb.c
87 endif
88 if NEED_VISA
89 libsigrok_la_SOURCES += \
90         hardware/common/scpi_visa.c
91 endif
92
93 # Hardware (DMM parsers)
94 libsigrok_la_SOURCES += \
95         hardware/common/dmm/es519xx.c \
96         hardware/common/dmm/fs9721.c \
97         hardware/common/dmm/fs9922.c \
98         hardware/common/dmm/m2110.c \
99         hardware/common/dmm/metex14.c \
100         hardware/common/dmm/rs9lcd.c
101
102 # Hardware drivers
103 if HW_AGILENT_DMM
104 libsigrok_la_SOURCES += \
105         hardware/agilent-dmm/api.c \
106         hardware/agilent-dmm/agilent-dmm.h \
107         hardware/agilent-dmm/sched.c
108 endif
109 if HW_APPA_55II
110 libsigrok_la_SOURCES += \
111         hardware/appa-55ii/protocol.h \
112         hardware/appa-55ii/protocol.c \
113         hardware/appa-55ii/api.c
114 endif
115 if HW_ASIX_SIGMA
116 libsigrok_la_SOURCES += \
117         hardware/asix-sigma/asix-sigma.h \
118         hardware/asix-sigma/asix-sigma.c
119 endif
120 if HW_ATTEN_PPS3XXX
121 libsigrok_la_SOURCES += \
122         hardware/atten-pps3xxx/protocol.h \
123         hardware/atten-pps3xxx/protocol.c \
124         hardware/atten-pps3xxx/api.c
125 endif
126 if HW_BRYMEN_BM86X
127 libsigrok_la_SOURCES += \
128         hardware/brymen-bm86x/protocol.h \
129         hardware/brymen-bm86x/protocol.c \
130         hardware/brymen-bm86x/api.c
131 endif
132 if HW_BRYMEN_DMM
133 libsigrok_la_SOURCES += \
134         hardware/brymen-dmm/parser.c \
135         hardware/brymen-dmm/protocol.h \
136         hardware/brymen-dmm/protocol.c \
137         hardware/brymen-dmm/api.c
138 endif
139 if HW_CEM_DT_885X
140 libsigrok_la_SOURCES += \
141         hardware/cem-dt-885x/protocol.h \
142         hardware/cem-dt-885x/protocol.c \
143         hardware/cem-dt-885x/api.c
144 endif
145 if HW_CENTER_3XX
146 libsigrok_la_SOURCES += \
147         hardware/center-3xx/protocol.h \
148         hardware/center-3xx/protocol.c \
149         hardware/center-3xx/api.c
150 endif
151 if HW_CHRONOVU_LA
152 libsigrok_la_SOURCES += \
153         hardware/chronovu-la/protocol.h \
154         hardware/chronovu-la/protocol.c \
155         hardware/chronovu-la/api.c
156 endif
157 if HW_COLEAD_SLM
158 libsigrok_la_SOURCES += \
159         hardware/colead-slm/protocol.h \
160         hardware/colead-slm/protocol.c \
161         hardware/colead-slm/api.c
162 endif
163 if HW_CONRAD_DIGI_35_CPU
164 libsigrok_la_SOURCES += \
165         hardware/conrad-digi-35-cpu/protocol.h \
166         hardware/conrad-digi-35-cpu/protocol.c \
167         hardware/conrad-digi-35-cpu/api.c
168 endif
169 if HW_DEMO
170 libsigrok_la_SOURCES += \
171         hardware/demo/demo.c
172 endif
173 if HW_FLUKE_DMM
174 libsigrok_la_SOURCES += \
175         hardware/fluke-dmm/fluke-dmm.h \
176         hardware/fluke-dmm/fluke.c \
177         hardware/fluke-dmm/api.c
178 endif
179 if HW_FX2LAFW
180 libsigrok_la_SOURCES += \
181         hardware/fx2lafw/protocol.h \
182         hardware/fx2lafw/protocol.c \
183         hardware/fx2lafw/api.c
184 endif
185 if HW_GMC_MH_1X_2X
186 libsigrok_la_SOURCES += \
187         hardware/gmc-mh-1x-2x/protocol.h \
188         hardware/gmc-mh-1x-2x/protocol.c \
189         hardware/gmc-mh-1x-2x/api.c
190 endif
191 if HW_HAMEG_HMO
192 libsigrok_la_SOURCES += \
193         hardware/hameg-hmo/protocol.h \
194         hardware/hameg-hmo/protocol.c \
195         hardware/hameg-hmo/api.c
196 endif
197 if HW_HANTEK_DSO
198 libsigrok_la_SOURCES += \
199         hardware/hantek-dso/dso.h \
200         hardware/hantek-dso/dso.c \
201         hardware/hantek-dso/api.c
202 endif
203 if HW_IKALOGIC_SCANALOGIC2
204 libsigrok_la_SOURCES += \
205         hardware/ikalogic-scanalogic2/protocol.h \
206         hardware/ikalogic-scanalogic2/protocol.c \
207         hardware/ikalogic-scanalogic2/api.c
208 endif
209 if HW_IKALOGIC_SCANAPLUS
210 libsigrok_la_SOURCES += \
211         hardware/ikalogic-scanaplus/protocol.h \
212         hardware/ikalogic-scanaplus/protocol.c \
213         hardware/ikalogic-scanaplus/api.c
214 endif
215 if HW_KECHENG_KC_330B
216 libsigrok_la_SOURCES += \
217         hardware/kecheng-kc-330b/protocol.h \
218         hardware/kecheng-kc-330b/protocol.c \
219         hardware/kecheng-kc-330b/api.c
220 endif
221 if HW_LASCAR_EL_USB
222 libsigrok_la_SOURCES += \
223         hardware/lascar-el-usb/protocol.h \
224         hardware/lascar-el-usb/protocol.c \
225         hardware/lascar-el-usb/api.c
226 endif
227 if HW_MANSON_HCS_3XXX
228 libsigrok_la_SOURCES += \
229         hardware/manson-hcs-3xxx/protocol.h \
230         hardware/manson-hcs-3xxx/protocol.c \
231         hardware/manson-hcs-3xxx/api.c
232 endif
233 if HW_MIC_985XX
234 libsigrok_la_SOURCES += \
235         hardware/mic-985xx/protocol.h \
236         hardware/mic-985xx/protocol.c \
237         hardware/mic-985xx/api.c
238 endif
239 if HW_MOTECH_LPS_30X
240 libsigrok_la_SOURCES += \
241         hardware/motech-lps-30x/protocol.h \
242         hardware/motech-lps-30x/protocol.c \
243         hardware/motech-lps-30x/api.c
244 endif
245 if HW_NORMA_DMM
246 libsigrok_la_SOURCES += \
247         hardware/norma-dmm/protocol.h \
248         hardware/norma-dmm/protocol.c \
249         hardware/norma-dmm/api.c
250 endif
251 if HW_OPENBENCH_LOGIC_SNIFFER
252 libsigrok_la_SOURCES += \
253         hardware/openbench-logic-sniffer/protocol.h \
254         hardware/openbench-logic-sniffer/protocol.c \
255         hardware/openbench-logic-sniffer/api.c
256 endif
257 if HW_RIGOL_DS
258 libsigrok_la_SOURCES += \
259         hardware/rigol-ds/protocol.h \
260         hardware/rigol-ds/protocol.c \
261         hardware/rigol-ds/api.c
262 endif
263 if HW_SALEAE_LOGIC16
264 libsigrok_la_SOURCES += \
265         hardware/saleae-logic16/protocol.h \
266         hardware/saleae-logic16/protocol.c \
267         hardware/saleae-logic16/api.c
268 endif
269 if HW_SERIAL_DMM
270 libsigrok_la_SOURCES += \
271         hardware/serial-dmm/protocol.h \
272         hardware/serial-dmm/protocol.c \
273         hardware/serial-dmm/api.c
274 endif
275 if HW_SYSCLK_LWLA
276 libsigrok_la_SOURCES += \
277         hardware/sysclk-lwla/lwla.h \
278         hardware/sysclk-lwla/lwla.c \
279         hardware/sysclk-lwla/protocol.h \
280         hardware/sysclk-lwla/protocol.c \
281         hardware/sysclk-lwla/api.c
282 endif
283 if HW_TELEINFO
284 libsigrok_la_SOURCES += \
285         hardware/teleinfo/protocol.h \
286         hardware/teleinfo/protocol.c \
287         hardware/teleinfo/api.c
288 endif
289 if HW_TESTO
290 libsigrok_la_SOURCES += \
291         hardware/testo/protocol.h \
292         hardware/testo/protocol.c \
293         hardware/testo/api.c
294 endif
295 if HW_TONDAJ_SL_814
296 libsigrok_la_SOURCES += \
297         hardware/tondaj-sl-814/protocol.h \
298         hardware/tondaj-sl-814/protocol.c \
299         hardware/tondaj-sl-814/api.c
300 endif
301 if HW_UNI_T_DMM
302 libsigrok_la_SOURCES += \
303         hardware/uni-t-dmm/protocol.h \
304         hardware/uni-t-dmm/protocol.c \
305         hardware/uni-t-dmm/api.c
306 endif
307 if HW_UNI_T_UT32X
308 libsigrok_la_SOURCES += \
309         hardware/uni-t-ut32x/protocol.h \
310         hardware/uni-t-ut32x/protocol.c \
311         hardware/uni-t-ut32x/api.c
312 endif
313 if HW_VICTOR_DMM
314 libsigrok_la_SOURCES += \
315         hardware/victor-dmm/protocol.h \
316         hardware/victor-dmm/protocol.c \
317         hardware/victor-dmm/api.c
318 endif
319 if HW_ZEROPLUS_LOGIC_CUBE
320 libsigrok_la_SOURCES += \
321         hardware/zeroplus-logic-cube/analyzer.c \
322         hardware/zeroplus-logic-cube/analyzer.h \
323         hardware/zeroplus-logic-cube/gl_usb.h \
324         hardware/zeroplus-logic-cube/gl_usb.c \
325         hardware/zeroplus-logic-cube/protocol.h \
326         hardware/zeroplus-logic-cube/protocol.c \
327         hardware/zeroplus-logic-cube/api.c
328 endif
329
330 libsigrok_la_LIBADD = $(LIBOBJS)
331
332 libsigrok_la_LDFLAGS = $(SR_LIB_LDFLAGS)
333
334 library_includedir = $(includedir)/libsigrok
335 library_include_HEADERS = libsigrok.h proto.h version.h
336 noinst_HEADERS = libsigrok-internal.h
337
338 pkgconfigdir = $(libdir)/pkgconfig
339 pkgconfig_DATA = libsigrok.pc
340
341 EXTRA_DIST = \
342         Doxyfile \
343         HACKING \
344         README.devices \
345         contrib/gnuplot_chronovu_la8.gpi \
346         contrib/gnuplot_rigol_ds1xx2.gpi \
347         contrib/gnuplot_usbeesx.gpi \
348         contrib/gnuplot_usbeedx8.gpi \
349         contrib/gnuplot_usbeedx16.gpi \
350         contrib/sigrok-logo-notext.png \
351         contrib/z60_libsigrok.rules
352
353 if HAVE_CHECK
354
355 TESTS = tests/check_main
356
357 check_PROGRAMS = ${TESTS}
358
359 tests_check_main_SOURCES = \
360         libsigrok.h \
361         tests/lib.c \
362         tests/lib.h \
363         tests/check_main.c \
364         tests/check_core.c \
365         tests/check_input_all.c \
366         tests/check_input_binary.c \
367         tests/check_output_all.c \
368         tests/check_strutil.c \
369         tests/check_version.c \
370         tests/check_driver_all.c
371
372 tests_check_main_CFLAGS = @check_CFLAGS@
373
374 tests_check_main_LDADD = $(top_builddir)/libsigrok.la @check_LIBS@
375
376 endif
377
378 MAINTAINERCLEANFILES = ChangeLog
379
380 .PHONY: ChangeLog
381 ChangeLog:
382         git --git-dir $(top_srcdir)/.git log > ChangeLog || touch ChangeLog
383
384 dist-hook: ChangeLog
385