Prevent DSHOT commands during protocol initialization/detection
[betaflight.git] / make / targets_list.mk
blobdc3ef076bb85928cb75a6980b06cb77a8bfd39a4
1 OFFICIAL_TARGETS = \
2 ALIENFLIGHTF3 \
3 ALIENFLIGHTF4 \
4 ANYFCF7 \
5 BETAFLIGHTF3 \
6 BLUEJAYF4 \
7 FURYF4 REVO \
8 SIRINFPV \
9 SPARKY \
10 SPRACINGF3 \
11 SPRACINGF3EVO \
12 SPRACINGF3NEO \
13 SPRACINGF4EVO \
14 SPRACINGF7DUAL \
15 SPRACINGH7EXTREME \
16 STM32F3DISCOVERY
18 ALT_TARGET_PATHS = $(filter-out %/target,$(basename $(wildcard $(ROOT)/src/main/target/*/*.mk)))
19 ALT_TARGET_NAMES = $(notdir $(ALT_TARGET_PATHS))
20 BASE_TARGET_NAMES = $(notdir $(patsubst %/,%,$(dir $(ALT_TARGET_PATHS))))
21 BASE_ALT_PAIRS = $(join $(BASE_TARGET_NAMES:=/),$(ALT_TARGET_NAMES))
23 ALT_TARGETS = $(sort $(notdir $(BASE_ALT_PAIRS)))
24 BASE_TARGETS = $(sort $(notdir $(patsubst %/,%,$(dir $(wildcard $(ROOT)/src/main/target/*/target.mk)))))
25 NOBUILD_TARGETS = $(sort $(filter-out target,$(basename $(notdir $(wildcard $(ROOT)/src/main/target/*/*.nomk)))))
26 OPBL_TARGETS = $(sort $(filter %_OPBL,$(ALT_TARGETS)))
27 VALID_TARGETS = $(sort $(filter-out $(NOBUILD_TARGETS),$(BASE_TARGETS) $(ALT_TARGETS)))
29 # For alt targets, returns their base target name.
30 # For base targets, returns the (same) target name.
31 # param $1 = target name
32 find_target_pair = $(filter %/$(1),$(BASE_ALT_PAIRS))
33 get_base_target = $(if $(call find_target_pair,$(1)),$(patsubst %/,%,$(dir $(call find_target_pair,$(1)))),$(1))
35 UNSUPPORTED_TARGETS := \
36 AFROMINI \
37 ALIENFLIGHTF1 \
38 BEEBRAIN \
39 CC3D \
40 CC3D_OPBL \
41 CJMCU \
42 MICROSCISKY \
43 NAZE \
44 AIORACERF3 \
45 AIR32 \
46 AIRHEROF3 \
47 ALIENFLIGHTF3 \
48 BEEBRAIN_V2D \
49 BEEBRAIN_V2F \
50 BEESTORM \
51 BETAFLIGHTF3 \
52 CHEBUZZF3 \
53 COLIBRI_RACE \
54 CRAZYBEEF3DX \
55 CRAZYBEEF3FR \
56 CRAZYBEEF3FS \
57 DOGE EACHIF3 \
58 FF_ACROWHOOPSP \
59 FF_KOMBINI \
60 FF_PIKOBLX \
61 FF_RADIANCE \
62 FLIP32F3OSD \
63 FRSKYF3 \
64 FURYF3 \
65 FURYF3OSD \
66 IMPULSERCF3 \
67 IRCFUSIONF3 \
68 IRCSYNERGYF3 \
69 ISHAPEDF3 \
70 KISSCC \
71 KISSFC \
72 LUMBAF3 \
73 LUXV2_RACE \
74 LUX_RACE \
75 MIDELICF3 \
76 MOTOLAB \
77 MULTIFLITEPICO \
78 OMNIBUS \
79 RACEBASE \
80 RCEXPLORERF3 \
81 RG_SSD_F3 \
82 RMDO \
83 SINGULARITY \
84 SIRINFPV \
85 SPARKY \
86 SPRACINGF3 \
87 SPRACINGF3EVO \
88 SPRACINGF3MINI \
89 SPRACINGF3MQ \
90 SPRACINGF3NEO \
91 STM32F3DISCOVERY \
92 TINYBEEF3 \
93 TINYFISH \
94 X_RACERSPI \
95 ZCOREF3
97 SUPPORTED_TARGETS := $(filter-out $(UNSUPPORTED_TARGETS), $(VALID_TARGETS))
99 TARGETS_TOTAL := $(words $(SUPPORTED_TARGETS))
100 TARGET_GROUPS := 5
101 TARGETS_PER_GROUP := $(shell expr $(TARGETS_TOTAL) / $(TARGET_GROUPS) )
103 ST := 1
104 ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
105 GROUP_1_TARGETS := $(wordlist $(ST), $(ET), $(SUPPORTED_TARGETS))
107 ST := $(shell expr $(ET) + 1)
108 ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
109 GROUP_2_TARGETS := $(wordlist $(ST), $(ET), $(SUPPORTED_TARGETS))
111 ST := $(shell expr $(ET) + 1)
112 ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
113 GROUP_3_TARGETS := $(wordlist $(ST), $(ET), $(SUPPORTED_TARGETS))
115 ST := $(shell expr $(ET) + 1)
116 ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
117 GROUP_4_TARGETS := $(wordlist $(ST), $(ET), $(SUPPORTED_TARGETS))
119 GROUP_OTHER_TARGETS := $(filter-out $(GROUP_1_TARGETS) $(GROUP_2_TARGETS) $(GROUP_3_TARGETS) $(GROUP_4_TARGETS), $(SUPPORTED_TARGETS))