# List of Java source files SRCS := Cell.java Grid.java Sudoku.java SudokuButtonListener.java SudokuUI.java # Directory to store compiled class files BUILD_DIR := build # Java compiler JAVAC := javac # Java interpreter JAVA := java # Main class to run MAIN_CLASS := Sudoku # Default target .PHONY: all all: compile # Create the build directory $(BUILD_DIR): mkdir -p $(BUILD_DIR) # Compile Java source files .PHONY: compile compile: $(addprefix $(BUILD_DIR)/, $(SRCS:.java=.class)) # Rule to compile Java source files $(BUILD_DIR)/%.class: %.java | $(BUILD_DIR) $(JAVAC) -d $(BUILD_DIR) $ # Clean up compiled class files .PHONY: clean clean: rm -rf $(BUILD_DIR)