correction bug Makefile
This commit is contained in:
@@ -1,28 +1,40 @@
|
|||||||
# Variables
|
# Directories
|
||||||
SRC_DIR = src
|
SRC_DIR = src
|
||||||
BIN_DIR = bin
|
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
|
MAIN_CLASS = controller.Main
|
||||||
CP = $(BIN_DIR);$(JAR_DIR)/mariadb-client.jar
|
|
||||||
|
|
||||||
# Règles
|
# Java compiler and runner
|
||||||
.PHONY: all compile run clean
|
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:
|
# Compile all Java source files
|
||||||
@echo "Compilation des fichiers Java..."
|
compile: $(CLASSES)
|
||||||
@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
|
|
||||||
@echo "Compilation terminée."
|
@echo "Compilation terminée."
|
||||||
|
|
||||||
run:
|
# Rule to compile each .java file to a .class file
|
||||||
@echo "Exécution du programme..."
|
$(BIN_DIR)/%.class: $(SRC_DIR)/%.java
|
||||||
@java -cp $(CP) $(MAIN_CLASS)
|
@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:
|
clean:
|
||||||
@echo "Nettoyage des fichiers compilés..."
|
@echo "Nettoyage des fichiers compilés..."
|
||||||
@if exist $(BIN_DIR) rmdir /S /Q $(BIN_DIR)
|
rm -rf $(BIN_DIR)/*
|
||||||
@echo "Nettoyage terminé."
|
|
||||||
|
# Phony targets to avoid conflicts
|
||||||
|
.PHONY: all compile run clean
|
||||||
|
Reference in New Issue
Block a user