]> sigrok.org Git - sigrok-firmware-fx2lafw.git/blobdiff - fx2lib/lib/fx2.mk
Use makebin if objcopy is not available.
[sigrok-firmware-fx2lafw.git] / fx2lib / lib / fx2.mk
index eecedc5c88314d5e233e2256b8c5d267a72606fc..b001b932a82519d705d9d54ab08ce9d48d385698 100644 (file)
 #
 #
 
+# 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
 
@@ -68,7 +82,7 @@ bix: $(BUILDDIR)/$(BASENAME).bix
 iic: $(BUILDDIR)/$(BASENAME).iic
 
 $(FX2LIBDIR)/lib/fx2.lib: $(FX2LIBDIR)/lib/*.c $(FX2LIBDIR)/lib/*.a51
-       make -C $(FX2LIBDIR)/lib
+       $(MAKE) -C $(FX2LIBDIR)/lib
 
 $(BUILDDIR):
        mkdir -p $(BUILDDIR)
@@ -78,7 +92,7 @@ $(BUILDDIR)/$(BASENAME).ihx: $(BUILDDIR) $(SOURCES) $(A51_SOURCES) $(FX2LIBDIR)/
 # 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
+        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
@@ -97,5 +111,5 @@ clean:
        rm -f $(BUILDDIR)/*.{asm,ihx,lnk,lst,map,mem,rel,rst,sym,adb,cdb,bix}
 
 clean-all: clean
-       make -C $(FX2LIBDIR)/lib clean
+       $(MAKE) -C $(FX2LIBDIR)/lib clean