This repository has been archived on 2023-04-18. You can view files and clone it, but cannot push or open issues or pull requests.
iaj/TP2/Makefile
2023-03-31 12:23:34 +02:00

66 lines
1.6 KiB
Makefile

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)