+# Basename of directory stamp files
+dirstamp = .dirstamp
+
+dirstamps = \
+ fx2lib/lib/$(dirstamp) \
+ fx2lib/lib/interrupts/$(dirstamp) \
+ hw/braintechnology-usb-lps/$(dirstamp) \
+ hw/cwav-usbeeax/$(dirstamp) \
+ hw/cwav-usbeedx/$(dirstamp) \
+ hw/cwav-usbeesx/$(dirstamp) \
+ hw/cwav-usbeezx/$(dirstamp) \
+ hw/cypress-fx2/$(dirstamp) \
+ hw/saleae-logic/$(dirstamp) \
+ hw/sigrok-fx2-8ch/$(dirstamp) \
+ hw/sigrok-fx2-16ch/$(dirstamp) \
+ hw/hantek-6022be/$(dirstamp) \
+ hw/sainsmart-dds120/$(dirstamp)
+
+# Final firmware files
+firmware_binaries = \
+ hw/braintechnology-usb-lps/fx2lafw-braintechnology-usb-lps.fw \
+ hw/cwav-usbeeax/fx2lafw-cwav-usbeeax.fw \
+ hw/cwav-usbeedx/fx2lafw-cwav-usbeedx.fw \
+ hw/cwav-usbeesx/fx2lafw-cwav-usbeesx.fw \
+ hw/cwav-usbeezx/fx2lafw-cwav-usbeezx.fw \
+ hw/cypress-fx2/fx2lafw-cypress-fx2.fw \
+ hw/saleae-logic/fx2lafw-saleae-logic.fw \
+ hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.fw \
+ hw/sigrok-fx2-16ch/fx2lafw-sigrok-fx2-16ch.fw \
+ hw/hantek-6022be/hantek-6022be.fw \
+ hw/sainsmart-dds120/sainsmart-dds120.fw
+
+fx2lafw_headers = \
+ include/command.h \
+ include/dscr.inc \
+ include/fx2lafw.h \
+ include/gpif-acquisition.h
+
+fx2lafw_sources = \
+ fx2lafw.c \
+ gpif-acquisition.c
+
+fx2lafw_objects = \
+ fx2lafw.rel \
+ gpif-acquisition.rel
+
+hantek_6022be_sources = \
+ hantek_6022be.c
+
+hantek_6022be_objects = \
+ hantek_6022be.rel
+
+sainsmart_dds120_sources = \
+ sainsmart_dds120.c
+
+sainsmart_dds120_objects = \
+ sainsmart_dds120.rel
+
+fx2lib_headers = \
+ fx2lib/include/autovector.h \
+ fx2lib/include/delay.h \
+ fx2lib/include/eputils.h \
+ fx2lib/include/fx2ints.h \
+ fx2lib/include/fx2macros.h \
+ fx2lib/include/fx2regs.h \
+ fx2lib/include/fx2types.h \
+ fx2lib/include/gpif.h \
+ fx2lib/include/i2c.h \
+ fx2lib/include/lights.h \
+ fx2lib/include/serial.h \
+ fx2lib/include/setupdat.h
+
+fx2lib_sources = \
+ fx2lib/lib/delay.c \
+ fx2lib/lib/eputils.c \
+ fx2lib/lib/gpif.c \
+ fx2lib/lib/i2c.c \
+ fx2lib/lib/int4av.a51 \
+ fx2lib/lib/serial.c \
+ fx2lib/lib/delay.c \
+ fx2lib/lib/setupdat.c \
+ fx2lib/lib/usbav.a51
+
+fx2lib_objects = \
+ fx2lib/lib/delay.rel \
+ fx2lib/lib/eputils.rel \
+ fx2lib/lib/gpif.rel \
+ fx2lib/lib/i2c.rel \
+ fx2lib/lib/int4av.rel \
+ fx2lib/lib/serial.rel \
+ fx2lib/lib/delay.rel \
+ fx2lib/lib/setupdat.rel \
+ fx2lib/lib/usbav.rel
+
+fx2lib_ints_sources = \
+ fx2lib/lib/interrupts/ep0ack_isr.c \
+ fx2lib/lib/interrupts/ep0in_isr.c \
+ fx2lib/lib/interrupts/ep0out_isr.c \
+ fx2lib/lib/interrupts/ep0ping_isr.c \
+ fx2lib/lib/interrupts/ep1in_isr.c \
+ fx2lib/lib/interrupts/ep1out_isr.c \
+ fx2lib/lib/interrupts/ep1ping_isr.c \
+ fx2lib/lib/interrupts/ep2ef_isr.c \
+ fx2lib/lib/interrupts/ep2ff_isr.c \
+ fx2lib/lib/interrupts/ep2isoerr_isr.c \
+ fx2lib/lib/interrupts/ep2_isr.c \
+ fx2lib/lib/interrupts/ep2pf_isr.c \
+ fx2lib/lib/interrupts/ep2ping_isr.c \
+ fx2lib/lib/interrupts/ep4ef_isr.c \
+ fx2lib/lib/interrupts/ep4ff_isr.c \
+ fx2lib/lib/interrupts/ep4isoerr_isr.c \
+ fx2lib/lib/interrupts/ep4_isr.c \
+ fx2lib/lib/interrupts/ep4pf_isr.c \
+ fx2lib/lib/interrupts/ep4ping_isr.c \
+ fx2lib/lib/interrupts/ep6ef_isr.c \
+ fx2lib/lib/interrupts/ep6ff_isr.c \
+ fx2lib/lib/interrupts/ep6isoerr_isr.c \
+ fx2lib/lib/interrupts/ep6_isr.c \
+ fx2lib/lib/interrupts/ep6pf_isr.c \
+ fx2lib/lib/interrupts/ep6ping_isr.c \
+ fx2lib/lib/interrupts/ep8ef_isr.c \
+ fx2lib/lib/interrupts/ep8ff_isr.c \
+ fx2lib/lib/interrupts/ep8isoerr_isr.c \
+ fx2lib/lib/interrupts/ep8_isr.c \
+ fx2lib/lib/interrupts/ep8pf_isr.c \
+ fx2lib/lib/interrupts/ep8ping_isr.c \
+ fx2lib/lib/interrupts/errlimit_isr.c \
+ fx2lib/lib/interrupts/gpifdone_isr.c \
+ fx2lib/lib/interrupts/gpifwf_isr.c \
+ fx2lib/lib/interrupts/hispeed_isr.c \
+ fx2lib/lib/interrupts/ibn_isr.c \
+ fx2lib/lib/interrupts/sof_isr.c \
+ fx2lib/lib/interrupts/spare_isr.c \
+ fx2lib/lib/interrupts/sudav_isr.c \
+ fx2lib/lib/interrupts/suspend_isr.c \
+ fx2lib/lib/interrupts/sutok_isr.c \
+ fx2lib/lib/interrupts/usbreset_isr.c
+
+fx2lib_ints_objects = \
+ fx2lib/lib/interrupts/ep0ack_isr.rel \
+ fx2lib/lib/interrupts/ep0in_isr.rel \
+ fx2lib/lib/interrupts/ep0out_isr.rel \
+ fx2lib/lib/interrupts/ep0ping_isr.rel \
+ fx2lib/lib/interrupts/ep1in_isr.rel \
+ fx2lib/lib/interrupts/ep1out_isr.rel \
+ fx2lib/lib/interrupts/ep1ping_isr.rel \
+ fx2lib/lib/interrupts/ep2ef_isr.rel \
+ fx2lib/lib/interrupts/ep2ff_isr.rel \
+ fx2lib/lib/interrupts/ep2isoerr_isr.rel \
+ fx2lib/lib/interrupts/ep2_isr.rel \
+ fx2lib/lib/interrupts/ep2pf_isr.rel \
+ fx2lib/lib/interrupts/ep2ping_isr.rel \
+ fx2lib/lib/interrupts/ep4ef_isr.rel \
+ fx2lib/lib/interrupts/ep4ff_isr.rel \
+ fx2lib/lib/interrupts/ep4isoerr_isr.rel \
+ fx2lib/lib/interrupts/ep4_isr.rel \
+ fx2lib/lib/interrupts/ep4pf_isr.rel \
+ fx2lib/lib/interrupts/ep4ping_isr.rel \
+ fx2lib/lib/interrupts/ep6ef_isr.rel \
+ fx2lib/lib/interrupts/ep6ff_isr.rel \
+ fx2lib/lib/interrupts/ep6isoerr_isr.rel \
+ fx2lib/lib/interrupts/ep6_isr.rel \
+ fx2lib/lib/interrupts/ep6pf_isr.rel \
+ fx2lib/lib/interrupts/ep6ping_isr.rel \
+ fx2lib/lib/interrupts/ep8ef_isr.rel \
+ fx2lib/lib/interrupts/ep8ff_isr.rel \
+ fx2lib/lib/interrupts/ep8isoerr_isr.rel \
+ fx2lib/lib/interrupts/ep8_isr.rel \
+ fx2lib/lib/interrupts/ep8pf_isr.rel \
+ fx2lib/lib/interrupts/ep8ping_isr.rel \
+ fx2lib/lib/interrupts/errlimit_isr.rel \
+ fx2lib/lib/interrupts/gpifdone_isr.rel \
+ fx2lib/lib/interrupts/gpifwf_isr.rel \
+ fx2lib/lib/interrupts/hispeed_isr.rel \
+ fx2lib/lib/interrupts/ibn_isr.rel \
+ fx2lib/lib/interrupts/sof_isr.rel \
+ fx2lib/lib/interrupts/spare_isr.rel \
+ fx2lib/lib/interrupts/sudav_isr.rel \
+ fx2lib/lib/interrupts/suspend_isr.rel \
+ fx2lib/lib/interrupts/sutok_isr.rel \
+ fx2lib/lib/interrupts/usbreset_isr.rel
+
+fx2lib_libs = \
+ fx2lib/lib/fx2.lib \
+ fx2lib/lib/interrupts/ints.lib
+
+hw_sources = \
+ hw/braintechnology-usb-lps/dscr.a51 \
+ hw/cwav-usbeeax/dscr.a51 \
+ hw/cwav-usbeedx/dscr.a51 \
+ hw/cwav-usbeesx/dscr.a51 \
+ hw/cwav-usbeezx/dscr.a51 \
+ hw/cypress-fx2/dscr.a51 \
+ hw/saleae-logic/dscr.a51 \
+ hw/sigrok-fx2-8ch/dscr.a51 \
+ hw/sigrok-fx2-16ch/dscr.a51 \
+ hw/hantek-6022be/dscr.a51 \
+ hw/sainsmart-dds120/dscr.a51
+
+firmwaredir = $(datadir)/sigrok-firmware
+firmware_DATA = $(firmware_binaries)
+
+dist_noinst_DATA = $(fx2lafw_headers) $(fx2lafw_sources) $(hantek_6022be_headers) $(hantek_6022be_sources) $(sainsmart_dds120_sources) $(sainsmart_dds120_headers) $(fx2lib_headers) $(fx2lib_sources) $(fx2lib_ints_sources) $(hw_sources)
+dist_noinst_SCRIPTS = autogen.sh
+
+MOSTLYCLEANFILES = *.asm fx2lib/lib/*.asm fx2lib/lib/*.lib fx2lib/lib/interrupts/*.asm fx2lib/lib/interrupts/*.lib
+CLEANFILES = $(firmware_binaries)
+DISTCLEANFILES = $(dirstamps)
+
+# Custom silent rules prefixes
+SF_V_SDAS = $(sf_v_SDAS_@AM_V@)
+sf_v_SDAS_ = $(sf_v_SDAS_@AM_DEFAULT_V@)
+sf_v_SDAS_0 = @echo " SDAS " $@;
+sf_v_SDAS_1 =
+
+SF_V_SDCC = $(sf_v_SDCC_@AM_V@)
+sf_v_SDCC_ = $(sf_v_SDCC_@AM_DEFAULT_V@)
+sf_v_SDCC_0 = @echo " SDCC " $@;
+sf_v_SDCC_1 =
+
+.PHONY: dist-bin dist-changelog