JAVA_PROJECTMODULES = com.example.portfolio3 dk.biks.bachelorizer
JAVA_ROOT_portfolio3 = src/main/java/com.example.portfolio3
JAVA_EXTRACLASSES_portfolio3 = AbstractGraph AdjListGraph AdjMapGraph \
 Edge GraphAlgorithms Graph Graphs MatrixGraph Vertex
# TODO: fix and include EdgeGraph
JAVA_MODULEPATHS_bachelorizer = /usr/share/openjfx/lib
# TODO: fix properly declare and resolve local interdependencies
JAVA_MODULEPATHS_bachelorizer = /usr/share/openjfx/lib mods/com.example.portfolio3
JAVA_ROOT_bachelorizer = src/main/java/dk.biks.bachelorizer
JAVA_MAINCLASSES_bachelorizer = Main model/Combi
JAVA_EXTRACLASSES_bachelorizer = model/GUI model/Person view/Window Control
JAVA_MODULES_bachelorizer = $(addprefix javafx.,base controls graphics)

DOCUMENTS = delivery1 delivery2
ZIPNAME = bachelorizer
ZIPFILES += $(STEMS:=.java)

include _make/*.mk

# resolve Java version
JAVA_MAJOR_VERSION := $(shell $(JAVA) -version 2>&1 \
 | grep -Pom1 '"\K\d+' )

# silence security restriction warning
JAVAFLAGS += --enable-native-access=javafx.graphics

# silence unsafe memory-access methods warning on recent JDKs
# @see <https://stackoverflow.com/a/79526038/18619283>
ifeq ($(shell expr $(JAVA_MAJOR_VERSION) \>= 23), 1)
JAVAFLAGS += --sun-misc-unsafe-memory-access=allow
endif