Существует ли способ использовать GNU, Делают из компиляции всех файлов C в каталоге в отдельные программы, с каждой программой названный как исходный файл без.c расширения?
Я не думаю, что вам даже нужен make-файл - это должны делать неявные правила make по умолчанию:
$ ls
src0.c src1.c src2.c src3.c
$ make `basename -s .c *`
cc src0.c -o src0
cc src1.c -o src1
cc src2.c -o src2
cc src3.c -o src3
Отредактировано для упрощения командной строки.
SRCS = $(wildcard *.c)
PROGS = $(patsubst %.c,%,$(SRCS))
all: $(PROGS)
%: %.c
$(CC) $(CFLAGS) -o $@ $<