]> sigrok.org Git - libsigrok.git/blobdiff - Makefile.am
group all drivers into a single object
[libsigrok.git] / Makefile.am
index 58842e9bfad8c25dd79dc66820e9023fcdf04824..69bb447347046123b96e6ab5afac7a0f27274c45 100644 (file)
@@ -167,42 +167,49 @@ libsigrok_la_SOURCES += \
        src/scale/kern.c
 
 # Hardware drivers
+noinst_LTLIBRARIES = src/libdrivers.la
 
-# This entry must be placed before all drivers
-libsigrok_la_SOURCES += src/hardware/driver_list_start.c
+src/libdrivers.o: src/libdrivers.la
+       $(AM_V_CCLD)$(LINK) src/libdrivers.la
+src/libdrivers.lo: src/libdrivers.o
+       $(AM_V_GEN)echo "# Generated by libtool" > $@
+       $(AM_V_at)echo "pic_object='libdrivers.o'" >> $@
+       $(AM_V_at)echo "non_pic_object='libdrivers.o'" >> $@
+
+src_libdrivers_la_SOURCES = src/drivers.c
 
 if HW_AGILENT_DMM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/agilent-dmm/api.c \
        src/hardware/agilent-dmm/agilent-dmm.h \
        src/hardware/agilent-dmm/sched.c
 endif
 if HW_APPA_55II
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/appa-55ii/protocol.h \
        src/hardware/appa-55ii/protocol.c \
        src/hardware/appa-55ii/api.c
 endif
 if HW_ARACHNID_LABS_RE_LOAD_PRO
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/arachnid-labs-re-load-pro/protocol.h \
        src/hardware/arachnid-labs-re-load-pro/protocol.c \
        src/hardware/arachnid-labs-re-load-pro/api.c
 endif
 if HW_ASIX_SIGMA
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/asix-sigma/protocol.h \
        src/hardware/asix-sigma/protocol.c \
        src/hardware/asix-sigma/api.c
 endif
 if HW_ATTEN_PPS3XXX
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/atten-pps3xxx/protocol.h \
        src/hardware/atten-pps3xxx/protocol.c \
        src/hardware/atten-pps3xxx/api.c
 endif
 if HW_BAYLIBRE_ACME
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/baylibre-acme/protocol.h \
        src/hardware/baylibre-acme/protocol.c \
        src/hardware/baylibre-acme/api.c \
@@ -210,77 +217,77 @@ libsigrok_la_SOURCES += \
        src/hardware/baylibre-acme/gpio.c
 endif
 if HW_BEAGLELOGIC
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/beaglelogic/beaglelogic.h \
        src/hardware/beaglelogic/protocol.h \
        src/hardware/beaglelogic/protocol.c \
        src/hardware/beaglelogic/api.c
 endif
 if HW_BRYMEN_BM86X
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/brymen-bm86x/protocol.h \
        src/hardware/brymen-bm86x/protocol.c \
        src/hardware/brymen-bm86x/api.c
 endif
 if HW_BRYMEN_DMM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/brymen-dmm/parser.c \
        src/hardware/brymen-dmm/protocol.h \
        src/hardware/brymen-dmm/protocol.c \
        src/hardware/brymen-dmm/api.c
 endif
 if HW_CEM_DT_885X
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/cem-dt-885x/protocol.h \
        src/hardware/cem-dt-885x/protocol.c \
        src/hardware/cem-dt-885x/api.c
 endif
 if HW_CENTER_3XX
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/center-3xx/protocol.h \
        src/hardware/center-3xx/protocol.c \
        src/hardware/center-3xx/api.c
 endif
 if HW_CHRONOVU_LA
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/chronovu-la/protocol.h \
        src/hardware/chronovu-la/protocol.c \
        src/hardware/chronovu-la/api.c
 endif
 if HW_COLEAD_SLM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/colead-slm/protocol.h \
        src/hardware/colead-slm/protocol.c \
        src/hardware/colead-slm/api.c
 endif
 if HW_CONRAD_DIGI_35_CPU
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/conrad-digi-35-cpu/protocol.h \
        src/hardware/conrad-digi-35-cpu/protocol.c \
        src/hardware/conrad-digi-35-cpu/api.c
 endif
 if HW_DEMO
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/demo/demo.c
 endif
 if HW_DEREE_DE5000
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/deree-de5000/api.c
 endif
 if HW_FLUKE_DMM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/fluke-dmm/fluke-dmm.h \
        src/hardware/fluke-dmm/fluke.c \
        src/hardware/fluke-dmm/api.c
 endif
 if HW_FTDI_LA
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/ftdi-la/protocol.h \
        src/hardware/ftdi-la/protocol.c \
        src/hardware/ftdi-la/api.c
 endif
 if HW_FX2LAFW
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/fx2lafw/protocol.h \
        src/hardware/fx2lafw/protocol.c \
        src/hardware/fx2lafw/api.c \
