Ну, я бы использовал внешний файл make и скомпилировал ваше приложение со статическим флагом gcc. Проблема при компиляции ваших библиотек как статических заключается в том, что вы получаете большой исполняемый файл. Это приемлемо для небольших приложений, которые не используют слишком много библиотек.
Я использую CMake, и я думаю, что кривая обучения довольно быстрая, по сравнению с непосредственным использованием инструментов make.