summaryrefslogtreecommitdiff
path: root/Makefile
blob: 98b4a42960aed0fbe40521e079d70ac0a5881597 (plain)
  1. JAVA_PROJECTMODULES = com.example.portfolio3 dk.biks.bachelorizer
  2. JAVA_ROOT_portfolio3 = src/com.example.portfolio3
  3. JAVA_EXTRACLASSES_portfolio3 = AbstractGraph AdjListGraph AdjMapGraph \
  4. Edge GraphAlgorithms Graph Graphs MatrixGraph Vertex
  5. # TODO: fix and include EdgeGraph
  6. JAVA_MODULEPATHS_bachelorizer = /usr/share/openjfx/lib
  7. JAVA_ROOT_bachelorizer = src/dk.biks.bachelorizer
  8. JAVA_MAINCLASSES_bachelorizer = Main Combi Window
  9. JAVA_EXTRACLASSES_bachelorizer = Control GUI Person
  10. JAVA_MODULES_bachelorizer = $(addprefix javafx.,base controls graphics)
  11. DOCUMENTS = delivery1 delivery2
  12. ZIPNAME = bachelorizer
  13. ZIPFILES += $(STEMS:=.java)
  14. include _make/*.mk
  15. # resolve Java version
  16. JAVA_MAJOR_VERSION := $(shell $(JAVA) -version 2>&1 \
  17. | grep -Pom1 '"\K\d+' )
  18. # silence security restriction warning
  19. JAVAFLAGS += --enable-native-access=javafx.graphics
  20. # silence unsafe memory-access methods warning on recent JDKs
  21. # @see <https://stackoverflow.com/a/79526038/18619283>
  22. ifeq ($(shell expr $(JAVA_MAJOR_VERSION) \>= 23), 1)
  23. JAVAFLAGS += --sun-misc-unsafe-memory-access=allow
  24. endif
  25. # loading as modules works with JDK 22+, and is required with JDK 23+
  26. ifeq ($(shell expr $(JAVA_MAJOR_VERSION) \>= 22), 1)
  27. JAVA_MODULEPATHS_bachelorizer += mods/com.example.portfolio3
  28. else
  29. JAVA_CLASSPATHS_bachelorizer += mods/com.example.portfolio3
  30. endif
  31. # TODO: fix properly declare and resolve local interdependencies
  32. runsrc-dk.biks.bachelorizer build-dk.biks.bachelorizer: \
  33. build-com.example.portfolio3