CXX = g++ CXXFLAGS = -std=c++11 RM = rm -rf RAPPORT_DIR = Rapport EXCLUSIONS = README.* $(RAPPORT_DIR) $(foreach i, $(EXCLUSIONS), $(eval TAR_EXCLUDE = $(TAR_EXCLUDE) --exclude="$(i)")) NAME = TP2 - Groupe 4 TAR = tar -czf RAPPORT = $(RAPPORT_DIR)/rapport.pdf CP = rsync -r $(TAR_EXCLUDE) MV = mv SOURCES_RAND = $(filter-out src/mcts_player.cpp, $(wildcard src/*.cpp)) OBJETS_RAND = $(patsubst %.cpp,%.cpp.o,$(notdir $(SOURCES_RAND))) EXE_RAND = rand_player SOURCES_MCTS = $(filter-out src/rand_player.cpp, $(wildcard src/*.cpp)) OBJETS_MCTS = $(patsubst %.cpp,%.cpp.o,$(notdir $(SOURCES_MCTS))) EXE_MCTS = mcts_player STATS_DIR = new_stats %.cpp.o: src/%.cpp $(CXX) -c -o $@ $< $(CXXFLAGS) $(DEVFLAGS) all: $(MAKE) mcts_player $(MAKE) rand_player rand_player: CXXFLAGS += -Wall -O2 rand_player: compilation_rand mcts_player: CXXFLAGS += -Wall -O2 mcts_player: compilation_mcts dev: CXXFLAGS += -Wall -Wextra -Wshadow -Wnon-virtual-dtor -pedantic -Og -g dev: CXXFLAGS += -Wold-style-cast -Wsign-conversion dev: compilation_mcts compilation_rand: $(OBJETS_RAND) $(CXX) -o $(EXE_RAND) $(OBJETS_RAND) compilation_mcts: $(OBJETS_MCTS) $(CXX) -o $(EXE_MCTS) $(OBJETS_MCTS) tgz: $(MAKE) clean $(CP) * temp mkdir temp/$(RAPPORT_DIR) $(CP) $(RAPPORT) temp/$(RAPPORT_DIR) cd temp && \ $(TAR) "$(NAME).tar.gz" * && \ $(MV) "$(NAME).tar.gz" .. $(RM) -r temp/ clean: $(RM) $(OBJETS_RAND) $(EXE_RAND) $(OBJETS_MCTS) $(EXE_MCTS) $(RM) *.tar.gz stats: ./mk_stats.sh clean-stats: $(RM) $(STATS_DIR)