## 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
# 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
hw/sigrok-fx2-8ch/$(dirstamp) \
hw/sigrok-fx2-16ch/$(dirstamp) \
hw/hantek-6022be/$(dirstamp) \
+ hw/hantek-6022bl/$(dirstamp) \
hw/sainsmart-dds120/$(dirstamp)
# Final firmware files
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/hantek-6022be/fx2lafw-hantek-6022be.fw \
+ hw/hantek-6022bl/fx2lafw-hantek-6022bl.fw \
+ hw/sainsmart-dds120/fx2lafw-sainsmart-dds120.fw
fx2lafw_headers = \
include/command.h \
fx2lafw.rel \
gpif-acquisition.rel
-hantek_6022be_headers = \
- include/dscr_hantek_6022be.inc \
+scope_headers = \
+ include/dscr_scope.inc \
+ include/scope.inc \
include/common.inc
-hantek_6022be_sources = \
- hantek_6022be.c
+hantek_6022be_headers = $(scope_headers)
+hantek_6022be_sources = hw/hantek-6022be/fw.c
+hantek_6022be_objects = hw/hantek-6022be/fw.rel
-hantek_6022be_objects = \
- hantek_6022be.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 = \
- include/dscr_hantek_6022be.inc \
- include/common.inc
-
-sainsmart_dds120_sources = \
- sainsmart_dds120.c
-
-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
fx2lib_headers = \
fx2lib/include/autovector.h \
hw/sigrok-fx2-8ch/dscr.a51 \
hw/sigrok-fx2-16ch/dscr.a51 \
hw/hantek-6022be/dscr.a51 \
+ hw/hantek-6022bl/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_DATA = $(fx2lafw_headers) $(fx2lafw_sources) $(hantek_6022be_headers) $(hantek_6022be_sources) $(hantek_6022bl_headers) $(hantek_6022bl_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
+MOSTLYCLEANFILES = *.asm fx2lib/lib/*.asm hw/**/*.asm fx2lib/lib/*.lib fx2lib/lib/interrupts/*.asm fx2lib/lib/interrupts/*.lib
CLEANFILES = $(firmware_binaries)
DISTCLEANFILES = $(dirstamps)
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
+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
# Create build subdirectories
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/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/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/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)
.a51.rel:
$(SF_V_SDAS)$(SDAS8051) -glos $(as_includes) $@ $<