CXX := c++ CXXFLAGS := -std=c++98 -Wall -Wextra -Werror -g SRCDIR := src OBJDIR := obj NAME := PmergeMe SRCS := $(wildcard $(SRCDIR)/*.cpp) OBJS := $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SRCS)) all: $(NAME) $(OBJDIR)/%.o: $(SRCDIR)/%.cpp mkdir -p obj $(CXX) $(CXXFLAGS) -c $< -o $@ $(NAME): $(OBJS) $(CXX) $(CXXFLAGS) $^ -o $@ clean: rm -rf $(OBJDIR) fclean: clean rm -fr $(NAME) re: fclean @make --no-print-directory all