'undefined reference to' errors trying to compile with Make
As well as pointing to the header files so your source knows what functions are available, you also have to link in the code for those functions.

You are referencing the .h files fine, but FreeRTOS also consists of many .c files.  Those .c files need to be compiled along with your code and then linked together during the final phase of compilation.

Personally I would compile all of the FreeRTOS files separately as an individual step, then combine them into an archive file, say libFreeRTOS.a which you can then link against using -lFreeRTOS (similar to how you're making app.a, but using the proper libXXX.a format so it works with -l).