@@ -288,164 +295,164 @@ libsigrok_la_SOURCES += \
        src/hardware/fx2lafw/dslogic.h
 endif
 if HW_GMC_MH_1X_2X
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/gmc-mh-1x-2x/protocol.h \
        src/hardware/gmc-mh-1x-2x/protocol.c \
        src/hardware/gmc-mh-1x-2x/api.c
 endif
 if HW_GWINSTEK_GDS_800
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/gwinstek-gds-800/protocol.h \
        src/hardware/gwinstek-gds-800/protocol.c \
        src/hardware/gwinstek-gds-800/api.c
 endif
 if HW_HAMEG_HMO
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/hameg-hmo/protocol.h \
        src/hardware/hameg-hmo/protocol.c \
        src/hardware/hameg-hmo/api.c
 endif
 if HW_HANTEK_6XXX
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/hantek-6xxx/protocol.h \
        src/hardware/hantek-6xxx/protocol.c \
        src/hardware/hantek-6xxx/api.c
 endif
 if HW_HANTEK_DSO
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/hantek-dso/dso.h \
        src/hardware/hantek-dso/dso.c \
        src/hardware/hantek-dso/api.c
 endif
 if HW_HP_3457A
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/hp-3457a/protocol.h \
        src/hardware/hp-3457a/protocol.c \
        src/hardware/hp-3457a/api.c
 endif
 if HW_HUNG_CHANG_DSO_2100
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/hung-chang-dso-2100/protocol.h \
        src/hardware/hung-chang-dso-2100/protocol.c \
        src/hardware/hung-chang-dso-2100/api.c
 endif
 if HW_IKALOGIC_SCANALOGIC2
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/ikalogic-scanalogic2/protocol.h \
        src/hardware/ikalogic-scanalogic2/protocol.c \
        src/hardware/ikalogic-scanalogic2/api.c
 endif
 if HW_IKALOGIC_SCANAPLUS
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/ikalogic-scanaplus/protocol.h \
        src/hardware/ikalogic-scanaplus/protocol.c \
        src/hardware/ikalogic-scanaplus/api.c
 endif
 if HW_KECHENG_KC_330B
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/kecheng-kc-330b/protocol.h \
        src/hardware/kecheng-kc-330b/protocol.c \
        src/hardware/kecheng-kc-330b/api.c
 endif
 if HW_KERN_SCALE
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/kern-scale/protocol.h \
        src/hardware/kern-scale/protocol.c \
        src/hardware/kern-scale/api.c
 endif
 if HW_KORAD_KAXXXXP
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/korad-kaxxxxp/protocol.h \
        src/hardware/korad-kaxxxxp/protocol.c \
        src/hardware/korad-kaxxxxp/api.c
 endif
 if HW_LASCAR_EL_USB
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/lascar-el-usb/protocol.h \
        src/hardware/lascar-el-usb/protocol.c \
        src/hardware/lascar-el-usb/api.c
 endif
 if HW_LECROY_LOGICSTUDIO
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/lecroy-logicstudio/protocol.h \
        src/hardware/lecroy-logicstudio/protocol.c \
        src/hardware/lecroy-logicstudio/api.c
 endif
 if HW_MANSON_HCS_3XXX
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/manson-hcs-3xxx/protocol.h \
        src/hardware/manson-hcs-3xxx/protocol.c \
        src/hardware/manson-hcs-3xxx/api.c
 endif
 if HW_MAYNUO_M97
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/maynuo-m97/protocol.h \
        src/hardware/maynuo-m97/protocol.c \
        src/hardware/maynuo-m97/api.c
 endif
 if HW_MIC_985XX
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/mic-985xx/protocol.h \
        src/hardware/mic-985xx/protocol.c \
        src/hardware/mic-985xx/api.c
 endif
 if HW_MOTECH_LPS_30X
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/motech-lps-30x/protocol.h \
        src/hardware/motech-lps-30x/protocol.c \
        src/hardware/motech-lps-30x/api.c
 endif
 if HW_NORMA_DMM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/norma-dmm/protocol.h \
        src/hardware/norma-dmm/protocol.c \
        src/hardware/norma-dmm/api.c
 endif
 if HW_OPENBENCH_LOGIC_SNIFFER
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/openbench-logic-sniffer/protocol.h \
        src/hardware/openbench-logic-sniffer/protocol.c \
        src/hardware/openbench-logic-sniffer/api.c
 endif
 if HW_PCE_322A
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/pce-322a/protocol.h \
        src/hardware/pce-322a/protocol.c \
        src/hardware/pce-322a/api.c
 endif
 if HW_PIPISTRELLO_OLS
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/pipistrello-ols/protocol.h \
        src/hardware/pipistrello-ols/protocol.c \
        src/hardware/pipistrello-ols/api.c
 endif
 if HW_RIGOL_DS
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/rigol-ds/protocol.h \
        src/hardware/rigol-ds/protocol.c \
        src/hardware/rigol-ds/api.c
 endif
 if HW_SALEAE_LOGIC16
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/saleae-logic16/protocol.h \
        src/hardware/saleae-logic16/protocol.c \
        src/hardware/saleae-logic16/api.c
 endif
 if HW_SCPI_PPS
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/scpi-pps/protocol.h \
        src/hardware/scpi-pps/protocol.c \
        src/hardware/scpi-pps/profiles.c \
        src/hardware/scpi-pps/api.c
 endif
 if HW_SERIAL_DMM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/serial-dmm/protocol.h \
        src/hardware/serial-dmm/protocol.c \
        src/hardware/serial-dmm/api.c
 endif
 if HW_SYSCLK_LWLA
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/sysclk-lwla/lwla.h \
        src/hardware/sysclk-lwla/lwla.c \
        src/hardware/sysclk-lwla/lwla1016.c \
