mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-10 17:38:13 +00:00
60 lines
2.1 KiB
Makefile
60 lines
2.1 KiB
Makefile
# Useful tools
|
|
CROSS_COMPILE ?= arm-none-eabi-
|
|
|
|
CC := $(CROSS_COMPILE)gcc
|
|
CXX := $(CROSS_COMPILE)g++
|
|
LD := $(CROSS_COMPILE)ld -v
|
|
AR := $(CROSS_COMPILE)ar
|
|
AS := $(CROSS_COMPILE)gcc
|
|
OBJCOPY := $(CROSS_COMPILE)objcopy
|
|
DISAS := $(CROSS_COMPILE)objdump
|
|
OBJDUMP := $(CROSS_COMPILE)objdump
|
|
SIZE := $(CROSS_COMPILE)size
|
|
DFU ?= dfu-util
|
|
|
|
# Suppress annoying output unless V is set
|
|
ifndef V
|
|
SILENT_CC = @echo ' [CC] ' $(@:$(BUILD_PATH)/%.o=%.c);
|
|
SILENT_AS = @echo ' [AS] ' $(@:$(BUILD_PATH)/%.o=%.S);
|
|
SILENT_CXX = @echo ' [CXX] ' $(@:$(BUILD_PATH)/%.o=%.cpp);
|
|
SILENT_LD = @echo ' [LD] ' $(@F);
|
|
SILENT_AR = @echo ' [AR] '
|
|
SILENT_OBJCOPY = @echo ' [OBJCOPY] ' $(@F);
|
|
SILENT_DISAS = @echo ' [DISAS] ' $(@:$(BUILD_PATH)/%.bin=%).disas;
|
|
SILENT_OBJDUMP = @echo ' [OBJDUMP] ' $(OBJDUMP);
|
|
endif
|
|
|
|
# Extra build configuration
|
|
|
|
BUILDDIRS :=
|
|
TGT_BIN :=
|
|
|
|
CFLAGS = $(GLOBAL_CFLAGS) $(TGT_CFLAGS)
|
|
CXXFLAGS = $(GLOBAL_CXXFLAGS) $(TGT_CXXFLAGS)
|
|
ASFLAGS = $(GLOBAL_ASFLAGS) $(TGT_ASFLAGS)
|
|
|
|
# Hacks to determine extra libraries we need to link against based on
|
|
# the toolchain. The default specifies no extra libraries, but it can
|
|
# be overridden.
|
|
LD_TOOLCHAIN_PATH := $(LDDIR)/toolchains/generic
|
|
ifneq ($(findstring ARM/embedded,$(shell $(CC) --version)),)
|
|
# GCC ARM Embedded, https://launchpad.net/gcc-arm-embedded/
|
|
LD_TOOLCHAIN_PATH := $(LDDIR)/toolchains/gcc-arm-embedded
|
|
endif
|
|
ifneq ($(findstring Linaro GCC,$(shell $(CC) --version)),)
|
|
# Summon/Linaro GCC ARM Embedded, https://github.com/esden/summon-arm-toolchain
|
|
LD_TOOLCHAIN_PATH := $(LDDIR)/toolchains/gcc-arm-embedded
|
|
endif
|
|
# Add toolchain directory to LD search path
|
|
TOOLCHAIN_LDFLAGS := -L $(LD_TOOLCHAIN_PATH)
|
|
|
|
# General directory independent build rules, generate dependency information
|
|
$(BUILD_PATH)/%.o: %.c
|
|
$(SILENT_CC) $(CC) $(CFLAGS) -MMD -MP -MF $(@:%.o=%.d) -MT $@ -o $@ -c $<
|
|
|
|
$(BUILD_PATH)/%.o: %.cpp
|
|
$(SILENT_CXX) $(CXX) $(CFLAGS) $(CXXFLAGS) -MMD -MP -MF $(@:%.o=%.d) -MT $@ -o $@ -c $<
|
|
|
|
$(BUILD_PATH)/%.o: %.S
|
|
$(SILENT_AS) $(AS) $(ASFLAGS) -MMD -MP -MF $(@:%.o=%.d) -MT $@ -o $@ -c $<
|