mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-18 12:38:37 +00:00
Makefile.include: Refactor and support other compilers
This commit is contained in:
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…
Reference in New Issue
Block a user