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