2022-03-22 11:03:26 +03:00
|
|
|
OS := $(shell uname -s)
|
|
|
|
|
2020-10-07 12:37:43 +03:00
|
|
|
# Compiller
|
|
|
|
ifeq ($(TOOLCHAIN), arm)
|
|
|
|
PREFIX = arm-none-eabi-
|
|
|
|
ifdef GCC_PATH
|
2022-04-13 23:50:25 +03:00
|
|
|
PREFIX := $(GCC_PATH)/$(PREFIX)
|
2020-10-07 12:37:43 +03:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2022-04-13 23:50:25 +03:00
|
|
|
CCACHE := $(shell which ccache)
|
|
|
|
|
|
|
|
CC = $(CCACHE) $(PREFIX)gcc -std=gnu17
|
|
|
|
CPP = $(CCACHE) $(PREFIX)g++ -std=gnu++17
|
2020-11-14 19:24:38 +03:00
|
|
|
LD = $(PREFIX)g++
|
2020-10-07 12:37:43 +03:00
|
|
|
AS = $(PREFIX)gcc -x assembler-with-cpp
|
|
|
|
CP = $(PREFIX)objcopy
|
|
|
|
SZ = $(PREFIX)size
|
|
|
|
HEX = $(CP) -O ihex
|
|
|
|
BIN = $(CP) -O binary -S
|
|
|
|
|
2022-04-13 23:50:25 +03:00
|
|
|
|
2022-03-22 11:03:26 +03:00
|
|
|
ifeq ($(OS), Darwin)
|
|
|
|
GDB = gdb
|
|
|
|
else
|
|
|
|
GDB = $(PREFIX)gdb-py
|
|
|
|
endif
|
|
|
|
|
2020-10-07 12:37:43 +03:00
|
|
|
DEBUG ?= 1
|
2021-05-12 10:59:20 +03:00
|
|
|
COMPACT ?= 0
|
2020-10-07 12:37:43 +03:00
|
|
|
ifeq ($(DEBUG), 1)
|
2021-11-04 20:26:41 +03:00
|
|
|
CFLAGS += -DFURI_DEBUG -DNDEBUG -Og -g
|
2021-05-12 10:59:20 +03:00
|
|
|
else ifeq ($(COMPACT), 1)
|
2021-12-24 21:47:48 +03:00
|
|
|
CFLAGS += -DFURI_NDEBUG -DNDEBUG -Os -g
|
2020-10-07 12:37:43 +03:00
|
|
|
else
|
2021-12-24 21:47:48 +03:00
|
|
|
CFLAGS += -DFURI_NDEBUG -DNDEBUG -Og -g
|
2020-10-07 12:37:43 +03:00
|
|
|
endif
|
|
|
|
|
2022-05-12 14:38:33 +03:00
|
|
|
CFLAGS += -fdata-sections -ffunction-sections -fno-math-errno -fstack-usage -MMD -MP -MF "$(@:%.o=%.d)"
|
2021-05-12 10:59:20 +03:00
|
|
|
CPPFLAGS += -fno-threadsafe-statics -fno-use-cxa-atexit -fno-exceptions -fno-rtti
|
2022-03-22 11:03:26 +03:00
|
|
|
LDFLAGS += -Wl,-Map=$(OBJ_DIR)/$(PROJECT).map,--cref -Wl,--gc-sections -Wl,--undefined=uxTopUsedPriority -n
|