MAKEFLAGS += -j16 CFLAGS=-std=c17 -pedantic-errors -Wall -Wextra -Wconversion -fsanitize=address LDFLAGS= build_dir = build obj_dir = $(build_dir)/obj sources = \ src/main.c \ src/collections.c target=jq all: $(build_dir)/$(target) $(build_dir)/$(target): $(sources:%.c=$(obj_dir)/%.o) gcc -o $@ $(CFLAGS) $(LDFLAGS) $^ $(obj_dir)/%.o: %.c @mkdir -p $(dir $@) gcc $< -c -o $@ -MMD -MP $(CFLAGS) clean: rm -rf $(build_dir) -include $(sources:%.c=$(obj_dir)/%.d)