Неявное правило make для компиляции исходного кода в объектный файл кажется нарушенным. Нет никакой спецификации вывода "-o xo", чтобы идти с "cc -c xc". Есть ли какие-либо объектные файлы после запуска make?
.c.o: $*.c
Кроме того, приведенная выше спецификация цели, ".co", выглядит странно для меня; возможно, make также не распознает это, и это объясняет, почему неявное правило создания объектного файла не применяется.
Это может быть лучшей целевой спецификацией и предпосылками для правила объектов (прямо из руководства GNU 'make'):
$(OBJECTS): %.o: %.c $(CC) -c $(CFLAGS) $< -o $@