Makefile
This commit is contained in:
parent
8308a99068
commit
72122fc770
70
Makefile
70
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 ###
|
Loading…
x
Reference in New Issue
Block a user