@@ -455,43 +462,43 @@ libsigrok_la_SOURCES += \
        src/hardware/sysclk-lwla/api.c
 endif
 if HW_TELEINFO
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/teleinfo/protocol.h \
        src/hardware/teleinfo/protocol.c \
        src/hardware/teleinfo/api.c
 endif
 if HW_TESTO
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/testo/protocol.h \
        src/hardware/testo/protocol.c \
        src/hardware/testo/api.c
 endif
 if HW_TONDAJ_SL_814
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/tondaj-sl-814/protocol.h \
        src/hardware/tondaj-sl-814/protocol.c \
        src/hardware/tondaj-sl-814/api.c
 endif
 if HW_UNI_T_DMM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/uni-t-dmm/protocol.h \
        src/hardware/uni-t-dmm/protocol.c \
        src/hardware/uni-t-dmm/api.c
 endif
 if HW_UNI_T_UT32X
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/uni-t-ut32x/protocol.h \
        src/hardware/uni-t-ut32x/protocol.c \
        src/hardware/uni-t-ut32x/api.c
 endif
 if HW_VICTOR_DMM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/victor-dmm/protocol.h \
        src/hardware/victor-dmm/protocol.c \
        src/hardware/victor-dmm/api.c
 endif
 if HW_YOKOGAWA_DLM
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/yokogawa-dlm/protocol.h \
        src/hardware/yokogawa-dlm/protocol.c \
        src/hardware/yokogawa-dlm/protocol_wrappers.h \
@@ -499,7 +506,7 @@ libsigrok_la_SOURCES += \
        src/hardware/yokogawa-dlm/api.c
 endif
 if HW_ZEROPLUS_LOGIC_CUBE
-libsigrok_la_SOURCES += \
+src_libdrivers_la_SOURCES += \
        src/hardware/zeroplus-logic-cube/analyzer.c \
        src/hardware/zeroplus-logic-cube/analyzer.h \
        src/hardware/zeroplus-logic-cube/gl_usb.h \
@@ -509,10 +516,7 @@ libsigrok_la_SOURCES += \
        src/hardware/zeroplus-logic-cube/api.c
 endif
 
-# This entry must be placed after all drivers
-libsigrok_la_SOURCES += src/hardware/driver_list_end.c
-
-libsigrok_la_LIBADD = $(SR_EXTRA_LIBS) $(LIBSIGROK_LIBS)
+libsigrok_la_LIBADD = src/libdrivers.lo $(SR_EXTRA_LIBS) $(LIBSIGROK_LIBS)
 libsigrok_la_LDFLAGS = -version-info $(SR_LIB_VERSION) -no-undefined
 
 library_includedir = $(includedir)/libsigrok