C_SOURCES:=$(wildcard coreutils/*.c) C_TARGETS:=$(patsubst coreutils/%.c,bin/%,$(C_SOURCES)) TARGETS:=$(C_TARGETS) CFLAGS:=-s -Os -flto -pedantic -Wall -Wextra all: bin $(TARGETS) bin/%: coreutils/%.c $(CC) $(CFLAGS) -o $@ $< clean: rm bin/*