Makefile.include: Refactor and support other compilers

pull/25/head
Saleem Rashid 7 years ago committed by Pavol Rusnak
parent 58d2079b56
commit 78bc7377a0

@ -4,26 +4,27 @@ TOOLCHAIN_DIR ?= $(TOP_DIR)vendor/libopencm3
PYTHON ?= python PYTHON ?= python
ifeq ($(EMULATOR),1) ifeq ($(EMULATOR),1)
CC = gcc CC ?= gcc
LD = gcc LD := $(CC)
OBJCOPY = objcopy OBJCOPY := objcopy
OBJDUMP = objdump OBJDUMP := objdump
AR = ar AR := ar
AS = as AS := as
OPTFLAGS ?= -O3 OPTFLAGS ?= -O3
DBGFLAGS ?= -g3 DBGFLAGS ?= -g3 -ggdb3
CPUFLAGS ?= -m32 CPUFLAGS ?= -m32
FPUFLAGS ?=
else else
PREFIX ?= arm-none-eabi- PREFIX ?= arm-none-eabi-
CC = $(PREFIX)gcc CC := $(PREFIX)gcc
LD = $(PREFIX)gcc LD := $(PREFIX)gcc
OBJCOPY = $(PREFIX)objcopy OBJCOPY := $(PREFIX)objcopy
OBJDUMP = $(PREFIX)objdump OBJDUMP := $(PREFIX)objdump
AR = $(PREFIX)ar AR := $(PREFIX)ar
AS = $(PREFIX)as AS := $(PREFIX)as
FLASH = st-flash FLASH := st-flash
OPENOCD = openocd OPENOCD := openocd
OPTFLAGS ?= -O3 OPTFLAGS ?= -O3
DBGFLAGS ?= -g -DNDEBUG DBGFLAGS ?= -g -DNDEBUG
@ -70,6 +71,11 @@ CFLAGS += $(OPTFLAGS) \
-I$(TOP_DIR)vendor/trezor-crypto/ed25519-donna \ -I$(TOP_DIR)vendor/trezor-crypto/ed25519-donna \
-I$(TOP_DIR)vendor/trezor-qrenc -I$(TOP_DIR)vendor/trezor-qrenc
LDFLAGS += -L$(TOP_DIR) \
$(DBGFLAGS) \
$(CPUFLAGS) \
$(FPUFLAGS)
ifeq ($(EMULATOR),1) ifeq ($(EMULATOR),1)
CFLAGS += -DEMULATOR=1 CFLAGS += -DEMULATOR=1
@ -85,9 +91,7 @@ endif
CFLAGS += -include $(TOP_DIR)emulator/emulator.h CFLAGS += -include $(TOP_DIR)emulator/emulator.h
CFLAGS += -include stdio.h CFLAGS += -include stdio.h
LDFLAGS += -L$(TOP_DIR) \ LDFLAGS += -L$(TOP_DIR)emulator
-L$(TOP_DIR)emulator \
$(CPUFLAGS)
LDLIBS += -ltrezor -lemulator LDLIBS += -ltrezor -lemulator
LIBDEPS += $(TOP_DIR)/libtrezor.a $(TOP_DIR)emulator/libemulator.a LIBDEPS += $(TOP_DIR)/libtrezor.a $(TOP_DIR)emulator/libemulator.a
@ -107,13 +111,10 @@ LDFLAGS += --static \
-lgcc \ -lgcc \
-lnosys \ -lnosys \
-Wl,--end-group \ -Wl,--end-group \
-L$(TOP_DIR) \
-L$(TOOLCHAIN_DIR)/lib \ -L$(TOOLCHAIN_DIR)/lib \
-T$(LDSCRIPT) \ -T$(LDSCRIPT) \
-nostartfiles \ -nostartfiles \
-Wl,--gc-sections \ -Wl,--gc-sections
$(CPUFLAGS) \
$(FPUFLAGS)
LDLIBS += -ltrezor LDLIBS += -ltrezor
LIBDEPS += $(TOP_DIR)/libtrezor.a LIBDEPS += $(TOP_DIR)/libtrezor.a

Loading…
Cancel
Save