mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-25 17:25:20 +03:00
Makefile improvement
- root must be assigned when declared - with := - add autodependecy generation
This commit is contained in:
parent
fd32ad6fcb
commit
091941cd82
1 changed files with 16 additions and 8 deletions
24
Makefile
24
Makefile
|
@ -43,7 +43,7 @@ OPBL_VALID_TARGETS = CC3D
|
||||||
REVISION = $(shell git log -1 --format="%h")
|
REVISION = $(shell git log -1 --format="%h")
|
||||||
|
|
||||||
# Working directories
|
# Working directories
|
||||||
ROOT = $(dir $(lastword $(MAKEFILE_LIST)))
|
ROOT := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
|
||||||
SRC_DIR = $(ROOT)/src/main
|
SRC_DIR = $(ROOT)/src/main
|
||||||
OBJECT_DIR = $(ROOT)/obj/main
|
OBJECT_DIR = $(ROOT)/obj/main
|
||||||
BIN_DIR = $(ROOT)/obj
|
BIN_DIR = $(ROOT)/obj
|
||||||
|
@ -412,11 +412,10 @@ CHEBUZZF3_SRC = $(STM32F3DISCOVERY_SRC) \
|
||||||
MASSIVEF3_SRC = $(STM32F3DISCOVERY_SRC) \
|
MASSIVEF3_SRC = $(STM32F3DISCOVERY_SRC) \
|
||||||
$(HIGHEND_SRC) \
|
$(HIGHEND_SRC) \
|
||||||
$(COMMON_SRC)
|
$(COMMON_SRC)
|
||||||
|
|
||||||
ifeq ($(TARGET),MASSIVEF3)
|
ifeq ($(TARGET),MASSIVEF3)
|
||||||
LD_SCRIPT = $(LINKER_DIR)/stm32_flash_f303_128k.ld
|
LD_SCRIPT = $(LINKER_DIR)/stm32_flash_f303_128k.ld
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
# Search path and source files for the ST stdperiph library
|
# Search path and source files for the ST stdperiph library
|
||||||
VPATH := $(VPATH):$(STDPERIPH_DIR)/src
|
VPATH := $(VPATH):$(STDPERIPH_DIR)/src
|
||||||
|
@ -459,12 +458,13 @@ CFLAGS = $(ARCH_FLAGS) \
|
||||||
-D'__FORKNAME__="$(FORKNAME)"' \
|
-D'__FORKNAME__="$(FORKNAME)"' \
|
||||||
-D'__TARGET__="$(TARGET)"' \
|
-D'__TARGET__="$(TARGET)"' \
|
||||||
-D'__REVISION__="$(REVISION)"' \
|
-D'__REVISION__="$(REVISION)"' \
|
||||||
-save-temps=obj
|
-save-temps=obj \
|
||||||
|
-MD
|
||||||
|
|
||||||
ASFLAGS = $(ARCH_FLAGS) \
|
ASFLAGS = $(ARCH_FLAGS) \
|
||||||
-x assembler-with-cpp \
|
-x assembler-with-cpp \
|
||||||
$(addprefix -I,$(INCLUDE_DIRS))
|
$(addprefix -I,$(INCLUDE_DIRS)) \
|
||||||
|
-MD
|
||||||
|
|
||||||
LDFLAGS = -lm \
|
LDFLAGS = -lm \
|
||||||
-nostartfiles \
|
-nostartfiles \
|
||||||
|
@ -493,7 +493,8 @@ TARGET_BIN = $(BIN_DIR)/$(FORKNAME)_$(TARGET).bin
|
||||||
TARGET_HEX = $(BIN_DIR)/$(FORKNAME)_$(TARGET).hex
|
TARGET_HEX = $(BIN_DIR)/$(FORKNAME)_$(TARGET).hex
|
||||||
TARGET_ELF = $(OBJECT_DIR)/$(FORKNAME)_$(TARGET).elf
|
TARGET_ELF = $(OBJECT_DIR)/$(FORKNAME)_$(TARGET).elf
|
||||||
TARGET_OBJS = $(addsuffix .o,$(addprefix $(OBJECT_DIR)/$(TARGET)/,$(basename $($(TARGET)_SRC))))
|
TARGET_OBJS = $(addsuffix .o,$(addprefix $(OBJECT_DIR)/$(TARGET)/,$(basename $($(TARGET)_SRC))))
|
||||||
TARGET_MAP = $(OBJECT_DIR)/$(FORKNAME)_$(TARGET).map
|
TARGET_DEPS = $(addsuffix .d,$(addprefix $(OBJECT_DIR)/$(TARGET)/,$(basename $($(TARGET)_SRC))))
|
||||||
|
TARGET_MAP = $(OBJECT_DIR)/$(FORKNAME)_$(TARGET).map
|
||||||
|
|
||||||
# List of buildable ELF files and their object dependencies.
|
# List of buildable ELF files and their object dependencies.
|
||||||
# It would be nice to compute these lists, but that seems to be just beyond make.
|
# It would be nice to compute these lists, but that seems to be just beyond make.
|
||||||
|
@ -518,7 +519,8 @@ $(OBJECT_DIR)/$(TARGET)/%.o: %.c
|
||||||
$(OBJECT_DIR)/$(TARGET)/%.o: %.s
|
$(OBJECT_DIR)/$(TARGET)/%.o: %.s
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
@echo %% $(notdir $<)
|
@echo %% $(notdir $<)
|
||||||
@$(CC) -c -o $@ $(ASFLAGS) $<
|
@$(CC) -c -o $@ $(ASFLAGS) $<
|
||||||
|
|
||||||
$(OBJECT_DIR)/$(TARGET)/%.o: %.S
|
$(OBJECT_DIR)/$(TARGET)/%.o: %.S
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
@echo %% $(notdir $<)
|
@echo %% $(notdir $<)
|
||||||
|
@ -552,3 +554,9 @@ help:
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "Valid TARGET values are: $(VALID_TARGETS)"
|
@echo "Valid TARGET values are: $(VALID_TARGETS)"
|
||||||
@echo ""
|
@echo ""
|
||||||
|
|
||||||
|
# rebuild everything when makefile changes
|
||||||
|
$(TARGET_OBJS) : Makefile
|
||||||
|
|
||||||
|
# include auto-generated dependencies
|
||||||
|
-include $(TARGET_DEPS)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue