Merge pull request #10967 from SteveCEvans/remove_f1_f3
[betaflight.git] / make / targets_list.mk
blob17c8e562b76f8cac88d77225884215df3f9a7723
1 ALT_TARGET_PATHS = $(filter-out %/target,$(basename $(wildcard $(ROOT)/src/main/target/*/*.mk)))
2 ALT_TARGET_NAMES = $(notdir $(ALT_TARGET_PATHS))
3 BASE_TARGET_NAMES = $(notdir $(patsubst %/,%,$(dir $(ALT_TARGET_PATHS))))
4 BASE_ALT_PAIRS = $(join $(BASE_TARGET_NAMES:=/),$(ALT_TARGET_NAMES))
6 ALT_TARGETS = $(sort $(notdir $(BASE_ALT_PAIRS)))
7 BASE_TARGETS = $(sort $(notdir $(patsubst %/,%,$(dir $(wildcard $(ROOT)/src/main/target/*/target.mk)))))
8 NOBUILD_TARGETS = $(sort $(filter-out target,$(basename $(notdir $(wildcard $(ROOT)/src/main/target/*/*.nomk)))))
9 OPBL_TARGETS = $(sort $(filter %_OPBL,$(ALT_TARGETS)))
10 VALID_TARGETS = $(sort $(filter-out $(NOBUILD_TARGETS),$(BASE_TARGETS) $(ALT_TARGETS)))
12 # For alt targets, returns their base target name.
13 # For base targets, returns the (same) target name.
14 # param $1 = target name
15 find_target_pair = $(filter %/$(1),$(BASE_ALT_PAIRS))
16 get_base_target = $(if $(call find_target_pair,$(1)),$(patsubst %/,%,$(dir $(call find_target_pair,$(1)))),$(1))
18 UNSUPPORTED_TARGETS := \
19 AFROMINI \
20 BEEBRAIN \
21 CJMCU \
22 MICROSCISKY \
23 AIR32 \
24 BEEBRAIN_V2D \
25 BEEBRAIN_V2F \
26 BEESTORM \
27 COLIBRI_RACE \
28 FF_ACROWHOOPSP \
29 FF_KOMBINI \
30 FF_PIKOBLX \
31 FF_RADIANCE \
32 KISSCC \
33 KISSFC \
34 LUXV2_RACE \
35 LUX_RACE \
36 MOTOLAB \
37 MULTIFLITEPICO \
38 OMNIBUS \
39 RACEBASE \
40 RMDO \
41 SINGULARITY \
42 SIRINFPV \
43 SPARKY \
44 TINYFISH \
45 X_RACERSPI
47 UNIFIED_TARGETS := STM32F405 \
48 STM32F411 \
49 STM32F7X2 \
50 STM32F745 \
51 STM32G47X \
52 STM32H743 \
53 STM32F411SX1280
55 # Legacy targets are targets that have been replaced by Unified Target configurations
56 LEGACY_TARGETS := MATEKF405 \
57 AIKONF4 \
58 ALIENFLIGHTF4 \
59 BEEROTORF4 \
60 CLRACINGF4 \
61 CRAZYBEEF4FR \
62 DYSF4PRO \
63 ELINF405 \
64 FF_RACEPIT \
65 FLYWOOF405 \
66 FLYWOOF411 \
67 FURYF4OSD \
68 HAKRCF411 \
69 KAKUTEF4V2 \
70 MAMBAF411 \
71 MATEKF411 \
72 MATEKF411RX \
73 MERAKRCF405 \
74 MLTEMPF4 \
75 MLTYPHF4 \
76 OMNIBUSF4 \
77 OMNIBUSF4FW \
78 OMNIBUSF4NANOV7 \
79 OMNIBUSF4SD \
80 OMNIBUSF4V6 \
81 SPEEDYBEEF4 \
82 SYNERGYF4 \
83 TMOTORF4 \
84 TRANSTECF411 \
85 VGOODRCF4 \
86 XILOF4 \
87 AIRBOTF7 \
88 AIRF7 \
89 ALIENFLIGHTNGF7 \
90 CLRACINGF7 \
91 ELINF722 \
92 EXF722DUAL \
93 FLYWOOF7DUAL \
94 FOXEERF722DUAL \
95 FPVM_BETAFLIGHTF7 \
96 JHEF7DUAL \
97 KAKUTEF7 \
98 KAKUTEF7MINI \
99 LUXMINIF7 \
100 MAMBAF722 \
101 MATEKF722 \
102 MATEKF722SE \
103 MERAKRCF722 \
104 NERO \
105 OMNIBUSF7NANOV7 \
106 OMNIBUSF7V2 \
107 RUSHCORE7 \
108 SPEEDYBEEF7 \
109 SPRACINGF7DUAL \
110 TMOTORF7 \
111 TRANSTECF7 \
112 AIRBOTF4 \
113 AIRBOTF4SD \
114 BLUEJAYF4 \
115 CRAZYBEEF4DX \
116 CRAZYBEEF4FS \
117 DALRCF405 \
118 FOXEERF405 \
119 HAKRCF405 \
120 KAKUTEF4 \
121 NOX \
122 OMNINXT4 \
123 REVO \
124 DALRCF722DUAL \
125 OMNINXT7 \
126 BETAFLIGHTF4 \
127 EXUAVF4PRO \
128 FRSKYF4 \
129 KIWIF4 \
130 KIWIF4V2 \
131 PLUMF4 \
132 SKYZONEF405 \
133 XRACERF4 \
134 AG3XF7 \
135 YUPIF7 \
136 PYRODRONEF4 \
137 AG3XF4 \
138 COLIBRI \
139 ELLE0 \
140 F4BY \
141 FF_FORTINIF4 \
142 FF_FORTINIF4_REV03 \
143 FF_PIKOF4 \
144 FF_PIKOF4OSD \
145 FURYF4 \
146 LUXF4OSD \
147 REVOLT \
148 REVOLTOSD \
149 REVONANO \
150 SOULF4 \
151 SPARKY2 \
152 SPRACINGF4EVO \
153 SPRACINGF4NEO \
154 STM32F411DISCOVERY \
155 UAVPNG030MINI \
156 WORMFC \
157 YUPIF4 \
158 ANYFCF7 \
159 ANYFCM7 \
160 HAKRCF722 \
161 KAKUTEF7V2 \
162 NUCLEOF722 \
163 OMNIBUSF7 \
164 ALIENWHOOPF4 \
165 FISHDRONEF4 \
166 PIRXF4 \
167 PODIUMF4 \
168 STACKX \
169 VRRACE \
170 KROOZX
172 # Temporarily excluded to get CI coverage for USE_SPI_TRANSACTION
173 # STM32F4DISCOVERY \
175 CI_TARGETS := $(filter-out $(LEGACY_TARGETS) $(UNSUPPORTED_TARGETS), $(VALID_TARGETS))
177 TARGETS_TOTAL := $(words $(CI_TARGETS))
178 TARGET_GROUPS := 3
179 TARGETS_PER_GROUP := $(shell expr $(TARGETS_TOTAL) / $(TARGET_GROUPS) )
181 ST := 1
182 ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
183 GROUP_1_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
185 ST := $(shell expr $(ET) + 1)
186 ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
187 GROUP_2_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
189 GROUP_OTHER_TARGETS := $(filter-out $(GROUP_1_TARGETS) $(GROUP_2_TARGETS), $(CI_TARGETS))