+# 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
+if HW_CHRONOVU_LA
+libsigrok_la_SOURCES += \
+ hardware/chronovu-la/protocol.h \
+ hardware/chronovu-la/protocol.c \
+ hardware/chronovu-la/api.c
+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
+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