Fix SPI4 DMA assignment
[betaflight.git] / make / targets_list.mk
blobb28320f053b3f2e00b1c2aaefc14c4799fe7e1cb
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 ALIENFLIGHTF1 \
21 BEEBRAIN \
22 CC3D \
23 CC3D_OPBL \
24 CJMCU \
25 MICROSCISKY \
26 NAZE \
27 AIORACERF3 \
28 AIR32 \
29 AIRHEROF3 \
30 ALIENFLIGHTF3 \
31 BEEBRAIN_V2D \
32 BEEBRAIN_V2F \
33 BEESTORM \
34 BETAFLIGHTF3 \
35 CHEBUZZF3 \
36 COLIBRI_RACE \
37 CRAZYBEEF3DX \
38 CRAZYBEEF3FR \
39 CRAZYBEEF3FS \
40 DOGE EACHIF3 \
41 FF_ACROWHOOPSP \
42 FF_KOMBINI \
43 FF_PIKOBLX \
44 FF_RADIANCE \
45 FLIP32F3OSD \
46 FRSKYF3 \
47 FURYF3 \
48 FURYF3OSD \
49 IMPULSERCF3 \
50 IRCFUSIONF3 \
51 IRCSYNERGYF3 \
52 ISHAPEDF3 \
53 KISSCC \
54 KISSFC \
55 LUMBAF3 \
56 LUXV2_RACE \
57 LUX_RACE \
58 MIDELICF3 \
59 MOTOLAB \
60 MULTIFLITEPICO \
61 NUCLEOF103RG \
62 NUCLEOF303RE \
63 OMNIBUS \
64 RACEBASE \
65 RCEXPLORERF3 \
66 RG_SSD_F3 \
67 RMDO \
68 SINGULARITY \
69 SIRINFPV \
70 SPARKY \
71 SPRACINGF3 \
72 SPRACINGF3EVO \
73 SPRACINGF3MINI \
74 SPRACINGF3MQ \
75 SPRACINGF3NEO \
76 STM32F3DISCOVERY \
77 TINYBEEF3 \
78 TINYFISH \
79 X_RACERSPI \
80 ZCOREF3
82 UNIFIED_TARGETS := STM32F405 \
83 STM32F411 \
84 STM32F7X2 \
85 STM32F745 \
86 STM32G47X \
87 STM32H743
89 # Legacy targets are targets that have been replaced by Unified Target configurations
90 LEGACY_TARGETS := MATEKF405 \
91 AIKONF4 \
92 ALIENFLIGHTF4 \
93 BEEROTORF4 \
94 CLRACINGF4 \
95 CRAZYBEEF4FR \
96 DYSF4PRO \
97 ELINF405 \
98 FF_RACEPIT \
99 FLYWOOF405 \
100 FLYWOOF411 \
101 FURYF4OSD \
102 HAKRCF411 \
103 KAKUTEF4V2 \
104 MAMBAF411 \
105 MATEKF411 \
106 MATEKF411RX \
107 MERAKRCF405 \
108 MLTEMPF4 \
109 MLTYPHF4 \
110 OMNIBUSF4 \
111 OMNIBUSF4FW \
112 OMNIBUSF4NANOV7 \
113 OMNIBUSF4SD \
114 OMNIBUSF4V6 \
115 SPEEDYBEEF4 \
116 SYNERGYF4 \
117 TMOTORF4 \
118 TRANSTECF411 \
119 VGOODRCF4 \
120 XILOF4 \
121 AIRBOTF7 \
122 AIRF7 \
123 ALIENFLIGHTNGF7 \
124 CLRACINGF7 \
125 ELINF722 \
126 EXF722DUAL \
127 FLYWOOF7DUAL \
128 FOXEERF722DUAL \
129 FPVM_BETAFLIGHTF7 \
130 JHEF7DUAL \
131 KAKUTEF7 \
132 KAKUTEF7MINI \
133 LUXMINIF7 \
134 MAMBAF722 \
135 MATEKF722 \
136 MATEKF722SE \
137 MERAKRCF722 \
138 NERO \
139 OMNIBUSF7NANOV7 \
140 OMNIBUSF7V2 \
141 RUSHCORE7 \
142 SPEEDYBEEF7 \
143 SPRACINGF7DUAL \
144 TMOTORF7 \
145 TRANSTECF7 \
146 AIRBOTF4 \
147 AIRBOTF4SD \
148 BLUEJAYF4 \
149 CRAZYBEEF4DX \
150 CRAZYBEEF4FS \
151 DALRCF405 \
152 FOXEERF405 \
153 HAKRCF405 \
154 KAKUTEF4 \
155 NOX \
156 OMNINXT4 \
157 REVO \
158 DALRCF722DUAL \
159 OMNINXT7 \
160 BETAFLIGHTF4 \
161 EXUAVF4PRO \
162 FRSKYF4 \
163 KIWIF4 \
164 KIWIF4V2 \
165 PLUMF4 \
166 SKYZONEF405 \
167 XRACERF4 \
168 AG3XF7 \
169 YUPIF7 \
170 PYRODRONEF4 \
171 AG3XF4 \
172 COLIBRI \
173 ELLE0 \
174 F4BY \
175 FF_FORTINIF4 \
176 FF_FORTINIF4_REV03 \
177 FF_PIKOF4 \
178 FF_PIKOF4OSD \
179 FURYF4 \
180 LUXF4OSD \
181 REVOLT \
182 REVOLTOSD \
183 REVONANO \
184 SOULF4 \
185 SPARKY2 \
186 SPRACINGF4EVO \
187 SPRACINGF4NEO \
188 STM32F411DISCOVERY \
189 UAVPNG030MINI \
190 WORMFC \
191 YUPIF4 \
192 ANYFCF7 \
193 ANYFCM7 \
194 HAKRCF722 \
195 KAKUTEF7V2 \
196 NUCLEOF722 \
197 OMNIBUSF7 \
198 ALIENWHOOPF4 \
199 FISHDRONEF4 \
200 PIRXF4 \
201 PODIUMF4 \
202 STACKX \
203 VRRACE \
204 KROOZX
206 # Temporarily excluded to get CI coverage for USE_SPI_TRANSACTION
207 # STM32F4DISCOVERY \
209 CI_TARGETS := $(filter-out $(LEGACY_TARGETS) $(UNSUPPORTED_TARGETS), $(VALID_TARGETS))
211 TARGETS_TOTAL := $(words $(CI_TARGETS))
212 TARGET_GROUPS := 3
213 TARGETS_PER_GROUP := $(shell expr $(TARGETS_TOTAL) / $(TARGET_GROUPS) )
215 ST := 1
216 ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
217 GROUP_1_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
219 ST := $(shell expr $(ET) + 1)
220 ET := $(shell expr $(ST) + $(TARGETS_PER_GROUP))
221 GROUP_2_TARGETS := $(wordlist $(ST), $(ET), $(CI_TARGETS))
223 GROUP_OTHER_TARGETS := $(filter-out $(GROUP_1_TARGETS) $(GROUP_2_TARGETS), $(CI_TARGETS))