Need to compile c files in arbitrary directories

I have been attempting to build a platformio project based on STM32CubeMx that includes FreeRtos. There are several folders where the FreeRtos files are located. Also I have some C files I need to include from some in house projects. I am struggling to figure out how to tell the compiler where to look for all the C files. I have figured out how to include all my .h files. This was done in my platform.ini file as shown below:

build_flags =
-Iinc
-I"Middlewares/Third_Party/FreeRTOS/Source/include"
-I"…/stm32_r30_rtos/Segger"
-I"…/stm32_r30_rtos/common"
-I"…/stm32_r30_rtos/protobuf"
-I"Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"
-I"Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS"
-I"tx_src"

No problem finding the .h files.

Is there some way I can list out the directories where I have .c file that must also be compiled. I have been reading about the lib file and library.json. It seems to target repositories located out on the web. I just need to target files on my local machine. Moving all the files is not an option for me. I have been struggling with this and am getting desperate.

I am attempting to port the project from a Cmake build flow. In Cmake it is super easy. I just tell it where the base directories are and it recurses down into the directories, finds the files, compiles, and links.

I have done lots of reading on the library.json thing and it makes no sense to me. Is there some way I can the paths to my c files in the platform.ini file? Thanks very much