# Java compiler
JC = javac
# Java runtime
JR = java
# Compilation flags
JFLAGS = -g
# Source directories
SRCDIR = src
BINDIR = bin
# List of Java source files
SRCS = $(wildcard $(SRCDIR)/MonteCarloMini/*.java)
# List of class files
CLASSES = $(SRCS:$(SRCDIR)/%.java=$(BINDIR)/%.class)
# Main class
MAIN = MonteCarloMini.MonteCarloMinimizationParallel
# Default target
all: $(CLASSES)
# Compile Java source files
$(BINDIR)/%.class: $(SRCDIR)/%.java
@mkdir -p $(BINDIR)
$(JC) $(JFLAGS) -d $(BINDIR) -cp $(SRCDIR) $<
# Run the program with customizable arguments
run:
$(JR) -cp $(BINDIR) $(MAIN) $(ARGS)
# Clean up
clean:
$(RM) -r $(BINDIR)
.PHONY: all run clean