diff --git a/Makefile b/Makefile index 441d46b..efcbab4 100644 --- a/Makefile +++ b/Makefile @@ -1,30 +1,56 @@ -# List of Java source files -SRCS := Cell.java GenerateGrid.java Grid.java Sudoku.java SudokuButtonListener.java SudokuSolver.java SudokuUI.java SudokuCreator.java SudokuGame.java +### VARIABLES ### -# Directory to store compiled class files -BUILD_DIR := build +JC = javac +JCFLAGS = -encoding UTF-8 -implicit:none -# Java compiler -JAVAC := javac +JVM = java +JVMFLAGS = -# Java interpreter -JAVA := java +### REGLES ESSENTIELLES ### -# Main class to run -MAIN_CLASS := Sudoku -# Default target -.PHONY: all -all: compile +SudokuCreator.class : SudokuCreator.java SudokuUI.class SudokuButtonListener.class Sudoku.class SudokuSolver.class GenerateGrid.class Grid.class Cell.class + ${JC} ${JCFLAGS} SudokuCreator.java -# Create the build directory -$(BUILD_DIR): - mkdir -p $(BUILD_DIR) +SudokuGame.class : SudokuGame.java SudokuUI.class SudokuButtonListener.class Sudoku.class SudokuSolver.class GenerateGrid.class Grid.class Cell.class + ${JC} ${JCFLAGS} SudokuGame.java -# Compile Java source files -.PHONY: compile -compile: $(addprefix $(BUILD_DIR)/, $(SRCS:.java=.class)) +SudokuUI.class : SudokuUI.java Sudoku.class + ${JC} ${JCFLAGS} SudokuUI.java -# Rule to compile Java source files -$(BUILD_DIR)/%.class: %.java | $(BUILD_DIR) - $(JAVAC) -d $(BUILD_DIR) $< +SudokuButtonListener.class : SudokuButtonListener.java Sudoku.class + ${JC} ${JCFLAGS} SudokuButtonListener.java + +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 ### \ No newline at end of file