diff --git a/Makefile b/Makefile index d59d64f..0fe55ea 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,23 @@ CC = gcc -CFLAGS = +CFLAGS = -std=gnu11 CPPFLAGS = -Iinclude -MMD -MP SRCDIR = src -SRCS = $(wildcard $(SRCDIR)/*.c) -OBJS = $(patsubst $(SRCDIR)/%.c,%.o,$(SRCS)) -EXE = gc +SRCS := $(wildcard $(SRCDIR)/*.c) +OBJS := $(patsubst $(SRCDIR)/%.c,%.o,$(SRCS)) +EXE = gc -DBDIR = debug -DBEXE = $(DBDIR)/$(EXE) -DBOBJS = $(addprefix $(DBDIR)/, $(OBJS)) -DBCFLAGS = -g -O0 -DDEBUG +DBDIR = debug +DBEXE := $(DBDIR)/$(EXE) +DBOBJS := $(addprefix $(DBDIR)/, $(OBJS)) +DBCFLAGS = -g -O0 -DDEBUG -REDIR = bin -REEXE = $(REDIR)/$(EXE) -REOBJS = $(addprefix $(REDIR)/, $(OBJS)) -RECFLAGS = -O3 -Wall -Wextra -Wpedantic -Werror + +REDIR = bin +REEXE := $(REDIR)/$(EXE) +REOBJS := $(addprefix $(REDIR)/, $(OBJS)) +RECFLAGS = -O3 -Wall -Wextra -Wpedantic -Werror .PHONY: all clean debug prep release @@ -43,3 +44,5 @@ prep: clean: rm -rf $(DBDIR) $(REDIR) + +-include $(OBJ:.o=.d)