cube
- это сам исполняемый файл. Ваш make
, вероятно, имеет встроенные правила для компиляции файла .c
в файл .o
(с использованием CFLAGS
) и для привязки одного файла .o
(с использованием LDFLAGS
) к исполняемому файлу. Поэтому все, что вам нужно сделать, это предоставить LDFLAGS
и дать make
хотя бы одну цель, и эта цель условно называется all
.
Если вы явно напишите правила, которые make
может вывести, у вас будет что-то вроде этого:
CC=cc
CFLAGS=
LDFLAGS=-lglut -lGLU
all: cube
cube: cube.o
$(CC) $(LDFLAGS) cube cube.o
cube.o: cube.c
$(CC) $(CFLAGS) -c cube.c
В руководстве по GNU Make есть раздел о неявных правилах:
http://www.gnu.org/s/hello/manual/make/Implicit-Rules.html