Ваши исходные файлы заканчиваются на .C
или .cpp
?
Правило компиляции для .C.o
перечисляет $(INC)
после других частей правила, а не там, где ожидается вывод:
CC = g++
INC = -I/home/jrm/tmp/proteus_beta
.C.o:
$(CC) $< -c $(INC)
Вы должны увидеть:
g++ file.C -c -I/home/jrm/tmp/proteus_beta
Но, похоже, оно полностью игнорирует ваше правило. Вы упоминаете main.cpp
; это никогда не будет скомпилировано вашим правилом.
Итак, .C
является признанным суффиксом? Ваши исходные файлы .C
файлы? Вы работаете в файловой системе без учета регистра? Почему вы устанавливаете компилятор C (CC) - возможно, у вас проблемы с исходным кодом.