42 lines
679 B
Makefile
42 lines
679 B
Makefile
NAME = ex03
|
|
ifeq ($(CPPFLAGS),)
|
|
CPPFLAGS = -Wall -Wextra -Werror -Wshadow -std=c++98 -g
|
|
endif
|
|
ifeq ($(CXX),)
|
|
CXX = c++
|
|
endif
|
|
# g++ is the default on 42 computers
|
|
ifeq ($(CXX),g++)
|
|
CXX = c++
|
|
endif
|
|
srcs = \
|
|
ClapTrap.cpp \
|
|
ScavTrap.cpp \
|
|
FragTrap.cpp \
|
|
DiamondTrap.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
|