CXX = c++ CXXFLAGS = -std=c++98 -Wall -Wextra -Werror -g -O0 SRCDIR = src OBJDIR = obj BINDIR = bin EXECUTABLE = Weapon SRCS = $(wildcard $(SRCDIR)/*.cpp) OBJS = $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SRCS)) all: $(BINDIR)/$(EXECUTABLE) $(OBJDIR)/%.o: $(SRCDIR)/%.cpp $(CXX) $(CXXFLAGS) -c $< -o $@ $(BINDIR)/$(EXECUTABLE): $(OBJS) $(CXX) $(CXXFLAGS) $^ -o $@ clean: rm -rf $(OBJDIR)/*.o fclean: clean rm -fr $(BINDIR)/$(EXECUTABLE) re: fclean all