1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-24 16:55:36 +03:00

Updated all_targets to build both binary and hex

Added clean_all_targets goal
Removed ## above the line
This commit is contained in:
blckmn 2016-06-14 03:45:32 +10:00 committed by blckmn
parent e17f5a4ea3
commit 4e12344aa6
3 changed files with 37 additions and 28 deletions

View file

@ -65,11 +65,16 @@ FEATURES =
F4_TARGETS = $(F405_TARGETS) $(F411_TARGETS)
#VALID_TARGETS = $(F1_TARGETS) $(F3_TARGETS) $(F4_TARGETS)
VALID_TARGETS = $(notdir $(wildcard $(ROOT)/src/main/target/*))
VALID_TARGETS := $(filter-out $(notdir $(wildcard $(ROOT)/src/main/target/*.*)), $(VALID_TARGETS))
VALID_TARGETS = $(dir $(wildcard $(ROOT)/src/main/target/*/target.mk))
VALID_TARGETS := $(subst ./src/main/target/,, $(VALID_TARGETS))
VALID_TARGETS := $(subst /,, $(VALID_TARGETS))
ifeq ($(filter $(TARGET),$(VALID_TARGETS)),)
$(error Target '$(TARGET)' is not valid, must be one of $(VALID_TARGETS))
$(error Target '$(TARGET)' is not valid, must be one of $(VALID_TARGETS). Have you prepared a valid target.mk?)
endif
ifeq ($(filter $(TARGET),$(F1_TARGETS) $(F3_TARGETS) $(F4_TARGETS)),)
$(error Target '$(TARGET)' has not specified a valid STM group, must be one of F1, F3, F405, or F411. Have you prepared a valid target.mk?)
endif
128K_TARGETS = $(F1_TARGETS)
@ -77,7 +82,7 @@ endif
512K_TARGETS = $(F411_TARGETS)
1024K_TARGETS = $(F405_TARGETS)
# Configure default flash sizes for the targets (largest size specified gets hit first)
# Configure default flash sizes for the targets (largest size specified gets hit first) if flash not specified already.
ifeq ($(FLASH_SIZE),)
ifeq ($(TARGET),$(filter $(TARGET),$(1024K_TARGETS)))
FLASH_SIZE = 1024
@ -479,7 +484,6 @@ STM32F4xx_COMMON_SRC = \
drivers/dma_stm32f4xx.c
# check if target.mk supplied
ifneq ($(TARGET_SRC),)
ifeq ($(TARGET),$(filter $(TARGET),$(F4_TARGETS)))
TARGET_SRC := $(STM32F4xx_COMMON_SRC) $(TARGET_SRC)
@ -514,16 +518,7 @@ endif
ifneq ($(filter VCP,$(FEATURES)),)
TARGET_SRC += $(VCP_SRC)
endif
# end target.mk supplied - now know the source was supplied above.
else
ifeq ($($(TARGET)_SRC),)
$(error Target source files not found. Have you prepared a target.mk?)
else
TARGET_SRC = $($(TARGET)_SRC)
endif
# end target specific make file checks
endif
# Search path and source files for the ST stdperiph library
@ -645,37 +640,51 @@ $(OBJECT_DIR)/$(TARGET)/%.o: %.S
@$(CC) -c -o $@ $(ASFLAGS) $<
## all : default task; compile C code, build firmware
## all : default task; compile C code, build firmware
all: binary
## all_targets : build all valid target platforms
## all_targets : build all valid target platforms
all_targets:
for build_target in $(VALID_TARGETS); do \
echo "" && \
echo "Building $$build_target" && \
$(MAKE) clean && \
$(MAKE) -j TARGET=$$build_target || \
$(MAKE) -j TARGET=$$build_target clean && \
$(MAKE) -j binary hex TARGET=$$build_target || \
break; \
echo "Building $$build_target succeeded."; \
done
## clean : clean up all temporary / machine-generated files
## clean : clean up all temporary / machine-generated files
clean:
rm -f $(CLEAN_ARTIFACTS)
rm -rf $(OBJECT_DIR)/$(TARGET)
## clean_test : clean up all temporary / machine-generated files (tests)
clean_test:
cd src/test && $(MAKE) clean || true
## clean_all_targets : clean all valid target platforms
clean_all_targets:
for clean_target in $(VALID_TARGETS); do \
echo "" && \
echo "Cleaning $$clean_target" && \
$(MAKE) -j TARGET=$$clean_target clean || \
break; \
echo "Cleaning $$clean_target succeeded."; \
done
flash_$(TARGET): $(TARGET_HEX)
stty -F $(SERIAL_DEVICE) raw speed 115200 -crtscts cs8 -parenb -cstopb -ixon
echo -n 'R' >$(SERIAL_DEVICE)
stm32flash -w $(TARGET_HEX) -v -g 0x0 -b 115200 $(SERIAL_DEVICE)
## flash : flash firmware (.hex) onto flight controller
## flash : flash firmware (.hex) onto flight controller
flash: flash_$(TARGET)
st-flash_$(TARGET): $(TARGET_BIN)
st-flash --reset write $< 0x08000000
## st-flash : flash firmware (.bin) onto flight controller
## st-flash : flash firmware (.bin) onto flight controller
st-flash: st-flash_$(TARGET)
binary: $(TARGET_BIN)
@ -685,17 +694,17 @@ unbrick_$(TARGET): $(TARGET_HEX)
stty -F $(SERIAL_DEVICE) raw speed 115200 -crtscts cs8 -parenb -cstopb -ixon
stm32flash -w $(TARGET_HEX) -v -g 0x0 -b 115200 $(SERIAL_DEVICE)
## unbrick : unbrick flight controller
## unbrick : unbrick flight controller
unbrick: unbrick_$(TARGET)
## cppcheck : run static analysis on C source code
## cppcheck : run static analysis on C source code
cppcheck: $(CSOURCES)
$(CPPCHECK)
cppcheck-result.xml: $(CSOURCES)
$(CPPCHECK) --xml-version=2 2> cppcheck-result.xml
## help : print this help message and exit
## help : print this help message and exit
help: Makefile
@echo ""
@echo "Makefile for the $(FORKNAME) firmware"
@ -707,11 +716,11 @@ help: Makefile
@echo ""
@sed -n 's/^## //p' $<
## targets : print a list of all valid target platforms (for consumption by scripts)
## targets : print a list of all valid target platforms (for consumption by scripts)
targets:
@echo $(VALID_TARGETS)
## test : run the cleanflight test suite
## test : run the cleanflight test suite
test:
cd src/test && $(MAKE) test || true

View file

@ -1,4 +1,4 @@
FEATURES = ONBOARDFLASH HIGHEND
FEATURES = ONBOARDFLASH HIGHEND VCP
F1_TARGETS += $(TARGET)
TARGET_SRC = \

View file

@ -1,4 +1,4 @@
FEATURES = VCP
F3_TARGETS += $(TARGET)
TARGET_SRC =
TARGET_SRC = \