CFLAGS ?= -Wall -Wextra -Werror -Wno-unused -O0 -g csrcs := $(wildcard *_test.c) cprogs := $(patsubst %.c,%,$(csrcs)) srcs := $(filter-out %_test.c,$(wildcard *.c)) hdrs := $(wildcard *.h) objs := $(patsubst %.c,%.o,$(srcs)) deps := $(srcs) $(hdrs) $(objs): $(deps) ply: $(objs) arch-x86_64_test: arch-x86_64_test.o arch-x86_64.o type.o type_test: type_test.o type.o check: $(cprogs) $(foreach prog,$(cprogs),./$(prog);)