]> sigrok.org Git - sigrok-firmware-fx2lafw.git/blobdiff - Makefile.am
dscr.inc: Shorten representation of two strings.
[sigrok-firmware-fx2lafw.git] / Makefile.am
index 733b81c054a0fbdcceea3204757b12c7874434da..de51b1b671c81543c0980ea47c4bda2d79855389 100644 (file)
@@ -24,6 +24,8 @@ SUFFIXES = .a51 .c .fw .ihx .rel
 
 # Flags for firmware hex file generation
 SDCC_LINK_FLAGS = --code-size 0x1c00 --xram-size 0x0200 --xram-loc 0x1c00 -Wl"-b DSCR_AREA=0x1e00" -Wl"-b INT2JT=0x1f00"
+SDCC_LINK_FLAGS_HANTEK_6022BE = --code-size 0x3c00 --xram-size 0x0100 --xram-loc 0x3c00 -Wl"-b DSCR_AREA=0x3d00" -Wl"-b INT2JT=0x3f00"
+SDCC_LINK_FLAGS_SAINSMART_DDS120 = --code-size 0x3c00 --xram-size 0x0100 --xram-loc 0x3c00 -Wl"-b DSCR_AREA=0x3d00" -Wl"-b INT2JT=0x3f00"
 
 # Include paths
 as_includes = -I$(srcdir)/include
@@ -42,10 +44,13 @@ dirstamps = \
        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/sigrok-fx2-16ch/$(dirstamp) \
+       hw/hantek-6022be/$(dirstamp) \
+       hw/sainsmart-dds120/$(dirstamp)
 
 # Final firmware files
 firmware_binaries = \
@@ -53,10 +58,13 @@ firmware_binaries = \
        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/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 \
@@ -72,6 +80,18 @@ 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 \
@@ -205,20 +225,35 @@ hw_sources = \
        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/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) $(fx2lib_headers) $(fx2lib_sources) $(fx2lib_ints_sources) $(hw_sources)
+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
 
 all-local: $(firmware_binaries)
@@ -241,15 +276,19 @@ dist-changelog:
 # Creates a convenience tarball with just the generated *.fw files, so that
 # the users don't have to build them manually.
 dist-bin: $(firmware_binaries)
+       -$(AM_V_at)rm -fr $(distdir_bin)
        $(AM_V_at)$(MKDIR_P) $(distdir_bin)
        $(AM_V_at)$(INSTALL_DATA) $(firmware_binaries) $(distdir_bin)
        $(AM_V_at)$(INSTALL_DATA) $(srcdir)/COPYING $(srcdir)/COPYING.LESSER $(srcdir)/NEWS $(srcdir)/README $(distdir_bin)
-       $(AM_V_at)git -C '$(top_srcdir)' log > $(distdir_bin)/ChangeLog
+       $(AM_V_at)if test -d '$(top_srcdir)/.git'; \
+       then git -C '$(top_srcdir)' log > $(distdir_bin)/ChangeLog; \
+       else $(INSTALL_DATA) $(srcdir)/ChangeLog $(distdir_bin); fi
        $(AM_V_at)tar -czf $(distdir_bin).tar.gz $(distdir_bin)
        -$(AM_V_at)rm -fr $(distdir_bin)
 
 # List dependencies
 $(fx2lafw_objects): $(fx2lafw_headers)
+$(hantek_6022be_objects): $(hantek_6022be_headers)
 $(fx2lib_objects): fx2lib/lib/$(dirstamp) $(fx2lib_headers)
 $(fx2lib_ints_objects): fx2lib/lib/interrupts/$(dirstamp) $(fx2lib_headers)
 
@@ -257,10 +296,14 @@ hw/braintechnology-usb-lps/dscr.rel: hw/braintechnology-usb-lps/$(dirstamp) incl
 hw/cwav-usbeeax/dscr.rel: hw/cwav-usbeeax/$(dirstamp) include/dscr.inc
 hw/cwav-usbeedx/dscr.rel: hw/cwav-usbeedx/$(dirstamp) include/dscr.inc
 hw/cwav-usbeesx/dscr.rel: hw/cwav-usbeesx/$(dirstamp) include/dscr.inc
+hw/cwav-usbeezx/dscr.rel: hw/cwav-usbeezx/$(dirstamp) include/dscr.inc
 hw/cypress-fx2/dscr.rel: hw/cypress-fx2/$(dirstamp) include/dscr.inc
 hw/saleae-logic/dscr.rel: hw/saleae-logic/$(dirstamp) include/dscr.inc
 hw/sigrok-fx2-8ch/dscr.rel: hw/sigrok-fx2-8ch/$(dirstamp) include/dscr.inc
 hw/sigrok-fx2-16ch/dscr.rel: hw/sigrok-fx2-16ch/$(dirstamp) include/dscr.inc
+hw/hantek-6022be/dscr.rel: hw/hantek-6022be/$(dirstamp) include/dscr_hantek_6022be.inc
+hw/sainsmart-dds120/dscr.rel: hw/sainsmart-dds120/$(dirstamp) include/dscr_hantek_6022be.inc
+
 
 # Create build subdirectories
 $(dirstamps):
@@ -287,6 +330,9 @@ hw/cwav-usbeedx/fx2lafw-cwav-usbeedx.ihx: hw/cwav-usbeedx/dscr.rel $(fx2lafw_obj
 hw/cwav-usbeesx/fx2lafw-cwav-usbeesx.ihx: hw/cwav-usbeesx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
        $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeesx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
 
+hw/cwav-usbeezx/fx2lafw-cwav-usbeezx.ihx: hw/cwav-usbeezx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
+       $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeezx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
+
 hw/cypress-fx2/fx2lafw-cypress-fx2.ihx: hw/cypress-fx2/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
        $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cypress-fx2/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
 
@@ -299,11 +345,17 @@ hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.ihx: hw/sigrok-fx2-8ch/dscr.rel $(fx2la
 hw/sigrok-fx2-16ch/fx2lafw-sigrok-fx2-16ch.ihx: hw/sigrok-fx2-16ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
        $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/sigrok-fx2-16ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
 
+hw/hantek-6022be/hantek-6022be.ihx: hw/hantek-6022be/dscr.rel $(hantek_6022be_objects) $(fx2lib_libs)
+       $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_HANTEK_6022BE) -o $@ hw/hantek-6022be/dscr.rel $(hantek_6022be_objects) $(fx2lib_libs)
+
+hw/sainsmart-dds120/sainsmart-dds120.ihx: hw/sainsmart-dds120/dscr.rel $(sainsmart_dds120_objects) $(fx2lib_libs)
+       $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SAINSMART_DDS120) -o $@ hw/sainsmart-dds120/dscr.rel $(sainsmart_dds120_objects) $(fx2lib_libs)
+
 .a51.rel:
-       $(AM_V_GEN)$(SDAS8051) -glos $(as_includes) $@ $<
+       $(SF_V_SDAS)$(SDAS8051) -glos $(as_includes) $@ $<
 
 .c.rel:
-       $(AM_V_GEN)$(SDCC) -mmcs51 $(c_includes) -c $< -o $@
+       $(SF_V_SDCC)$(SDCC) -mmcs51 $(c_includes) -c $< -o $@
 
 if FOUND_OBJCOPY
 .ihx.fw: