]> sigrok.org Git - sigrok-firmware-fx2lafw.git/commitdiff
Support old and new sdcc/sdas8051/asx8051 versions.
authorUwe Hermann <redacted>
Wed, 18 Jul 2012 10:16:21 +0000 (12:16 +0200)
committerUwe Hermann <redacted>
Wed, 18 Jul 2012 10:41:49 +0000 (12:41 +0200)
Tested on Debian with old and new sdcc (2.9.0 and 3.1.0).

Testers for Fedora and other distros are welcome!

fx2lib/lib/Makefile
fx2lib/lib/fx2.mk

index 1a9318084b95313698a4a34c996ec51a0623467c..c8f19d553decf0d8a633e2e7861c12e2d6355fca 100644 (file)
@@ -20,16 +20,30 @@ INCLUDES = -I../include
 SDCC = sdcc -mmcs51 $(SDCCFLAGS)
 LIBS = fx2.lib
 
+# The sdcc 8051 assembler binary has/had different names.
+ifneq ($(shell which sdas8051),)
+# Newer sdcc, Debian / Ubuntu
+SDAS8051 = sdas8051
+endif
+ifneq ($(shell which sdcc-sdas8051),)
+# Newer sdcc, Fedora
+SDAS8051 = sdcc-sdas8051
+endif
+ifneq ($(shell which asx8051),)
+# Older sdcc
+SDAS8051 = asx8051
+endif
+
 all: $(LIBS)
 
 $(LIBS): $(FX2_OBJS)
        sdcclib fx2.lib $?
 
 usbav.rel: usbav.a51
-       sdas8051 -logs usbav.a51
+       $(SDAS8051) -logs usbav.a51
 
 int4av.rel: int4av.a51
-       sdas8051 -logs int4av.a51
+       $(SDAS8051) -logs int4av.a51
 
 %.rel: %.c
        $(SDCC) $(INCLUDES) -c $< -o $@
index eecedc5c88314d5e233e2256b8c5d267a72606fc..9e5441831e386afea51ace6ff76e091e8daa4da1 100644 (file)
 #
 #
 
+# The sdcc 8051 assembler binary has/had different names.
+ifneq ($(shell which sdas8051),)
+# Newer sdcc, Debian / Ubuntu
+SDAS8051 = sdas8051
+endif
+ifneq ($(shell which sdcc-sdas8051),)
+# Newer sdcc, Fedora
+SDAS8051 = sdcc-sdas8051
+endif
+ifneq ($(shell which asx8051),)
+# Older sdcc
+SDAS8051 = asx8051
+endif
+
 VID?=0x04b4
 PID?=0x8613
 
@@ -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