]> sigrok.org Git - sigrok-firmware-fx2lafw.git/blobdiff - Makefile.am
Add Hantek PSO2020 firmware support
[sigrok-firmware-fx2lafw.git] / Makefile.am
index 1659723c3f4699c3b2fad3633049c23d12daf400..9cc9d23e529dde77d02ca41a839e259a79ae4af3 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
 ##
 
 GNUMAKEFLAGS = --no-print-directory
@@ -24,8 +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_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"
+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
@@ -46,11 +44,15 @@ dirstamps = \
        hw/cwav-usbeesx/$(dirstamp) \
        hw/cwav-usbeezx/$(dirstamp) \
        hw/cypress-fx2/$(dirstamp) \
+       hw/hantek-6022be/$(dirstamp) \
+       hw/hantek-6022bl/$(dirstamp) \
+       hw/hantek-pso2020/$(dirstamp) \
+       hw/instrustar-isds205b/$(dirstamp) \
+       hw/sainsmart-dds120/$(dirstamp) \
        hw/saleae-logic/$(dirstamp) \
        hw/sigrok-fx2-8ch/$(dirstamp) \
        hw/sigrok-fx2-16ch/$(dirstamp) \
-       hw/hantek-6022be/$(dirstamp) \
-       hw/sainsmart-dds120/$(dirstamp)
+       hw/yixingdianzi-mdso/$(dirstamp)
 
 # Final firmware files
 firmware_binaries = \
@@ -60,15 +62,20 @@ firmware_binaries = \
        hw/cwav-usbeesx/fx2lafw-cwav-usbeesx.fw \
        hw/cwav-usbeezx/fx2lafw-cwav-usbeezx.fw \
        hw/cypress-fx2/fx2lafw-cypress-fx2.fw \
+       hw/hantek-6022be/fx2lafw-hantek-6022be.fw \
+       hw/hantek-6022bl/fx2lafw-hantek-6022bl.fw \
+       hw/hantek-pso2020/fx2lafw-hantek-pso2020.fw \
+       hw/instrustar-isds205b/fx2lafw-instrustar-isds205b.fw \
+       hw/sainsmart-dds120/fx2lafw-sainsmart-dds120.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
+       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
 
@@ -80,17 +87,34 @@ fx2lafw_objects = \
        fx2lafw.rel \
        gpif-acquisition.rel
 
-hantek_6022be_sources = \
-       hantek_6022be.c
+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
 
-hantek_6022be_objects = \
-       hantek_6022be.rel
+hantek_pso2020_headers = $(scope_headers)
+hantek_pso2020_sources = hw/hantek-pso2020/fw.c
+hantek_pso2020_objects = hw/hantek-pso2020/fw.rel
 
-sainsmart_dds120_sources = \
-       sainsmart_dds120.c
+instrustar_isds205b_headers = $(scope_headers)
+instrustar_isds205b_sources = hw/instrustar-isds205b/fw.c
+instrustar_isds205b_objects = hw/instrustar-isds205b/fw.rel
 
-sainsmart_dds120_objects = \
-       sainsmart_dds120.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 \
@@ -227,19 +251,31 @@ hw_sources = \
        hw/cwav-usbeesx/dscr.a51 \
        hw/cwav-usbeezx/dscr.a51 \
        hw/cypress-fx2/dscr.a51 \
+       hw/hantek-6022be/dscr.a51 \
+       hw/hantek-6022bl/dscr.a51 \
+       hw/hantek-pso2020/dscr.a51 \
+       hw/instrustar-isds205b/dscr.a51 \
+       hw/sainsmart-dds120/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
+       hw/yixingdianzi-mdso/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_DATA = \
+       $(fx2lafw_headers) $(fx2lafw_sources) \
+       $(hantek_6022be_headers) $(hantek_6022be_sources) \
+       $(hantek_6022bl_headers) $(hantek_6022bl_sources) \
+       $(hantek_pso2020_headers) $(hantek_pso2020_sources) \
+       $(instrustar_isds205b_headers) $(instrustar_isds205b_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)
 
@@ -291,6 +327,7 @@ $(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)
+$(instrustar_isds205b_objects): $(instrustar_isds205b_headers)
 
 hw/braintechnology-usb-lps/dscr.rel: hw/braintechnology-usb-lps/$(dirstamp) include/dscr.inc
 hw/cwav-usbeeax/dscr.rel: hw/cwav-usbeeax/$(dirstamp) include/dscr.inc
@@ -298,12 +335,15 @@ 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/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/hantek-pso2020/dscr.rel: hw/hantek-pso2020/$(dirstamp) include/dscr_scope.inc
+hw/instrustar-isds205b/dscr.rel: hw/instrustar-isds205b/$(dirstamp) include/dscr_scope.inc
+hw/sainsmart-dds120/dscr.rel: hw/sainsmart-dds120/$(dirstamp) include/dscr_scope.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
-hw/sainsmart-dds120/dscr.rel: hw/sainsmart-dds120/$(dirstamp) include/dscr.inc
-
+hw/yixingdianzi-mdso/dscr.rel: hw/yixingdianzi-mdso/$(dirstamp) include/dscr_scope.inc
 
 # Create build subdirectories
 $(dirstamps):
@@ -312,11 +352,11 @@ $(dirstamps):
 
 fx2lib/lib/fx2.lib: $(fx2lib_objects)
        -$(AM_V_at)rm -f $@
-       $(AM_V_GEN)$(SDCCLIB) $@ $(fx2lib_objects)
+       $(AM_V_GEN)$(SDAR) -rc $@ $(fx2lib_objects)
 
 fx2lib/lib/interrupts/ints.lib: $(fx2lib_ints_objects)
        -$(AM_V_at)rm -f $@
-       $(AM_V_GEN)$(SDCCLIB) $@ $(fx2lib_ints_objects)
+       $(AM_V_GEN)$(SDAR) -rc $@ $(fx2lib_ints_objects)
 
 hw/braintechnology-usb-lps/fx2lafw-braintechnology-usb-lps.ihx: hw/braintechnology-usb-lps/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
        $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/braintechnology-usb-lps/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
@@ -336,6 +376,21 @@ hw/cwav-usbeezx/fx2lafw-cwav-usbeezx.ihx: hw/cwav-usbeezx/dscr.rel $(fx2lafw_obj
 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)
 
+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/hantek-pso2020/fx2lafw-hantek-pso2020.ihx: hw/hantek-pso2020/dscr.rel $(hantek_pso2020_objects) $(fx2lib_libs)
+       $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/hantek-pso2020/dscr.rel $(hantek_pso2020_objects) $(fx2lib_libs)
+
+hw/instrustar-isds205b/fx2lafw-instrustar-isds205b.ihx: hw/instrustar-isds205b/dscr.rel $(instrustar_isds205b_objects) $(fx2lib_libs)
+       $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/instrustar-isds205b/dscr.rel $(instrustar_isds205b_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/saleae-logic/fx2lafw-saleae-logic.ihx: hw/saleae-logic/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
        $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/saleae-logic/dscr.rel $(fx2lafw_objects) $(fx2lib_libs)
 
@@ -345,11 +400,8 @@ 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)
+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:
        $(SF_V_SDAS)$(SDAS8051) -glos $(as_includes) $@ $<
@@ -366,4 +418,3 @@ if FOUND_MAKEBIN
        $(AM_V_GEN)$(MAKEBIN) -p < $< > $@
 endif
 endif
-