Вы нигде не определили, какую цель построить. Вы можете сделать это в командной строке, используя команду
make -k -f limit.makefile limit
и неявные правила make
скомпилируют limit.c
в limit
. В качестве альтернативы определите цель в вашем make-файле,
CC = /usr/bin/gcc
CFLAGS = -g -Wall -std=c99 -O2 -arch x86_64
limit: limit.o
Первая цель будет создана по умолчанию, и make знает, как скомпилировать *.c
в *.o
и связать объектные файлы, чтобы все остальное было автоматическим.
Если вам интересно, правила по умолчанию эквивалентны (в GNU make)
%.o:%.c
$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
%:%.o
$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
, где $@
, $<
и $^
расширяются до цели, первого и всех предварительных требований соответственно, знаки процента являются подстановочными знаками для имени цели.