167 lines
4.1 KiB
Makefile
167 lines
4.1 KiB
Makefile
ALT_TARGET_PATHS = $(filter-out %/target,$(basename $(wildcard $(ROOT)/src/main/target/*/*.mk)))
|
|
ALT_TARGET_NAMES = $(notdir $(ALT_TARGET_PATHS))
|
|
BASE_TARGET_NAMES = $(notdir $(patsubst %/,%,$(dir $(ALT_TARGET_PATHS))))
|
|
BASE_ALT_PAIRS = $(join $(BASE_TARGET_NAMES:=/),$(ALT_TARGET_NAMES))
|
|
|
|
ALT_TARGETS = $(sort $(notdir $(BASE_ALT_PAIRS)))
|
|
BASE_TARGETS = $(sort $(notdir $(patsubst %/,%,$(dir $(wildcard $(ROOT)/src/main/target/*/target.mk)))))
|
|
NOBUILD_TARGETS = $(sort $(filter-out target,$(basename $(notdir $(wildcard $(ROOT)/src/main/target/*/*.nomk)))))
|
|
OPBL_TARGETS = $(sort $(filter %_OPBL,$(ALT_TARGETS)))
|
|
VALID_TARGETS = $(sort $(filter-out $(NOBUILD_TARGETS),$(BASE_TARGETS) $(ALT_TARGETS)))
|
|
|
|
# For alt targets, returns their base target name.
|
|
# For base targets, returns the (same) target name.
|
|
# param $1 = target name
|
|
find_target_pair = $(filter %/$(1),$(BASE_ALT_PAIRS))
|
|
get_base_target = $(if $(call find_target_pair,$(1)),$(patsubst %/,%,$(dir $(call find_target_pair,$(1)))),$(1))
|
|
|
|
UNSUPPORTED_TARGETS := \
|
|
AFROMINI \
|
|
ALIENFLIGHTF1 \
|
|
BEEBRAIN \
|
|
CC3D \
|
|
CC3D_OPBL \
|
|
CJMCU \
|
|
MICROSCISKY \
|
|
NAZE \
|
|
AIORACERF3 \
|
|
AIR32 \
|
|
AIRHEROF3 \
|
|
ALIENFLIGHTF3 \
|
|
BEEBRAIN_V2D \
|
|
BEEBRAIN_V2F \
|
|
BEESTORM \
|
|
BETAFLIGHTF3 \
|
|
CHEBUZZF3 \
|
|
COLIBRI_RACE \
|
|
CRAZYBEEF3DX \
|
|
CRAZYBEEF3FR \
|
|
CRAZYBEEF3FS \
|
|
DOGE EACHIF3 \
|
|
FF_ACROWHOOPSP \
|
|
FF_KOMBINI \
|
|
FF_PIKOBLX \
|
|
FF_RADIANCE \
|
|
FLIP32F3OSD \
|
|
FRSKYF3 \
|
|
FURYF3 \
|
|
FURYF3OSD \
|
|
IMPULSERCF3 \
|
|
IRCFUSIONF3 \
|
|
IRCSYNERGYF3 \
|
|
ISHAPEDF3 \
|
|
KISSCC \
|
|
KISSFC \
|
|
LUMBAF3 \
|
|
LUXV2_RACE \
|
|
LUX_RACE \
|
|
MIDELICF3 \
|
|
MOTOLAB \
|
|
MULTIFLITEPICO \
|
|
NUCLEOF103RG \
|
|
NUCLEOF303RE \
|
|
OMNIBUS \
|
|
RACEBASE \
|
|
RCEXPLORERF3 \
|
|
RG_SSD_F3 \
|
|
RMDO \
|
|
SINGULARITY \
|
|
SIRINFPV \
|
|
SPARKY \
|
|
SPRACINGF3 \
|
|
SPRACINGF3EVO \
|
|
SPRACINGF3MINI \
|
|
SPRACINGF3MQ \
|
|
SPRACINGF3NEO \
|
|
STM32F3DISCOVERY \
|
|
TINYBEEF3 \
|
|
TINYFISH \
|
|
X_RACERSPI \
|
|
ZCOREF3
|
|
|
|
# Legacy targets are targets that have been replaced by Unified Target configurations
|
|
LEGACY_TARGETS := MATEKF405 \
|
|
AIKONF4 \
|
|
ALIENFLIGHTF4 \
|
|
BEEROTORF4 \
|
|
CLRACINGF4 \
|
|
CRAZYBEEF4FR \
|
|
DYSF4PRO \
|
|
ELINF405 \
|
|
FF_RACEPIT \
|
|
FLYWOOF405 \
|
|
FLYWOOF411 \
|
|
FURYF4OSD \
|
|
HAKRCF411 \
|
|
KAKUTEF4V2 \
|
|
MAMBAF411 \
|
|
MATEKF411 \
|
|
MATEKF411RX \
|
|
MERAKRCF405 \
|
|
MLTEMPF4 \
|
|
MLTYPHF4 \
|
|
OMNIBUSF4 \
|
|
OMNIBUSF4FW \
|
|
OMNIBUSF4NANOV7 \
|
|
OMNIBUSF4SD \
|
|
OMNIBUSF4V6 \
|
|
SPEEDYBEEF4 \
|
|
SYNERGYF4 \
|
|
TMOTORF4 \
|
|
TRANSTECF411 \
|
|
VGOODRCF4 \
|
|
XILOF4 \
|
|
AIRBOTF7 \
|
|
AIRF7 \
|
|
ALIENFLIGHTNGF7 \
|
|
CLRACINGF7 \
|
|
ELINF722 \
|
|
EXF722DUAL \
|
|
FLYWOOF7DUAL \
|
|
FOXEERF722DUAL \
|
|
FPVM_BETAFLIGHTF7 \
|
|
JHEF7DUAL \
|
|
KAKUTEF7 \
|
|
KAKUTEF7MINI \
|
|
LUXMINIF7 \
|
|
MAMBAF722 \
|
|
MATEKF722 \
|
|
MATEKF722SE \
|
|
MERAKRCF722 \
|
|
NERO \
|
|
OMNIBUSF7NANOV7 \
|
|
OMNIBUSF7V2 \
|
|
RUSHCORE7 \
|
|
SPEEDYBEEF7 \
|
|
SPRACINGF7DUAL \
|
|
TMOTORF7 \
|
|
TRANSTECF7
|
|
|
|
CI_TARGETS := $(filter-out $(LEGACY_TARGETS) $(UNSUPPORTED_TARGETS), $(VALID_TARGETS))
|
|
|
|
TARGETS_TOTAL := $(words $(CI_TARGETS))
|
|
TARGET_GROUPS := 6
|
|
TARGETS_PER_GROUP := $(shell expr $(TARGETS_TOTAL) / $(TARGET_GROUPS) )
|
|
|
|
ST := 1
|
|
ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
|
|
GROUP_1_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
|
|
|
|
ST := $(shell expr $(ET) + 1)
|
|
ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
|
|
GROUP_2_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
|
|
|
|
ST := $(shell expr $(ET) + 1)
|
|
ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
|
|
GROUP_3_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
|
|
|
|
ST := $(shell expr $(ET) + 1)
|
|
ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
|
|
GROUP_4_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
|
|
|
|
ST := $(shell expr $(ET) + 1)
|
|
ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
|
|
GROUP_5_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
|
|
|
|
GROUP_OTHER_TARGETS := $(filter-out $(GROUP_1_TARGETS) $(GROUP_2_TARGETS) $(GROUP_3_TARGETS) $(GROUP_4_TARGETS) $(GROUP_5_TARGETS), $(CI_TARGETS))
|