CXX = g++ CXXFLAGS = -std=c++11 RM = rm -f 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/my_player.cpp, $(wildcard src/*.cpp)) OBJETS_RAND = $(patsubst %.cpp,%.cpp.o,$(notdir $(SOURCES_RAND))) EXE_RAND = rand_player SOURCES_ME = $(filter-out src/rand_player.cpp, $(wildcard src/*.cpp)) OBJETS_ME = $(patsubst %.cpp,%.cpp.o,$(notdir $(SOURCES_RAND))) EXE_ME = my_player %.cpp.o: src/%.cpp $(CXX) -c -o $@ $< $(CXXFLAGS) $(DEVFLAGS) all: $(MAKE) my_player $(MAKE) rand_player rand_player: CXXFLAGS += -Wall -O2 rand_player: compilation_rand my_player: CXXFLAGS += -Wall -O2 my_player: compilation_me dev: CXXFLAGS += -Wall -Wextra -Wshadow -Wnon-virtual-dtor -pedantic -Og -g dev: CXXFLAGS += -Wold-style-cast -Wsign-conversion dev: compilation_me compilation_rand: $(OBJETS_RAND) $(CXX) -o $(EXE_RAND) $(OBJETS_RAND) compilation_me: $(OBJETS_ME) $(CXX) -o $(EXE_ME) $(OBJETS_ME) 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_ME) $(EXE_ME) $(RM) *.tar.gz