2010-04-15 18:16:53 +00:00
|
|
|
##
|
2013-04-23 20:24:30 +00:00
|
|
|
## This file is part of the libsigrok project.
|
2010-04-15 18:16:53 +00:00
|
|
|
##
|
2012-02-13 13:31:51 +00:00
|
|
|
## Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
|
2012-10-15 06:17:32 +00:00
|
|
|
## Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
|
2010-04-15 18:16:53 +00:00
|
|
|
##
|
2010-04-02 18:18:27 +00:00
|
|
|
## This program is free software: you can redistribute it and/or modify
|
|
|
|
## it under the terms of the GNU General Public License as published by
|
|
|
|
## the Free Software Foundation, either version 3 of the License, or
|
|
|
|
## (at your option) any later version.
|
2010-04-15 18:16:53 +00:00
|
|
|
##
|
2010-04-02 18:18:27 +00:00
|
|
|
## This program is distributed in the hope that it will be useful,
|
|
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
## GNU General Public License for more details.
|
2010-04-15 18:16:53 +00:00
|
|
|
##
|
2010-04-02 18:18:27 +00:00
|
|
|
## You should have received a copy of the GNU General Public License
|
|
|
|
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2010-04-15 18:16:53 +00:00
|
|
|
##
|
2010-04-02 18:18:27 +00:00
|
|
|
|
2012-01-03 20:55:48 +00:00
|
|
|
ACLOCAL_AMFLAGS = -I autostuff
|
2011-12-30 09:42:39 +00:00
|
|
|
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
AM_CPPFLAGS = -DFIRMWARE_DIR='"$(FIRMWARE_DIR)"'
|
2011-01-08 02:32:25 +00:00
|
|
|
|
2011-04-03 21:18:46 +00:00
|
|
|
lib_LTLIBRARIES = libsigrok.la
|
2010-04-02 18:18:27 +00:00
|
|
|
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
# Backend files
|
2010-04-02 18:26:48 +00:00
|
|
|
libsigrok_la_SOURCES = \
|
2010-04-02 18:18:27 +00:00
|
|
|
backend.c \
|
|
|
|
device.c \
|
|
|
|
session.c \
|
2011-01-31 21:34:14 +00:00
|
|
|
session_file.c \
|
|
|
|
session_driver.c \
|
2012-02-28 22:53:17 +00:00
|
|
|
hwdriver.c \
|
2014-05-22 23:21:58 +00:00
|
|
|
trigger.c \
|
2011-04-14 07:46:53 +00:00
|
|
|
strutil.c \
|
2012-04-15 18:33:45 +00:00
|
|
|
log.c \
|
2012-10-22 09:54:40 +00:00
|
|
|
version.c \
|
2013-01-29 11:55:00 +00:00
|
|
|
error.c \
|
|
|
|
std.c
|
2010-06-24 23:11:11 +00:00
|
|
|
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
# Input formats
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
input/binary.c \
|
|
|
|
input/chronovu_la8.c \
|
|
|
|
input/csv.c \
|
|
|
|
input/input.c \
|
|
|
|
input/vcd.c \
|
|
|
|
input/wav.c
|
|
|
|
|
|
|
|
# Output formats
|
|
|
|
libsigrok_la_SOURCES += \
|
2014-04-20 20:51:09 +00:00
|
|
|
output/output.c \
|
|
|
|
output/analog.c \
|
|
|
|
output/ascii.c \
|
2014-04-19 10:25:02 +00:00
|
|
|
output/bits.c \
|
2014-04-20 20:51:09 +00:00
|
|
|
output/binary.c \
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
output/csv.c \
|
2014-04-20 20:51:09 +00:00
|
|
|
output/chronovu_la8.c \
|
|
|
|
output/gnuplot.c \
|
2014-04-19 10:31:50 +00:00
|
|
|
output/hex.c \
|
2014-04-20 20:51:09 +00:00
|
|
|
output/ols.c \
|
|
|
|
output/vcd.c
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
|
|
|
|
# Hardware (common files)
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/common/scpi.c \
|
2014-05-04 15:38:09 +00:00
|
|
|
hardware/common/scpi_tcp.c
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
if NEED_RPC
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/common/scpi_vxi.c \
|
|
|
|
hardware/common/vxi_clnt.c \
|
2014-03-19 23:04:45 +00:00
|
|
|
hardware/common/vxi_xdr.c \
|
|
|
|
hardware/common/vxi.h
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
endif
|
|
|
|
if NEED_SERIAL
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/common/serial.c \
|
|
|
|
hardware/common/scpi_serial.c
|
|
|
|
endif
|
|
|
|
if NEED_USB
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/common/ezusb.c \
|
|
|
|
hardware/common/usb.c \
|
|
|
|
hardware/common/scpi_usbtmc_libusb.c
|
|
|
|
endif
|
|
|
|
if NEED_VISA
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/common/scpi_visa.c
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Hardware (DMM parsers)
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/common/dmm/es519xx.c \
|
|
|
|
hardware/common/dmm/fs9721.c \
|
|
|
|
hardware/common/dmm/fs9922.c \
|
|
|
|
hardware/common/dmm/m2110.c \
|
|
|
|
hardware/common/dmm/metex14.c \
|
|
|
|
hardware/common/dmm/rs9lcd.c
|
|
|
|
|
|
|
|
# Hardware drivers
|
|
|
|
if HW_AGILENT_DMM
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/agilent-dmm/api.c \
|
|
|
|
hardware/agilent-dmm/agilent-dmm.h \
|
|
|
|
hardware/agilent-dmm/sched.c
|
|
|
|
endif
|
|
|
|
if HW_APPA_55II
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/appa-55ii/protocol.h \
|
|
|
|
hardware/appa-55ii/protocol.c \
|
|
|
|
hardware/appa-55ii/api.c
|
|
|
|
endif
|
|
|
|
if HW_ASIX_SIGMA
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/asix-sigma/asix-sigma.h \
|
|
|
|
hardware/asix-sigma/asix-sigma.c
|
|
|
|
endif
|
|
|
|
if HW_ATTEN_PPS3XXX
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/atten-pps3xxx/protocol.h \
|
|
|
|
hardware/atten-pps3xxx/protocol.c \
|
|
|
|
hardware/atten-pps3xxx/api.c
|
|
|
|
endif
|
|
|
|
if HW_BRYMEN_BM86X
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/brymen-bm86x/protocol.h \
|
|
|
|
hardware/brymen-bm86x/protocol.c \
|
|
|
|
hardware/brymen-bm86x/api.c
|
|
|
|
endif
|
|
|
|
if HW_BRYMEN_DMM
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/brymen-dmm/parser.c \
|
|
|
|
hardware/brymen-dmm/protocol.h \
|
|
|
|
hardware/brymen-dmm/protocol.c \
|
|
|
|
hardware/brymen-dmm/api.c
|
|
|
|
endif
|
|
|
|
if HW_CEM_DT_885X
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/cem-dt-885x/protocol.h \
|
|
|
|
hardware/cem-dt-885x/protocol.c \
|
|
|
|
hardware/cem-dt-885x/api.c
|
|
|
|
endif
|
|
|
|
if HW_CENTER_3XX
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/center-3xx/protocol.h \
|
|
|
|
hardware/center-3xx/protocol.c \
|
|
|
|
hardware/center-3xx/api.c
|
|
|
|
endif
|
2014-04-01 19:47:11 +00:00
|
|
|
if HW_CHRONOVU_LA
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
libsigrok_la_SOURCES += \
|
2014-04-01 19:47:11 +00:00
|
|
|
hardware/chronovu-la/protocol.h \
|
|
|
|
hardware/chronovu-la/protocol.c \
|
|
|
|
hardware/chronovu-la/api.c
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
endif
|
|
|
|
if HW_COLEAD_SLM
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/colead-slm/protocol.h \
|
|
|
|
hardware/colead-slm/protocol.c \
|
|
|
|
hardware/colead-slm/api.c
|
|
|
|
endif
|
|
|
|
if HW_CONRAD_DIGI_35_CPU
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/conrad-digi-35-cpu/protocol.h \
|
|
|
|
hardware/conrad-digi-35-cpu/protocol.c \
|
|
|
|
hardware/conrad-digi-35-cpu/api.c
|
|
|
|
endif
|
|
|
|
if HW_DEMO
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/demo/demo.c
|
|
|
|
endif
|
|
|
|
if HW_FLUKE_DMM
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/fluke-dmm/fluke-dmm.h \
|
|
|
|
hardware/fluke-dmm/fluke.c \
|
|
|
|
hardware/fluke-dmm/api.c
|
|
|
|
endif
|
|
|
|
if HW_FX2LAFW
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/fx2lafw/protocol.h \
|
|
|
|
hardware/fx2lafw/protocol.c \
|
|
|
|
hardware/fx2lafw/api.c
|
|
|
|
endif
|
|
|
|
if HW_GMC_MH_1X_2X
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/gmc-mh-1x-2x/protocol.h \
|
|
|
|
hardware/gmc-mh-1x-2x/protocol.c \
|
|
|
|
hardware/gmc-mh-1x-2x/api.c
|
|
|
|
endif
|
|
|
|
if HW_HAMEG_HMO
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/hameg-hmo/protocol.h \
|
|
|
|
hardware/hameg-hmo/protocol.c \
|
|
|
|
hardware/hameg-hmo/api.c
|
|
|
|
endif
|
|
|
|
if HW_HANTEK_DSO
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/hantek-dso/dso.h \
|
|
|
|
hardware/hantek-dso/dso.c \
|
|
|
|
hardware/hantek-dso/api.c
|
|
|
|
endif
|
|
|
|
if HW_IKALOGIC_SCANALOGIC2
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/ikalogic-scanalogic2/protocol.h \
|
|
|
|
hardware/ikalogic-scanalogic2/protocol.c \
|
|
|
|
hardware/ikalogic-scanalogic2/api.c
|
|
|
|
endif
|
|
|
|
if HW_IKALOGIC_SCANAPLUS
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/ikalogic-scanaplus/protocol.h \
|
|
|
|
hardware/ikalogic-scanaplus/protocol.c \
|
|
|
|
hardware/ikalogic-scanaplus/api.c
|
|
|
|
endif
|
|
|
|
if HW_KECHENG_KC_330B
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/kecheng-kc-330b/protocol.h \
|
|
|
|
hardware/kecheng-kc-330b/protocol.c \
|
|
|
|
hardware/kecheng-kc-330b/api.c
|
|
|
|
endif
|
|
|
|
if HW_LASCAR_EL_USB
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/lascar-el-usb/protocol.h \
|
|
|
|
hardware/lascar-el-usb/protocol.c \
|
|
|
|
hardware/lascar-el-usb/api.c
|
|
|
|
endif
|
|
|
|
if HW_MIC_985XX
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/mic-985xx/protocol.h \
|
|
|
|
hardware/mic-985xx/protocol.c \
|
|
|
|
hardware/mic-985xx/api.c
|
|
|
|
endif
|
2014-05-19 17:23:30 +00:00
|
|
|
if HW_MOTECH_LPS_30X
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/motech-lps-30x/protocol.h \
|
|
|
|
hardware/motech-lps-30x/protocol.c \
|
|
|
|
hardware/motech-lps-30x/api.c
|
|
|
|
endif
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
if HW_NORMA_DMM
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/norma-dmm/protocol.h \
|
|
|
|
hardware/norma-dmm/protocol.c \
|
|
|
|
hardware/norma-dmm/api.c
|
|
|
|
endif
|
|
|
|
if HW_OLS
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/openbench-logic-sniffer/protocol.h \
|
|
|
|
hardware/openbench-logic-sniffer/protocol.c \
|
|
|
|
hardware/openbench-logic-sniffer/api.c
|
|
|
|
endif
|
|
|
|
if HW_RIGOL_DS
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/rigol-ds/protocol.h \
|
|
|
|
hardware/rigol-ds/protocol.c \
|
|
|
|
hardware/rigol-ds/api.c
|
|
|
|
endif
|
|
|
|
if HW_SALEAE_LOGIC16
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/saleae-logic16/protocol.h \
|
|
|
|
hardware/saleae-logic16/protocol.c \
|
|
|
|
hardware/saleae-logic16/api.c
|
|
|
|
endif
|
|
|
|
if HW_SERIAL_DMM
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/serial-dmm/protocol.h \
|
|
|
|
hardware/serial-dmm/protocol.c \
|
|
|
|
hardware/serial-dmm/api.c
|
|
|
|
endif
|
|
|
|
if HW_SYSCLK_LWLA
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/sysclk-lwla/lwla.h \
|
|
|
|
hardware/sysclk-lwla/lwla.c \
|
|
|
|
hardware/sysclk-lwla/protocol.h \
|
|
|
|
hardware/sysclk-lwla/protocol.c \
|
|
|
|
hardware/sysclk-lwla/api.c
|
|
|
|
endif
|
|
|
|
if HW_TELEINFO
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/teleinfo/protocol.h \
|
|
|
|
hardware/teleinfo/protocol.c \
|
|
|
|
hardware/teleinfo/api.c
|
|
|
|
endif
|
|
|
|
if HW_TONDAJ_SL_814
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/tondaj-sl-814/protocol.h \
|
|
|
|
hardware/tondaj-sl-814/protocol.c \
|
|
|
|
hardware/tondaj-sl-814/api.c
|
|
|
|
endif
|
|
|
|
if HW_UNI_T_DMM
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/uni-t-dmm/protocol.h \
|
|
|
|
hardware/uni-t-dmm/protocol.c \
|
|
|
|
hardware/uni-t-dmm/api.c
|
|
|
|
endif
|
|
|
|
if HW_UNI_T_UT32X
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/uni-t-ut32x/protocol.h \
|
|
|
|
hardware/uni-t-ut32x/protocol.c \
|
|
|
|
hardware/uni-t-ut32x/api.c
|
|
|
|
endif
|
|
|
|
if HW_VICTOR_DMM
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/victor-dmm/protocol.h \
|
|
|
|
hardware/victor-dmm/protocol.c \
|
|
|
|
hardware/victor-dmm/api.c
|
|
|
|
endif
|
|
|
|
if HW_ZEROPLUS_LOGIC_CUBE
|
|
|
|
libsigrok_la_SOURCES += \
|
|
|
|
hardware/zeroplus-logic-cube/analyzer.c \
|
|
|
|
hardware/zeroplus-logic-cube/analyzer.h \
|
|
|
|
hardware/zeroplus-logic-cube/gl_usb.h \
|
|
|
|
hardware/zeroplus-logic-cube/gl_usb.c \
|
|
|
|
hardware/zeroplus-logic-cube/protocol.h \
|
|
|
|
hardware/zeroplus-logic-cube/protocol.c \
|
|
|
|
hardware/zeroplus-logic-cube/api.c
|
|
|
|
endif
|
|
|
|
|
|
|
|
libsigrok_la_LIBADD = $(LIBOBJS)
|
2010-04-02 18:18:27 +00:00
|
|
|
|
2012-03-31 09:28:24 +00:00
|
|
|
libsigrok_la_LDFLAGS = $(SR_LIB_LDFLAGS)
|
2011-01-23 18:53:50 +00:00
|
|
|
|
2012-07-04 22:55:07 +00:00
|
|
|
library_includedir = $(includedir)/libsigrok
|
|
|
|
library_include_HEADERS = libsigrok.h proto.h version.h
|
|
|
|
noinst_HEADERS = libsigrok-internal.h
|
2010-04-02 18:18:27 +00:00
|
|
|
|
2011-04-03 21:18:46 +00:00
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
|
|
pkgconfig_DATA = libsigrok.pc
|
2010-05-11 16:07:54 +00:00
|
|
|
|
Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.
This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.
A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.
All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-19 22:04:55 +00:00
|
|
|
EXTRA_DIST = \
|
|
|
|
Doxyfile \
|
|
|
|
HACKING \
|
|
|
|
README.devices \
|
|
|
|
contrib/gnuplot_chronovu_la8.gpi \
|
|
|
|
contrib/gnuplot_rigol_ds1xx2.gpi \
|
|
|
|
contrib/gnuplot_usbeesx.gpi \
|
|
|
|
contrib/gnuplot_usbeedx8.gpi \
|
|
|
|
contrib/gnuplot_usbeedx16.gpi \
|
|
|
|
contrib/sigrok-logo-notext.png \
|
|
|
|
contrib/z60_libsigrok.rules
|
|
|
|
|
|
|
|
if HAVE_CHECK
|
|
|
|
|
|
|
|
TESTS = tests/check_main
|
|
|
|
|
|
|
|
check_PROGRAMS = ${TESTS}
|
|
|
|
|
|
|
|
tests_check_main_SOURCES = \
|
|
|
|
libsigrok.h \
|
|
|
|
tests/lib.c \
|
|
|
|
tests/lib.h \
|
|
|
|
tests/check_main.c \
|
|
|
|
tests/check_core.c \
|
|
|
|
tests/check_input_all.c \
|
|
|
|
tests/check_input_binary.c \
|
|
|
|
tests/check_output_all.c \
|
|
|
|
tests/check_strutil.c \
|
|
|
|
tests/check_version.c \
|
|
|
|
tests/check_driver_all.c
|
|
|
|
|
|
|
|
tests_check_main_CFLAGS = @check_CFLAGS@
|
|
|
|
|
|
|
|
tests_check_main_LDADD = $(top_builddir)/libsigrok.la @check_LIBS@
|
|
|
|
|
|
|
|
endif
|
2012-01-04 01:50:26 +00:00
|
|
|
|
2012-05-29 18:30:15 +00:00
|
|
|
MAINTAINERCLEANFILES = ChangeLog
|
2012-03-28 00:32:52 +00:00
|
|
|
|
|
|
|
.PHONY: ChangeLog
|
|
|
|
ChangeLog:
|
2013-01-14 10:13:58 +00:00
|
|
|
git --git-dir $(top_srcdir)/.git log > ChangeLog || touch ChangeLog
|
2012-03-28 00:32:52 +00:00
|
|
|
|
|
|
|
dist-hook: ChangeLog
|
|
|
|
|