На таком проекте?
Обкатка понимания "как происходит сборка программы из исходников" обычно делается на минимальном проекте, где точно не возникнет ошибок.
Потому что вариантов по сборке несколько (и то - основных, а на самом деле - бесконечность):
- заранее настроенный make. Наихудший вариант, который предполагает расположение каталогов только так, как у автора. Впрочем, Makefile можно поправить - если потратить время и знать как
- configure. Вариант получше. Скрипт проверяет систему и более-менее под нее адаптируется, потом формирует Makefile
- autotools (autoconf, automake, libtool) - суперсет над configure, который его создает. Больше гибкости, больше проверок
- cmake - очень часто используемая замена autotools. Еще больше проверок, еще больше гибкости