NAME = ex01 ifeq ($(CPPFLAGS),) CPPFLAGS = -Wall -Wextra -Werror -std=c++98 -g endif ifeq ($(CXX),) CXX = c++ endif # g++ is the default on 42 computers ifeq ($(CXX),g++) CXX = c++ endif srcs = \ Fixed.cpp \ main_objs = main.o $(srcs:.cpp=.o) all_objs = $(main_objs) deps = $(all_objs:.o=.d) all: $(NAME) -include $(deps) $(NAME): $(main_objs) $(CXX) $(CPPFLAGS) -o $@ $^ %.o: %.cpp $(CXX) -c $(CPPFLAGS) -o $*.o $*.cpp $(CXX) -MM $(CPPFLAGS) -MT $*.o $*.cpp > $*.d clean: find . -name '*.o' -print -delete find . -name '*.d' -print -delete fclean: clean rm -f $(NAME) re: +make fclean +make all