switch cross-compiler from ELLCC to GCC

This commit is contained in:
King Kévin 2018-04-30 14:39:24 +02:00
parent 2b86833d83
commit 755b0a37b3
1 changed files with 14 additions and 11 deletions

View File

@ -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