X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=Makefile.am;h=5d751f1a5343994824c064935e67d68d95a0b1c2;hb=8e269f7bfe3c6934a12f7a33274a6bf249a02610;hp=733b81c054a0fbdcceea3204757b12c7874434da;hpb=0dc651eba4b01c936bac3380ae11deed34d082e3;p=sigrok-firmware-fx2lafw.git diff --git a/Makefile.am b/Makefile.am index 733b81c0..5d751f1a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -15,8 +15,7 @@ ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## along with this program; if not, see . ## GNUMAKEFLAGS = --no-print-directory @@ -24,6 +23,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_SCOPE = --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 +42,15 @@ 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/hantek-6022bl/$(dirstamp) \ + hw/sainsmart-dds120/$(dirstamp) \ + hw/yixingdianzi-mdso/$(dirstamp) # Final firmware files firmware_binaries = \ @@ -53,14 +58,20 @@ 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/fx2lafw-hantek-6022be.fw \ + hw/hantek-6022bl/fx2lafw-hantek-6022bl.fw \ + hw/sainsmart-dds120/fx2lafw-sainsmart-dds120.fw \ + hw/yixingdianzi-mdso/fx2lafw-yixingdianzi-mdso.fw fx2lafw_headers = \ include/command.h \ include/dscr.inc \ + include/common.inc \ include/fx2lafw.h \ include/gpif-acquisition.h @@ -72,6 +83,27 @@ fx2lafw_objects = \ fx2lafw.rel \ gpif-acquisition.rel +scope_headers = \ + include/dscr_scope.inc \ + include/scope.inc \ + include/common.inc + +hantek_6022be_headers = $(scope_headers) +hantek_6022be_sources = hw/hantek-6022be/fw.c +hantek_6022be_objects = hw/hantek-6022be/fw.rel + +hantek_6022bl_headers = $(scope_headers) +hantek_6022bl_sources = hw/hantek-6022bl/fw.c +hantek_6022bl_objects = hw/hantek-6022bl/fw.rel + +sainsmart_dds120_headers = $(scope_headers) +sainsmart_dds120_sources = hw/sainsmart-dds120/fw.c +sainsmart_dds120_objects = hw/sainsmart-dds120/fw.rel + +yixingdianzi_mdso_headers = $(scope_headers) +yixingdianzi_mdso_sources = hw/yixingdianzi-mdso/fw.c +yixingdianzi_mdso_objects = hw/yixingdianzi-mdso/fw.rel + fx2lib_headers = \ fx2lib/include/autovector.h \ fx2lib/include/delay.h \ @@ -205,20 +237,43 @@ 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/hantek-6022bl/dscr.a51 \ + hw/sainsmart-dds120/dscr.a51 \ + hw/yixingdianzi-mdso/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) \ + $(hantek_6022bl_headers) $(hantek_6022bl_sources) \ + $(sainsmart_dds120_sources) $(sainsmart_dds120_headers) \ + $(yixingdianzi_mdso_sources) $(yixingdianzi_mdso_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 +MOSTLYCLEANFILES = *.asm fx2lib/lib/*.asm hw/**/*.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 +296,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 +316,16 @@ 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_scope.inc +hw/hantek-6022bl/dscr.rel: hw/hantek-6022bl/$(dirstamp) include/dscr_scope.inc +hw/sainsmart-dds120/dscr.rel: hw/sainsmart-dds120/$(dirstamp) include/dscr_scope.inc +hw/yixingdianzi-mdso/dscr.rel: hw/yixingdianzi-mdso/$(dirstamp) include/dscr_scope.inc + # Create build subdirectories $(dirstamps): @@ -287,6 +352,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 +367,23 @@ 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/fx2lafw-hantek-6022be.ihx: hw/hantek-6022be/dscr.rel $(hantek_6022be_objects) $(fx2lib_libs) + $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/hantek-6022be/dscr.rel $(hantek_6022be_objects) $(fx2lib_libs) + +hw/hantek-6022bl/fx2lafw-hantek-6022bl.ihx: hw/hantek-6022bl/dscr.rel $(hantek_6022bl_objects) $(fx2lib_libs) + $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/hantek-6022bl/dscr.rel $(hantek_6022bl_objects) $(fx2lib_libs) + +hw/sainsmart-dds120/fx2lafw-sainsmart-dds120.ihx: hw/sainsmart-dds120/dscr.rel $(sainsmart_dds120_objects) $(fx2lib_libs) + $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/sainsmart-dds120/dscr.rel $(sainsmart_dds120_objects) $(fx2lib_libs) + +hw/yixingdianzi-mdso/fx2lafw-yixingdianzi-mdso.ihx: hw/yixingdianzi-mdso/dscr.rel $(yixingdianzi_mdso_objects) $(fx2lib_libs) + $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/yixingdianzi-mdso/dscr.rel $(yixingdianzi_mdso_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: