Usar CMAKE en lugar de make para el proceso de construcción del proyecto

En respuesta a tu consulta creo que la mejor opción es usar CMAKE para construir el proyecto. En el fichero CMakeLists.txt se listan las dependencias del proyecto. Para compilar:

$ mkdir build
$ cd build
$ cmake ruta/hasta/SKATRAK-Playground/project
$ make

Al ejecutar cmake se crea en la carpeta build el fichero Makefile con todo lo necesario para compilar, por lo que te evitas hacerlo tu.

Un par de cosas que podrías tener en cuenta:

 1. Si tienes un rato examina CMakeLists.txt, creo que es fácil de entender.
 2. He respetado tu forma de organizar el código pero no es la mejor manera. Lo recomendable sería:
      1. Poner el CMakeLists.txt en la raíz del proyecto.
      2. Quitar el ADD_EXECUTABLE y el TARGET_LINK_LIBRARIES del final del archivo y poner un ADD_DIRECTORY(src) para decirle que quieres compilar ese directorio.
      3. En src crear un  CMakeLists.txt con el ADD_EXECUTABLE y el  TARGET_LINK_LIBRARIES. Ten en cuenta que entonces las rutas de los archivos cpp no necesitan de la variable SOURCE_PATH.
 3. Cmake puede crear proyectos de visual studio. Si instalas Cmake en windows verás que te lo que hace es generar un proyecto de Visual Studio. Lo mejor sería que lo hicieras, comprobaras que el proyecto funciona (no se si le faltará algo al CMakeListis.txt) y elimines el contenido de la carpeta project.

Un saludo.