CC = clang LINKER = clang BUILDDIR = build OBJDIR = obj SRCDIR = src TESTDIR = tests INCLUDEDIR = include CFLAGS = -c -std=c17 -I$(INCLUDEDIR) -ggdb -Wall -Werror -pedantic -Wno-attributes LDFLAGS = SOURCES = $(wildcard $(SRCDIR)/*.c) OBJECTS = $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o) TARGET = bmp-compare all: $(BUILDDIR)/$(TARGET) $(BUILDDIR)/$(TARGET): $(OBJECTS) | $(BUILDDIR) $(LINKER) $(LDFLAGS) $(OBJECTS) -o $@ $(OBJECTS): $(OBJDIR)/%.o:$(SRCDIR)/%.c | $(OBJDIR) $(CC) $(CFLAGS) -c $< -o $@ $(BUILDDIR) $(OBJDIR) : mkdir -p $@ clean: rm -rf $(BUILDDIR) $(OBJDIR) .PHONY: clean