Есть файлы lab1.с, lab2.с, …, labN.c. Нужно написать правило в Makefile, которое бы компилировало каждый файл, т. е. что-то типа:
for (i = 1; i < N; i++):
labi.o : labi.c
g++ -c labi.c
Подскажите, как написать это в Makefile.
Если вам нужно из каждого файла исходного кода скомпилировать соответствующий объектный файл:
lab1.c -> lab1.o
lab2.c -> lab2.o
....
labN.c -> labN.o
то можно воспользоваться pattern rules:
%.o : %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
Можно сделать еще короче, использовав implicit rules:
%.o : %.c