Обратите внимание, что g cc - c компилирует исходные файлы без ссылки .
Затем, учтите, что "Компиляция относится к обработке файлов исходного кода ( . c,. cc или. cpp) и создание файла объекта. Этот шаг не создает ничего, что пользователь может на самом деле запустить . " reference
Между тем: "Связывание относится к созданию одного исполняемого файла из нескольких объектных файлов."
Итак, вы, вероятно, хотели связать программа, даже если она содержит один исходный файл (с вашей точки зрения, это может зависеть от библиотек, которые вы включаете).
Я также думаю, что ваш make-файл пытается назвать исполняемый файл как "make", что может быть проблемой, поскольку вы, вероятно, вызываете программу GNU make
для компиляции кода.