]>
Commit | Line | Data |
---|---|---|
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 | drivers.c \ | |
35 | hwdriver.c \ | |
36 | trigger.c \ | |
37 | soft-trigger.c \ | |
38 | strutil.c \ | |
39 | log.c \ | |
40 | version.c \ | |
41 | error.c \ | |
42 | std.c | |
43 | ||
44 | # Input formats | |
45 | libsigrok_la_SOURCES += \ | |
46 | input/binary.c \ | |
47 | input/chronovu_la8.c \ | |
48 | input/csv.c \ | |
49 | input/input.c \ | |
50 | input/vcd.c \ | |
51 | input/wav.c | |
52 | ||
53 | # Output formats | |
54 | libsigrok_la_SOURCES += \ | |
55 | output/output.c \ | |
56 | output/analog.c \ | |
57 | output/ascii.c \ | |
58 | output/bits.c \ | |
59 | output/binary.c \ | |
60 | output/csv.c \ | |
61 | output/chronovu_la8.c \ | |
62 | output/gnuplot.c \ | |
63 | output/hex.c \ | |
64 | output/ols.c \ | |
65 | output/vcd.c | |
66 | ||
67 | # Hardware (common files) | |
68 | libsigrok_la_SOURCES += \ | |
69 | hardware/common/scpi.c \ | |
70 | hardware/common/scpi_tcp.c | |
71 | if NEED_RPC | |
72 | libsigrok_la_SOURCES += \ | |
73 | hardware/common/scpi_vxi.c \ | |
74 | hardware/common/vxi_clnt.c \ | |
75 | hardware/common/vxi_xdr.c \ | |
76 | hardware/common/vxi.h | |
77 | endif | |
78 | if NEED_SERIAL | |
79 | libsigrok_la_SOURCES += \ | |
80 | hardware/common/serial.c \ | |
81 | hardware/common/scpi_serial.c | |
82 | endif | |
83 | if NEED_USB | |
84 | libsigrok_la_SOURCES += \ | |
85 | hardware/common/ezusb.c \ | |
86 | hardware/common/usb.c \ | |
87 | hardware/common/scpi_usbtmc_libusb.c | |
88 | endif | |
89 | if NEED_VISA | |
90 | libsigrok_la_SOURCES += \ | |
91 | hardware/common/scpi_visa.c | |
92 | endif | |
93 | ||
94 | # Hardware (DMM parsers) | |
95 | libsigrok_la_SOURCES += \ | |
96 | hardware/common/dmm/es519xx.c \ | |
97 | hardware/common/dmm/fs9721.c \ | |
98 | hardware/common/dmm/fs9922.c \ | |
99 | hardware/common/dmm/m2110.c \ | |
100 | hardware/common/dmm/metex14.c \ | |
101 | hardware/common/dmm/rs9lcd.c | |
102 | ||
103 | # Hardware drivers | |
104 | if HW_AGILENT_DMM | |
105 | libsigrok_la_SOURCES += \ | |
106 | hardware/agilent-dmm/api.c \ | |
107 | hardware/agilent-dmm/agilent-dmm.h \ | |
108 | hardware/agilent-dmm/sched.c | |
109 | endif | |
110 | if HW_APPA_55II | |
111 | libsigrok_la_SOURCES += \ | |
112 | hardware/appa-55ii/protocol.h \ | |
113 | hardware/appa-55ii/protocol.c \ | |
114 | hardware/appa-55ii/api.c | |
115 | endif | |
116 | if HW_ASIX_SIGMA | |
117 | libsigrok_la_SOURCES += \ | |
118 | hardware/asix-sigma/asix-sigma.h \ | |
119 | hardware/asix-sigma/asix-sigma.c | |
120 | endif | |
121 | if HW_ATTEN_PPS3XXX | |
122 | libsigrok_la_SOURCES += \ | |
123 | hardware/atten-pps3xxx/protocol.h \ | |
124 | hardware/atten-pps3xxx/protocol.c \ | |
125 | hardware/atten-pps3xxx/api.c | |
126 | endif | |
127 | if HW_BRYMEN_BM86X | |
128 | libsigrok_la_SOURCES += \ | |
129 | hardware/brymen-bm86x/protocol.h \ | |
130 | hardware/brymen-bm86x/protocol.c \ | |
131 | hardware/brymen-bm86x/api.c | |
132 | endif | |
133 | if HW_BRYMEN_DMM | |
134 | libsigrok_la_SOURCES += \ | |
135 | hardware/brymen-dmm/parser.c \ | |
136 | hardware/brymen-dmm/protocol.h \ | |
137 | hardware/brymen-dmm/protocol.c \ | |
138 | hardware/brymen-dmm/api.c | |
139 | endif | |
140 | if HW_CEM_DT_885X | |
141 | libsigrok_la_SOURCES += \ | |
142 | hardware/cem-dt-885x/protocol.h \ | |
143 | hardware/cem-dt-885x/protocol.c \ | |
144 | hardware/cem-dt-885x/api.c | |
145 | endif | |
146 | if HW_CENTER_3XX | |
147 | libsigrok_la_SOURCES += \ | |
148 | hardware/center-3xx/protocol.h \ | |
149 | hardware/center-3xx/protocol.c \ | |
150 | hardware/center-3xx/api.c | |
151 | endif | |
152 | if HW_CHRONOVU_LA | |
153 | libsigrok_la_SOURCES += \ | |
154 | hardware/chronovu-la/protocol.h \ | |
155 | hardware/chronovu-la/protocol.c \ | |
156 | hardware/chronovu-la/api.c | |
157 | endif | |
158 | if HW_COLEAD_SLM | |
159 | libsigrok_la_SOURCES += \ | |
160 | hardware/colead-slm/protocol.h \ | |
161 | hardware/colead-slm/protocol.c \ | |
162 | hardware/colead-slm/api.c | |
163 | endif | |
164 | if HW_CONRAD_DIGI_35_CPU | |
165 | libsigrok_la_SOURCES += \ | |
166 | hardware/conrad-digi-35-cpu/protocol.h \ | |
167 | hardware/conrad-digi-35-cpu/protocol.c \ | |
168 | hardware/conrad-digi-35-cpu/api.c | |
169 | endif | |
170 | if HW_DEMO | |
171 | libsigrok_la_SOURCES += \ | |
172 | hardware/demo/demo.c | |
173 | endif | |
174 | if HW_FLUKE_DMM | |
175 | libsigrok_la_SOURCES += \ | |
176 | hardware/fluke-dmm/fluke-dmm.h \ | |
177 | hardware/fluke-dmm/fluke.c \ | |
178 | hardware/fluke-dmm/api.c | |
179 | endif | |
180 | if HW_FX2LAFW | |
181 | libsigrok_la_SOURCES += \ | |
182 | hardware/fx2lafw/protocol.h \ | |
183 | hardware/fx2lafw/protocol.c \ | |
184 | hardware/fx2lafw/api.c | |
185 | endif | |
186 | if HW_GMC_MH_1X_2X | |
187 | libsigrok_la_SOURCES += \ | |
188 | hardware/gmc-mh-1x-2x/protocol.h \ | |
189 | hardware/gmc-mh-1x-2x/protocol.c \ | |
190 | hardware/gmc-mh-1x-2x/api.c | |
191 | endif | |
192 | if HW_HAMEG_HMO | |
193 | libsigrok_la_SOURCES += \ | |
194 | hardware/hameg-hmo/protocol.h \ | |
195 | hardware/hameg-hmo/protocol.c \ | |
196 | hardware/hameg-hmo/api.c | |
197 | endif | |
198 | if HW_HANTEK_DSO | |
199 | libsigrok_la_SOURCES += \ | |
200 | hardware/hantek-dso/dso.h \ | |
201 | hardware/hantek-dso/dso.c \ | |
202 | hardware/hantek-dso/api.c | |
203 | endif | |
204 | if HW_IKALOGIC_SCANALOGIC2 | |
205 | libsigrok_la_SOURCES += \ | |
206 | hardware/ikalogic-scanalogic2/protocol.h \ | |
207 | hardware/ikalogic-scanalogic2/protocol.c \ | |
208 | hardware/ikalogic-scanalogic2/api.c | |
209 | endif | |
210 | if HW_IKALOGIC_SCANAPLUS | |
211 | libsigrok_la_SOURCES += \ | |
212 | hardware/ikalogic-scanaplus/protocol.h \ | |
213 | hardware/ikalogic-scanaplus/protocol.c \ | |
214 | hardware/ikalogic-scanaplus/api.c | |
215 | endif | |
216 | if HW_KECHENG_KC_330B | |
217 | libsigrok_la_SOURCES += \ | |
218 | hardware/kecheng-kc-330b/protocol.h \ | |
219 | hardware/kecheng-kc-330b/protocol.c \ | |
220 | hardware/kecheng-kc-330b/api.c | |
221 | endif | |
222 | if HW_LASCAR_EL_USB | |
223 | libsigrok_la_SOURCES += \ | |
224 | hardware/lascar-el-usb/protocol.h \ | |
225 | hardware/lascar-el-usb/protocol.c \ | |
226 | hardware/lascar-el-usb/api.c | |
227 | endif | |
228 | if HW_MANSON_HCS_3XXX | |
229 | libsigrok_la_SOURCES += \ | |
230 | hardware/manson-hcs-3xxx/protocol.h \ | |
231 | hardware/manson-hcs-3xxx/protocol.c \ | |
232 | hardware/manson-hcs-3xxx/api.c | |
233 | endif | |
234 | if HW_MIC_985XX | |
235 | libsigrok_la_SOURCES += \ | |
236 | hardware/mic-985xx/protocol.h \ | |
237 | hardware/mic-985xx/protocol.c \ | |
238 | hardware/mic-985xx/api.c | |
239 | endif | |
240 | if HW_MOTECH_LPS_30X | |
241 | libsigrok_la_SOURCES += \ | |
242 | hardware/motech-lps-30x/protocol.h \ | |
243 | hardware/motech-lps-30x/protocol.c \ | |
244 | hardware/motech-lps-30x/api.c | |
245 | endif | |
246 | if HW_NORMA_DMM | |
247 | libsigrok_la_SOURCES += \ | |
248 | hardware/norma-dmm/protocol.h \ | |
249 | hardware/norma-dmm/protocol.c \ | |
250 | hardware/norma-dmm/api.c | |
251 | endif | |
252 | if HW_OPENBENCH_LOGIC_SNIFFER | |
253 | libsigrok_la_SOURCES += \ | |
254 | hardware/openbench-logic-sniffer/protocol.h \ | |
255 | hardware/openbench-logic-sniffer/protocol.c \ | |
256 | hardware/openbench-logic-sniffer/api.c | |
257 | endif | |
258 | if HW_RIGOL_DS | |
259 | libsigrok_la_SOURCES += \ | |
260 | hardware/rigol-ds/protocol.h \ | |
261 | hardware/rigol-ds/protocol.c \ | |
262 | hardware/rigol-ds/api.c | |
263 | endif | |
264 | if HW_SALEAE_LOGIC16 | |
265 | libsigrok_la_SOURCES += \ | |
266 | hardware/saleae-logic16/protocol.h \ | |
267 | hardware/saleae-logic16/protocol.c \ | |
268 | hardware/saleae-logic16/api.c | |
269 | endif | |
270 | if HW_SERIAL_DMM | |
271 | libsigrok_la_SOURCES += \ | |
272 | hardware/serial-dmm/protocol.h \ | |
273 | hardware/serial-dmm/protocol.c \ | |
274 | hardware/serial-dmm/api.c | |
275 | endif | |
276 | if HW_SYSCLK_LWLA | |
277 | libsigrok_la_SOURCES += \ | |
278 | hardware/sysclk-lwla/lwla.h \ | |
279 | hardware/sysclk-lwla/lwla.c \ | |
280 | hardware/sysclk-lwla/protocol.h \ | |
281 | hardware/sysclk-lwla/protocol.c \ | |
282 | hardware/sysclk-lwla/api.c | |
283 | endif | |
284 | if HW_TELEINFO | |
285 | libsigrok_la_SOURCES += \ | |
286 | hardware/teleinfo/protocol.h \ | |
287 | hardware/teleinfo/protocol.c \ | |
288 | hardware/teleinfo/api.c | |
289 | endif | |
290 | if HW_TESTO | |
291 | libsigrok_la_SOURCES += \ | |
292 | hardware/testo/protocol.h \ | |
293 | hardware/testo/protocol.c \ | |
294 | hardware/testo/api.c | |
295 | endif | |
296 | if HW_TONDAJ_SL_814 | |
297 | libsigrok_la_SOURCES += \ | |
298 | hardware/tondaj-sl-814/protocol.h \ | |
299 | hardware/tondaj-sl-814/protocol.c \ | |
300 | hardware/tondaj-sl-814/api.c | |
301 | endif | |
302 | if HW_UNI_T_DMM | |
303 | libsigrok_la_SOURCES += \ | |
304 | hardware/uni-t-dmm/protocol.h \ | |
305 | hardware/uni-t-dmm/protocol.c \ | |
306 | hardware/uni-t-dmm/api.c | |
307 | endif | |
308 | if HW_UNI_T_UT32X | |
309 | libsigrok_la_SOURCES += \ | |
310 | hardware/uni-t-ut32x/protocol.h \ | |
311 | hardware/uni-t-ut32x/protocol.c \ | |
312 | hardware/uni-t-ut32x/api.c | |
313 | endif | |
314 | if HW_VICTOR_DMM | |
315 | libsigrok_la_SOURCES += \ | |
316 | hardware/victor-dmm/protocol.h \ | |
317 | hardware/victor-dmm/protocol.c \ | |
318 | hardware/victor-dmm/api.c | |
319 | endif | |
320 | if HW_ZEROPLUS_LOGIC_CUBE | |
321 | libsigrok_la_SOURCES += \ | |
322 | hardware/zeroplus-logic-cube/analyzer.c \ | |
323 | hardware/zeroplus-logic-cube/analyzer.h \ | |
324 | hardware/zeroplus-logic-cube/gl_usb.h \ | |
325 | hardware/zeroplus-logic-cube/gl_usb.c \ | |
326 | hardware/zeroplus-logic-cube/protocol.h \ | |
327 | hardware/zeroplus-logic-cube/protocol.c \ | |
328 | hardware/zeroplus-logic-cube/api.c | |
329 | endif | |
330 | ||
331 | libsigrok_la_LIBADD = $(LIBOBJS) | |
332 | ||
333 | libsigrok_la_LDFLAGS = $(SR_LIB_LDFLAGS) | |
334 | ||
335 | library_includedir = $(includedir)/libsigrok | |
336 | library_include_HEADERS = \ | |
337 | include/libsigrok/libsigrok.h \ | |
338 | include/libsigrok/proto.h \ | |
339 | include/libsigrok/version.h | |
340 | noinst_HEADERS = libsigrok-internal.h | |
341 | ||
342 | pkgconfigdir = $(libdir)/pkgconfig | |
343 | pkgconfig_DATA = libsigrok.pc | |
344 | ||
345 | EXTRA_DIST = \ | |
346 | Doxyfile \ | |
347 | HACKING \ | |
348 | README.devices \ | |
349 | contrib/gnuplot_chronovu_la8.gpi \ | |
350 | contrib/gnuplot_rigol_ds1xx2.gpi \ | |
351 | contrib/gnuplot_usbeesx.gpi \ | |
352 | contrib/gnuplot_usbeedx8.gpi \ | |
353 | contrib/gnuplot_usbeedx16.gpi \ | |
354 | contrib/sigrok-logo-notext.png \ | |
355 | contrib/z60_libsigrok.rules | |
356 | ||
357 | if HAVE_CHECK | |
358 | ||
359 | TESTS = tests/check_main | |
360 | ||
361 | check_PROGRAMS = ${TESTS} | |
362 | ||
363 | tests_check_main_SOURCES = \ | |
364 | libsigrok.h \ | |
365 | tests/lib.c \ | |
366 | tests/lib.h \ | |
367 | tests/check_main.c \ | |
368 | tests/check_core.c \ | |
369 | tests/check_input_all.c \ | |
370 | tests/check_input_binary.c \ | |
371 | tests/check_output_all.c \ | |
372 | tests/check_strutil.c \ | |
373 | tests/check_version.c \ | |
374 | tests/check_driver_all.c | |
375 | ||
376 | tests_check_main_CFLAGS = @check_CFLAGS@ | |
377 | ||
378 | tests_check_main_LDADD = $(top_builddir)/libsigrok.la @check_LIBS@ | |
379 | ||
380 | endif | |
381 | ||
382 | if BINDINGS_CXX | |
383 | ||
384 | lib_LTLIBRARIES += bindings/cxx/libsigrokxx.la | |
385 | ||
386 | bindings_cxx_libsigrokxx_la_SOURCES = bindings/cxx/classes.cpp | |
387 | ||
388 | bindings_cxx_libsigrokxx_la_LIBADD = -lsigrok $(glibmm_LIBS) | |
389 | ||
390 | bindings_cxx_libsigrokxx_la_LDFLAGS = $(SR_LIB_LDFLAGS) | |
391 | ||
392 | library_include_HEADERS += \ | |
393 | bindings/cxx/include/libsigrok/libsigrok.hpp \ | |
394 | bindings/cxx/include/libsigrok/enums.hpp | |
395 | ||
396 | pkgconfig_DATA += bindings/cxx/libsigrokxx.pc | |
397 | ||
398 | bindings/cxx/classes.lo: bindings/cxx/enums.cpp | |
399 | ||
400 | bindings/cxx/enums.cpp: bindings/cxx/enums.py bindings/cxx/libsigrok.xml \ | |
401 | bindings/cxx/ConfigKey_methods.cpp bindings/cxx/QuantityFlag_methods.cpp | |
402 | python $< | |
403 | ||
404 | bindings/cxx/libsigrok.xml: include/libsigrok/libsigrok.h | |
405 | gccxml $(CFLAGS) -DGLIB_DISABLE_DEPRECATION_WARNINGS $< -fxml=$@ | |
406 | ||
407 | endif | |
408 | ||
409 | BUILD_EXTRA = | |
410 | INSTALL_EXTRA = | |
411 | CLEAN_EXTRA = | |
412 | ||
413 | if BINDINGS_PYTHON | |
414 | ||
415 | python-build: bindings/cxx/libsigrokxx.la | |
416 | cd bindings/python && python setup.py build | |
417 | ||
418 | python-install: | |
419 | cd bindings/python && python setup.py install --prefix $(prefix) | |
420 | ||
421 | python-clean: | |
422 | cd bindings/python && python setup.py clean --all | |
423 | ||
424 | BUILD_EXTRA += python-build | |
425 | INSTALL_EXTRA += python-install | |
426 | CLEAN_EXTRA += python-clean | |
427 | ||
428 | endif | |
429 | ||
430 | if BINDINGS_JAVA | |
431 | ||
432 | JDIR = bindings/java | |
433 | JPKG = org/sigrok/core/classes | |
434 | JINT = $(JDIR)/$(JPKG)/classes.i | |
435 | JSRC = $(JDIR)/$(JPKG)/classes_wrap.cxx | |
436 | JLIB = $(JDIR)/libsigrok_java_core_classes.so | |
437 | JJAR = $(JDIR)/sigrok-core.jar | |
438 | ||
439 | java-build: $(JJAR) $(JLIB) | |
440 | ||
441 | $(JSRC): $(JINT) bindings/swig/classes.i | |
442 | swig -c++ -java -package org.sigrok.core.classes \ | |
443 | -Iinclude -Ibindings/cxx/include \ | |
444 | -outdir $(JDIR)/$(JPKG) $(JINT) | |
445 | ||
446 | $(JJAR): $(JSRC) $(JDIR)/$(JPKG)/*.java | |
447 | $(JAVAC) -sourcepath $(JDIR) $(JDIR)/$(JPKG)/*.java | |
448 | jar cf $(JJAR) -C $(JDIR) $(JPKG) | |
449 | ||
450 | $(JLIB): $(JSRC) bindings/cxx/libsigrokxx.la | |
451 | $(CXX) $(CXXFLAGS) -L.libs -Lbindings/cxx/.libs \ | |
452 | -fno-strict-aliasing -fPIC -shared \ | |
453 | $(JDIR)/$(JPKG)/classes_wrap.cxx -lsigrokxx \ | |
454 | -o $(JLIB) | |
455 | ||
456 | java-install: | |
457 | $(INSTALL) -d $(libdir)/jni | |
458 | $(INSTALL) $(JLIB) -t $(libdir)/jni | |
459 | $(INSTALL) -d $(datadir)/java | |
460 | $(INSTALL) $(JJAR) -t $(datadir)/java | |
461 | ||
462 | java-clean: | |
463 | rm $(JSRC) | |
464 | rm $(JDIR)/$(JPKG)/*.class | |
465 | rm $(JJAR) | |
466 | rm $(JLIB) | |
467 | ||
468 | BUILD_EXTRA += java-build | |
469 | INSTALL_EXTRA += java-install | |
470 | CLEAN_EXTRA += java-clean | |
471 | ||
472 | endif | |
473 | ||
474 | all-local: $(BUILD_EXTRA) | |
475 | install-exec-local: $(INSTALL_EXTRA) | |
476 | clean-extra: $(CLEAN_EXTRA) | |
477 | ||
478 | MAINTAINERCLEANFILES = ChangeLog | |
479 | ||
480 | .PHONY: ChangeLog | |
481 | ChangeLog: | |
482 | git --git-dir $(top_srcdir)/.git log > ChangeLog || touch ChangeLog | |
483 | ||
484 | dist-hook: ChangeLog | |
485 |