From 755b0a37b38ab92d057e31ed22e9861eb06c509c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Mon, 30 Apr 2018 14:39:24 +0200 Subject: [PATCH] switch cross-compiler from ELLCC to GCC --- Makefile | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 36f7559..78f3beb 100644 --- a/Makefile +++ b/Makefile @@ -47,15 +47,15 @@ DEPENDENCIES = $(patsubst %.c,%.inc,$(CSRC)) # executables for linking, compiling, debugging, ... # use ELLCC cross-compiling chain (based on clang/llvm + musl) -ELLCC := /opt/ellcc/ +PREFIX := arm-none-eabi # use ELLCC as compile -CC := $(ELLCC)bin/ecc -target arm-none-eabi +CC := $(PREFIX)-gcc LD := $(PREFIX)-ld -LD := $(ELLCC)bin/ecc-ld -m armelf -AR := $(ELLCC)bin/ecc-ar -AS := $(ELLCC)bin/ecc-as -OBJCOPY := $(ELLCC)bin/ecc-objcopy -OBJDUMP := $(ELLCC)bin/ecc-objdump +LD := $(PREFIX)-ld +AR := $(PREFIX)-ar +AS := $(PREFIX)-as +OBJCOPY := $(PREFIX)-objcopy +OBJDUMP := $(PREFIX)-objdump # ecc-gdb is buggy and crashes on "kill" GDB := arm-none-eabi-gdb @@ -94,13 +94,13 @@ CFLAGS += -fno-common -ffunction-sections -fdata-sections # use variable size enum (opencm3, gcc, and compiler-rt do) CFLAGS += -fshort-enums # use no variable size enum (ELLCC/musl does not) -CFLAGS += -fno-short-enums +#CFLAGS += -fno-short-enums # don't use system main definition (the starting point) CFLAGS += -ffreestanding # don't use the standard library -CFLAGS += -nostdlib -nostdinc +#CFLAGS += -nostdlib -nostdinc # include ELLCC libraries -CFLAGS += -I$(ELLCC)libecc/include/ -I$(ELLCC)libecc/include/arm/ +#CFLAGS += -I$(ELLCC)libecc/include/ -I$(ELLCC)libecc/include/arm/ # include own libraries CFLAGS += -I . $(patsubst %,-I%,$(LIB)) # include opencm3 libraries @@ -118,7 +118,10 @@ LDFLAGS += --gc-sections # don't use system libraries LDFLAGS += -nostdlib -nostdinc # add ELLCC standard libraries (for libc, libm, libgcc) -LDFLAGS += --library-path $(ELLCC)libecc/lib/cortex-m3-linux/ +LDFLAGS += --library-path /usr/arm-none-eabi/lib/armv7-m/ +LDFLAGS += --library-path /usr/lib/arm-none-eabi/lib/armv7-m/ +LDFLAGS += --library-path /usr/lib/gcc/arm-none-eabi/*/armv7-m/ +#LDFLAGS += --library-path $(ELLCC)libecc/lib/cortex-m3-linux/ # opencm3 libraries LDFLAGS += --library-path $(OPENCM3_LIB) # linker script with definitions for micro-controller