correction bug Makefile
This commit is contained in:
@@ -1,28 +1,40 @@
|
||||
# Variables
|
||||
# Directories
|
||||
SRC_DIR = src
|
||||
BIN_DIR = bin
|
||||
JAR_DIR = src/utils
|
||||
|
||||
# Find all source files and corresponding class files
|
||||
SOURCES = $(shell find $(SRC_DIR) -name "*.java")
|
||||
CLASSES = $(SOURCES:$(SRC_DIR)/%.java=$(BIN_DIR)/%.class)
|
||||
|
||||
# Main class for execution
|
||||
MAIN_CLASS = controller.Main
|
||||
CP = $(BIN_DIR);$(JAR_DIR)/mariadb-client.jar
|
||||
|
||||
# Règles
|
||||
.PHONY: all compile run clean
|
||||
# Java compiler and runner
|
||||
JAVAC = javac
|
||||
JAVA = java
|
||||
JFLAGS = -d $(BIN_DIR) -cp $(SRC_DIR):$(BIN_DIR) # Ajout du classpath src/ et bin/
|
||||
|
||||
all: compile run
|
||||
# Default target: Compile and run
|
||||
all: clean compile run
|
||||
|
||||
compile:
|
||||
@echo "Compilation des fichiers Java..."
|
||||
@if not exist $(BIN_DIR) mkdir $(BIN_DIR)
|
||||
@for /R $(SRC_DIR) %%f in (*.java) do @echo %%f >> sources.txt
|
||||
@javac -cp $(CP) -d $(BIN_DIR) @sources.txt
|
||||
@del sources.txt
|
||||
# Compile all Java source files
|
||||
compile: $(CLASSES)
|
||||
@echo "Compilation terminée."
|
||||
|
||||
run:
|
||||
@echo "Exécution du programme..."
|
||||
@java -cp $(CP) $(MAIN_CLASS)
|
||||
# Rule to compile each .java file to a .class file
|
||||
$(BIN_DIR)/%.class: $(SRC_DIR)/%.java
|
||||
@mkdir -p $(@D)
|
||||
$(JAVAC) $(JFLAGS) $<
|
||||
|
||||
# Run the application
|
||||
run:
|
||||
@echo "Exécution de l'application..."
|
||||
$(JAVA) -cp $(BIN_DIR):$(SRC_DIR) $(MAIN_CLASS)
|
||||
|
||||
# Clean compiled files
|
||||
clean:
|
||||
@echo "Nettoyage des fichiers compilés..."
|
||||
@if exist $(BIN_DIR) rmdir /S /Q $(BIN_DIR)
|
||||
@echo "Nettoyage terminé."
|
||||
rm -rf $(BIN_DIR)/*
|
||||
|
||||
# Phony targets to avoid conflicts
|
||||
.PHONY: all compile run clean
|
||||
|
Reference in New Issue
Block a user