Вы можете хранить исходные файлы в том же месте.Включаемые файлы будут в каталоге включения.Вы можете использовать опцию компиляции -I./<include-file-directory>
, чтобы указать, откуда извлекать включаемые файлы.
Конечный двоичный файл будет скомпилированной версией всех ваших исходных файлов, которые вы передадите компилятору.Вы должны явно указать каждый файл для компиляции с окончательным именем исполняемого файла.
Если вы этого не сделаете, в каталоге, где вы компилируете, создается исполняемый файл по умолчанию с именем a.out (я предполагаю, что платформой является linux, а компилятором - gcc).
Проверьте ссылку для более подробной информации о компиляции с использованием Makefile.