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