CC = gcc CFLAGS = -Wall -Wextra -pedantic-errors -std=c99 -Wno-format -lncurses OUTFILE = cards SRCDIR = src OBJDIR = obj INCDIR = src/include SRC = $(wildcard $(SRCDIR)/*.c) INC = $(wildcard $(INCDIR)/*.h) _OBJ = $(SRC:.c=.o) OBJ = $(subst $(SRCDIR),$(OBJDIR),$(_OBJ)) $(OUTFILE): $(OBJ) $(CC) $(CFLAGS) -o $(OUTFILE) $(OBJ) $(OBJDIR)/%.o: $(SRCDIR)/%.c $(INCDIR)/%.h @mkdir -p $(@D) $(CC) $(CFLAGS) -o $@ -c $< .PHONY: clean clean: -rm $(OUTFILE) $(OBJ)