]> sigrok.org Git - sigrok-firmware-fx2lafw.git/blobdiff - fx2lib/lib/fx2.mk
Use a standard autotools setup.
[sigrok-firmware-fx2lafw.git] / fx2lib / lib / fx2.mk
diff --git a/fx2lib/lib/fx2.mk b/fx2lib/lib/fx2.mk
deleted file mode 100644 (file)
index b001b93..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-# common make targets for compiling fx2 firmware
-#
-# In your Makefile, define:
-# SOURCES: list of c files to compile
-# A51_SOURCES: list of any a51 files.
-# DEPS: list of any depedancies (like auto-generated header files) that need
-#       generated prior to compiling. You must provide the target definition
-#       for any DEPS you define.
-# BASENAME: name of your firmware file, i.e., myfirmware, but not myfirmware.c
-#
-# Leave these alone or redefine as necessary to customize firmware.
-# (Redefine after including this makefile)
-# VID vendor id
-# PID product id
-# LIBS optional additional libraries to link with the firmware.
-# SDCC build/link options
-#  CODE_SIZE:    Default --code-size 0x3c00
-#  XRAM_SIZE:    Default --xram-size 0x0200
-#  XRAM_LOC:     Default --xram-loc 0x3c00
-# BUILDDIR: build directory (default build)
-# These two can be changed to be blank if no device descriptor is being used.
-#  DSCR_AREA:    Default -Wl"-b DSCR_AREA=0x3e00"
-#  INT2JT:             Default -Wl"-b INT2JT=0x3f00"
-#
-# Provided targets:
-#
-# default target: creates $(BASENAME).ihx
-# bix: creates $(BASENAME).bix
-# iic: creates $(BASENAME).iic
-# load: uses fx2load to load firmware.bix onto the development board
-#  (You can customize VID/PID if you need to load the firmware onto a device that has different vendor and product id
-#  The default is  0x04b4, 0x8613
-# clean: delete all the temp files.
-#
-#
-#
-
-# The sdcc 8051 assembler binary has/had different names.
-ifneq ($(shell which sdas8051 2>/dev/null),)
-# Newer sdcc, Debian / Ubuntu
-SDAS8051 = sdas8051
-endif
-ifneq ($(shell which sdcc-sdas8051 2>/dev/null),)
-# Newer sdcc, Fedora
-SDAS8051 = sdcc-sdas8051
-endif
-ifneq ($(shell which asx8051 2>/dev/null),)
-# Older sdcc
-SDAS8051 = asx8051
-endif
-
-VID?=0x04b4
-PID?=0x8613
-
-DSCR_AREA?=-Wl"-b DSCR_AREA=0x3e00"
-INT2JT?=-Wl"-b INT2JT=0x3f00"
-CODE_SIZE?=--code-size 0x3c00
-XRAM_SIZE?=--xram-size 0x0200
-XRAM_LOC?=--xram-loc 0x3c00
-BUILDDIR?=build
-
-FX2LIBDIR?=$(dir $(lastword $(MAKEFILE_LIST)))../
-
-RELS=$(addprefix $(BUILDDIR)/, $(addsuffix .rel, $(notdir $(basename $(SOURCES) $(A51_SOURCES)))))
-# these are pretty good settings for most firmwares.  
-# Have to be careful with memory locations for 
-# firmwares that require more xram etc.
-CC = sdcc -mmcs51 \
-       $(SDCCFLAGS) \
-    $(CODE_SIZE) \
-    $(XRAM_SIZE) \
-    $(XRAM_LOC) \
-       $(DSCR_AREA) \
-       $(INT2JT)
-
-
-.PHONY: ihx iic bix load clean clean-all
-
-
-ihx: $(BUILDDIR)/$(BASENAME).ihx
-bix: $(BUILDDIR)/$(BASENAME).bix
-iic: $(BUILDDIR)/$(BASENAME).iic
-
-$(FX2LIBDIR)/lib/fx2.lib: $(FX2LIBDIR)/lib/*.c $(FX2LIBDIR)/lib/*.a51
-       $(MAKE) -C $(FX2LIBDIR)/lib
-
-$(BUILDDIR):
-       mkdir -p $(BUILDDIR)
-
-$(BUILDDIR)/$(BASENAME).ihx: $(BUILDDIR) $(SOURCES) $(A51_SOURCES) $(FX2LIBDIR)/lib/fx2.lib $(DEPS) 
-# can't use default target %.rel because there is no way
-# to differentiate the dependency.  (Is it %.rel: %.c or %.a51)
-       for a in $(A51_SOURCES); do \
-        cp $$a $(BUILDDIR)/; \
-        cd $(BUILDDIR) && $(SDAS8051) -logs `basename $$a` && cd ..; done
-       for s in $(SOURCES); do \
-        THISREL=$$(basename `echo "$$s" | sed -e 's/\.c$$/\.rel/'`); \
-        $(CC) -c -I $(FX2LIBDIR)/include $$s -o $(BUILDDIR)/$$THISREL ; done
-       $(CC) -o $@ $(RELS) fx2.lib -L $(FX2LIBDIR)/lib $(LIBS)
-
-
-$(BUILDDIR)/$(BASENAME).bix: $(BUILDDIR)/$(BASENAME).ihx
-       objcopy -I ihex -O binary $< $@
-$(BUILDDIR)/$(BASENAME).iic: $(BUILDDIR)/$(BASENAME).ihx
-       $(FX2LIBDIR)/utils/ihx2iic.py -v $(VID) -p $(PID) $< $@
-
-load: $(BUILDDIR)/$(BASENAME).bix
-       fx2load -v $(VID) -p $(PID) $(BUILDDIR)/$(BASENAME).bix
-
-clean:
-       rm -f $(BUILDDIR)/*.{asm,ihx,lnk,lst,map,mem,rel,rst,sym,adb,cdb,bix}
-
-clean-all: clean
-       $(MAKE) -C $(FX2LIBDIR)/lib clean
-