8 $(addprefix pg
/, $(notdir $(wildcard $(SRC_DIR
)/pg
/*.c
))) \
9 $(addprefix common
/,$(notdir $(wildcard $(SRC_DIR
)/common
/*.c
))) \
10 $(addprefix config
/,$(notdir $(wildcard $(SRC_DIR
)/config
/*.c
))) \
16 drivers
/dshot_dpwm.c \
17 drivers
/dshot_command.c \
18 drivers
/buf_writer.c \
20 drivers
/bus_i2c_config.c \
21 drivers
/bus_i2c_busdev.c \
22 drivers
/bus_i2c_soft.c \
23 drivers
/bus_quadspi.c \
25 drivers
/bus_spi_config.c \
26 drivers
/bus_spi_pinconfig.c \
29 drivers
/display_canvas.c \
30 drivers
/dma_reqmap.c \
37 drivers
/pin_pull_up_down.c \
41 drivers
/serial_pinconfig.c \
42 drivers
/serial_uart.c \
43 drivers
/serial_uart_pinconfig.c \
44 drivers
/sound_beeper.c \
45 drivers
/stack_check.c \
47 drivers
/timer_common.c \
49 drivers
/transponder_ir_arcitimer.c \
50 drivers
/transponder_ir_ilap.c \
51 drivers
/transponder_ir_erlt.c \
61 io
/smartaudio_protocol.c \
62 io
/statusindicator.c \
70 scheduler
/scheduler.c \
71 sensors
/adcinternal.c \
75 target
/config_helper.c \
77 fc/controlrate_profile.c \
78 drivers
/camera_control.c \
79 drivers
/accgyro
/gyro_sync.c \
80 drivers
/pwm_esc_detect.c \
81 drivers
/pwm_output.c \
83 drivers
/rx
/rx_xn297.c \
85 drivers
/serial_softserial.c \
94 flight
/gyroanalyse.c \
96 flight
/interpolated_setpoint.c \
98 flight
/mixer_tricopter.c \
100 flight
/rpm_filter.c \
102 flight
/servos_tricopter.c \
104 io
/serial_4way_avrootloader.c \
105 io
/serial_4way_stk500v2.c \
118 io
/spektrum_vtx_control.c \
124 sensors
/acceleration.c \
125 sensors
/boardalignment.c \
128 sensors
/initialisation.c \
129 blackbox
/blackbox.c \
130 blackbox
/blackbox_encoding.c \
131 blackbox
/blackbox_io.c \
133 cms
/cms_menu_blackbox.c \
134 cms
/cms_menu_failsafe.c \
135 cms
/cms_menu_firmware.c \
136 cms
/cms_menu_gps_rescue.c\
138 cms
/cms_menu_ledstrip.c \
139 cms
/cms_menu_main.c \
140 cms
/cms_menu_misc.c \
142 cms
/cms_menu_power.c \
143 cms
/cms_menu_saveexit.c \
144 cms
/cms_menu_vtx_common.c \
145 cms
/cms_menu_vtx_rtc6705.c \
146 cms
/cms_menu_vtx_smartaudio.c \
147 cms
/cms_menu_vtx_tramp.c \
148 drivers
/display_ug2864hsweg01.c \
149 drivers
/light_ws2811strip.c \
150 drivers
/rangefinder
/rangefinder_hcsr04.c \
151 drivers
/rangefinder
/rangefinder_lidartf.c \
152 drivers
/serial_escserial.c \
153 drivers
/vtx_common.c \
154 drivers
/vtx_table.c \
156 io
/displayport_frsky_osd.c \
157 io
/displayport_max7456.c \
158 io
/displayport_msp.c \
159 io
/displayport_oled.c \
160 io
/displayport_srxl.c \
161 io
/displayport_crsf.c \
162 io
/displayport_hott.c \
171 sensors
/barometer.c \
172 sensors
/rangefinder.c \
173 telemetry
/telemetry.c \
176 telemetry
/frsky_hub.c \
178 telemetry
/jetiexbus.c \
179 telemetry
/smartport.c \
181 telemetry
/mavlink.c \
182 telemetry
/msp_shared.c \
184 telemetry
/ibus_shared.c \
185 sensors
/esc_sensor.c \
188 io
/vtx_smartaudio.c \
192 COMMON_DEVICE_SRC
= \
194 $(DEVICE_STDPERIPH_SRC
)
196 COMMON_SRC
:= $(COMMON_SRC
) $(COMMON_DEVICE_SRC
)
199 TARGET_FLAGS
:= -DUSE_EXST
$(TARGET_FLAGS
)
202 ifeq ($(RAM_BASED
),yes
)
203 TARGET_FLAGS
:= -DUSE_EXST
-DCONFIG_IN_RAM
-DRAMBASED
$(TARGET_FLAGS
)
206 ifeq ($(SIMULATOR_BUILD
),yes
)
207 TARGET_FLAGS
:= -DSIMULATOR_BUILD
$(TARGET_FLAGS
)
210 SPEED_OPTIMISED_SRC
:= ""
211 SIZE_OPTIMISED_SRC
:= ""
213 ifneq ($(TARGET
),$(filter $(TARGET
),$(F1_TARGETS
)))
214 SPEED_OPTIMISED_SRC
:= $(SPEED_OPTIMISED_SRC
) \
218 common
/typeconversion.c \
219 drivers
/accgyro
/accgyro_fake.c \
220 drivers
/accgyro
/accgyro_mpu.c \
221 drivers
/accgyro
/accgyro_mpu3050.c \
222 drivers
/accgyro
/accgyro_mpu6050.c \
223 drivers
/accgyro
/accgyro_mpu6500.c \
224 drivers
/accgyro
/accgyro_spi_bmi160.c \
225 drivers
/accgyro
/accgyro_spi_icm20689.c \
226 drivers
/accgyro
/accgyro_spi_mpu6000.c \
227 drivers
/accgyro
/accgyro_spi_mpu6500.c \
228 drivers
/accgyro
/accgyro_spi_mpu9250.c \
229 drivers
/accgyro_legacy
/accgyro_adxl345.c \
230 drivers
/accgyro_legacy
/accgyro_bma280.c \
231 drivers
/accgyro_legacy
/accgyro_l3g4200d.c \
232 drivers
/accgyro_legacy
/accgyro_l3gd20.c \
233 drivers
/accgyro_legacy
/accgyro_lsm303dlhc.c \
234 drivers
/accgyro_legacy
/accgyro_mma845x.c \
236 drivers
/buf_writer.c \
238 drivers
/bus_quadspi.c \
242 drivers
/pwm_output.c \
245 drivers
/serial_uart.c \
252 fc/runtime_config.c \
253 flight
/gyroanalyse.c \
257 flight
/rpm_filter.c \
269 scheduler
/scheduler.c \
270 sensors
/acceleration.c \
271 sensors
/boardalignment.c \
274 $(DEVICE_STDPERIPH_SRC
) \
276 SIZE_OPTIMISED_SRC
:= $(SIZE_OPTIMISED_SRC
) \
277 bus_bst_stm32f30x.c \
280 drivers
/barometer
/barometer_bmp085.c \
281 drivers
/barometer
/barometer_bmp280.c \
282 drivers
/barometer
/barometer_fake.c \
283 drivers
/barometer
/barometer_ms5611.c \
284 drivers
/barometer
/barometer_lps.c \
285 drivers
/barometer
/barometer_qmp6988.c \
286 drivers
/bus_i2c_config.c \
287 drivers
/bus_spi_config.c \
288 drivers
/bus_spi_pinconfig.c \
289 drivers
/compass
/compass_ak8963.c \
290 drivers
/compass
/compass_ak8975.c \
291 drivers
/compass
/compass_fake.c \
292 drivers
/compass
/compass_hmc5883l.c \
293 drivers
/compass
/compass_qmc5883l.c \
294 drivers
/compass
/compass_lis3mdl.c \
295 drivers
/display_ug2864hsweg01.c \
297 drivers
/light_ws2811strip.c \
298 drivers
/light_ws2811strip_hal.c \
299 drivers
/light_ws2811strip_stdperiph.c \
300 drivers
/serial_escserial.c \
301 drivers
/serial_pinconfig.c \
302 drivers
/serial_tcp.c \
303 drivers
/serial_uart_init.c \
304 drivers
/serial_uart_pinconfig.c \
305 drivers
/serial_usb_vcp.c \
306 drivers
/transponder_ir_io_hal.c \
307 drivers
/transponder_ir_io_stdperiph.c \
308 drivers
/vtx_rtc6705_soft_spi.c \
309 drivers
/vtx_rtc6705.c \
310 drivers
/vtx_common.c \
313 config
/config_eeprom.c \
315 config
/config_streamer.c \
320 io
/serial_4way_avrootloader.c \
321 io
/serial_4way_stk500v2.c \
322 io
/transponder_ir.c \
326 cms
/cms_menu_blackbox.c \
327 cms
/cms_menu_failsafe.c \
328 cms
/cms_menu_firmware.c \
329 cms
/cms_menu_gps_rescue.c\
331 cms
/cms_menu_ledstrip.c \
332 cms
/cms_menu_main.c \
333 cms
/cms_menu_misc.c \
335 cms
/cms_menu_power.c \
336 cms
/cms_menu_saveexit.c \
337 cms
/cms_menu_vtx_common.c \
338 cms
/cms_menu_vtx_rtc6705.c \
339 cms
/cms_menu_vtx_smartaudio.c \
340 cms
/cms_menu_vtx_tramp.c \
343 io
/vtx_smartaudio.c \
346 io
/spektrum_vtx_control.c \
350 # F4 and F7 optimizations
351 ifneq ($(TARGET
),$(filter $(TARGET
),$(F3_TARGETS
)))
352 SPEED_OPTIMISED_SRC
:= $(SPEED_OPTIMISED_SRC
) \
353 drivers
/bus_i2c_hal.c \
354 drivers
/bus_spi_ll.c \
356 drivers
/pwm_output_dshot.c \
357 drivers
/pwm_output_dshot_shared.c \
358 drivers
/pwm_output_dshot_hal.c
362 # check if target.mk supplied
363 SRC
:= $(STARTUP_SRC
) $(MCU_COMMON_SRC
) $(TARGET_SRC
) $(VARIANT_SRC
)
365 # Files that should not be optimized, useful for debugging IMPRECISE cpu faults.
366 # Specify FULL PATH, e.g. "./lib/main/STM32F7/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_sdmmc.c"
367 NOT_OPTIMISED_SRC
:= $(NOT_OPTIMISED_SRC
) \
371 INCLUDE_DIRS
+= $(DSP_LIB
)/Include
373 SRC
+= $(DSP_LIB
)/Source
/BasicMathFunctions
/arm_mult_f32.c
374 SRC
+= $(DSP_LIB
)/Source
/TransformFunctions
/arm_rfft_fast_f32.c
375 SRC
+= $(DSP_LIB
)/Source
/TransformFunctions
/arm_cfft_f32.c
376 SRC
+= $(DSP_LIB
)/Source
/TransformFunctions
/arm_rfft_fast_init_f32.c
377 SRC
+= $(DSP_LIB
)/Source
/TransformFunctions
/arm_cfft_radix8_f32.c
378 SRC
+= $(DSP_LIB
)/Source
/CommonTables
/arm_common_tables.c
380 SRC
+= $(DSP_LIB
)/Source
/ComplexMathFunctions
/arm_cmplx_mag_f32.c
381 SRC
+= $(DSP_LIB
)/Source
/StatisticsFunctions
/arm_max_f32.c
383 SRC
+= $(wildcard $(DSP_LIB
)/Source
/*/*.S
)
386 ifneq ($(filter ONBOARDFLASH
,$(FEATURES
)),)
389 drivers
/flash_m25p16.c \
390 drivers
/flash_w25n01g.c \
391 drivers
/flash_w25m.c \
399 SRC
:= $(filter-out $(MCU_EXCLUDES
), $(SRC
))
401 ifneq ($(filter SDCARD_SPI
,$(FEATURES
)),)
404 drivers
/sdcard_spi.c \
405 drivers
/sdcard_standard.c \
406 io
/asyncfatfs
/asyncfatfs.c \
407 io
/asyncfatfs
/fat_standard.c \
411 ifneq ($(filter SDCARD_SDIO
,$(FEATURES
)),)
414 drivers
/sdcard_sdio_baremetal.c \
415 drivers
/sdcard_standard.c \
416 io
/asyncfatfs
/asyncfatfs.c \
417 io
/asyncfatfs
/fat_standard.c \
421 ifneq ($(filter VCP
,$(FEATURES
)),)
425 ifneq ($(filter MSC
,$(FEATURES
)),)
428 # end target specific make file checks
430 # Search path and source files for the ST stdperiph library
431 VPATH
:= $(VPATH
):$(STDPERIPH_DIR
)/src