# Makefile pour le projet de simulation bancaire
# Modélisation Stochastique - EPT DIC1
# Variables
JAVA_FILES = [Link]
CLASS_FILES = $(JAVA_FILES:.java=.class)
MAIN_CLASS = BankSimulator
PARAM_FILE = [Link]
DOC_DIR = javadoc
# Compilation par défaut
all: compile
# Compilation des fichiers Java
compile: $(CLASS_FILES)
%.class: %.java
javac -encoding UTF-8 $<
# Exécution de la simulation
run: compile
java $(MAIN_CLASS) $(PARAM_FILE)
# Génération de la Javadoc
doc:
mkdir -p $(DOC_DIR)
javadoc -encoding UTF-8 -d $(DOC_DIR) -author -version $(JAVA_FILES)
@echo "Documentation générée dans le dossier $(DOC_DIR)"
# Nettoyage des fichiers compilés
clean:
rm -f *.class
rm -f *.txt
rm -f *.csv
# Nettoyage complet (inclut la documentation)
clean-all: clean
rm -rf $(DOC_DIR)
# Test avec différents paramètres
test: compile
@echo "Test avec les paramètres par défaut..."
java $(MAIN_CLASS) $(PARAM_FILE)
# Vérification de la présence des fichiers nécessaires
check:
@echo "Vérification des fichiers..."
@test -f $(PARAM_FILE) && echo "✓ $(PARAM_FILE) présent" || echo "✗ $
(PARAM_FILE) manquant"
@for file in $(JAVA_FILES); do \
test -f $$file && echo "✓ $$file présent" || echo "✗ $$file
manquant"; \
done
# Affichage de l'aide
help:
@echo "Commandes disponibles:"
@echo " make compile - Compile les fichiers Java"
@echo " make run - Compile et exécute la simulation"
@echo " make doc - Génère la documentation Javadoc"
@echo " make test - Lance un test complet"
@echo " make check - Vérifie la présence des fichiers"
@echo " make clean - Supprime les fichiers compilés"
@echo " make clean-all- Supprime tout (compilation + doc)"
@echo " make help - Affiche cette aide"
.PHONY: all compile run doc clean clean-all test check help