X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=Makefile.am;h=59ed5f24c8bc555479b22bc3675eba35ce8907c0;hb=374453b93a012f483dc9da29ac4713b561e1aacb;hp=19f4388eb8f39ff78dbdbdf8375b92d891b6a802;hpb=88d4ba3e4b3c0b8587b2a338a0bf09640d1edb7e;p=sigrok-firmware-fx2lafw.git diff --git a/Makefile.am b/Makefile.am index 19f4388e..59ed5f24 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,6 +24,7 @@ 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" # Include paths as_includes = -I$(srcdir)/include @@ -45,7 +46,8 @@ dirstamps = \ 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) # Final firmware files firmware_binaries = \ @@ -56,7 +58,8 @@ firmware_binaries = \ 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 fx2lafw_headers = \ include/command.h \ @@ -72,6 +75,12 @@ fx2lafw_objects = \ fx2lafw.rel \ gpif-acquisition.rel +hantek_6022be_sources = \ + hantek_6022be.c + +hantek_6022be_objects = \ + hantek_6022be.rel + fx2lib_headers = \ fx2lib/include/autovector.h \ fx2lib/include/delay.h \ @@ -208,17 +217,30 @@ hw_sources = \ 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 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) $(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) @@ -232,26 +254,28 @@ mostlyclean-local: dist-hook: dist-changelog dist-changelog: - $(AM_V_at)if test ! -d '$(top_srcdir)/.git'; then \ - cp -f '$(top_srcdir)/ChangeLog' "$(top_distdir)/ChangeLog"; \ - elif git -C '$(top_srcdir)' log >.ChangeLog.tmp; then \ - mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \ - else \ - rm -f .ChangeLog.tmp; exit 1; \ - fi + $(AM_V_at)if test -d '$(top_srcdir)/.git'; then \ + if git -C '$(top_srcdir)' log >.ChangeLog.tmp; \ + then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \ + else rm -f .ChangeLog.tmp; exit 1; fi; \ + else :; fi # 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) @@ -263,6 +287,7 @@ 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.inc # Create build subdirectories $(dirstamps): @@ -301,11 +326,14 @@ 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) + .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: