This commit is contained in:
David AKAGUNDUZ 2024-05-05 01:32:06 +02:00
parent 8308a99068
commit 72122fc770

@ -1,30 +1,56 @@
# List of Java source files ### VARIABLES ###
SRCS := Cell.java GenerateGrid.java Grid.java Sudoku.java SudokuButtonListener.java SudokuSolver.java SudokuUI.java SudokuCreator.java SudokuGame.java
# Directory to store compiled class files JC = javac
BUILD_DIR := build JCFLAGS = -encoding UTF-8 -implicit:none
# Java compiler JVM = java
JAVAC := javac JVMFLAGS =
# Java interpreter ### REGLES ESSENTIELLES ###
JAVA := java
# Main class to run
MAIN_CLASS := Sudoku
# Default target SudokuCreator.class : SudokuCreator.java SudokuUI.class SudokuButtonListener.class Sudoku.class SudokuSolver.class GenerateGrid.class Grid.class Cell.class
.PHONY: all ${JC} ${JCFLAGS} SudokuCreator.java
all: compile
# Create the build directory SudokuGame.class : SudokuGame.java SudokuUI.class SudokuButtonListener.class Sudoku.class SudokuSolver.class GenerateGrid.class Grid.class Cell.class
$(BUILD_DIR): ${JC} ${JCFLAGS} SudokuGame.java
mkdir -p $(BUILD_DIR)
# Compile Java source files SudokuUI.class : SudokuUI.java Sudoku.class
.PHONY: compile ${JC} ${JCFLAGS} SudokuUI.java
compile: $(addprefix $(BUILD_DIR)/, $(SRCS:.java=.class))
# Rule to compile Java source files SudokuButtonListener.class : SudokuButtonListener.java Sudoku.class
$(BUILD_DIR)/%.class: %.java | $(BUILD_DIR) ${JC} ${JCFLAGS} SudokuButtonListener.java
$(JAVAC) -d $(BUILD_DIR) $<
Sudoku.class : Sudoku.java Grid.class
${JC} ${JCFLAGS} Sudoku.java
SudokuSolver.class : SudokuSolver.java Grid.class
${JC} ${JCFLAGS} SudokuSolver.java
GenerateGrid.class : GenerateGrid.java Grid.class
${JC} ${JCFLAGS} GenerateGrid.java
Grid.class : Grid.java Cell.class
${JC} ${JCFLAGS} Grid.java
Cell.class : Cell.java
${JC} ${JCFLAGS} Cell.java
### REGLES OPTIONNELLES ###
run : SudokuCreator.class
${JVM} ${JVMFLAGS} SudokuCreator
run1 : SudokuGame.class
${JVM} ${JVMFLAGS} SudokuGame
clean :
-rm -f *.class
mrproper : clean SudokuCreator.class SudokuGame.class
### BUTS FACTICES ###
.PHONY : run clean mrproper
### FIN ###