Remove some internal dumps.
[panamaz] / test-vulkan / Makefile
1
2 JAVA_HOME=/opt/jdk-foreign/jvm/openjdk-19-internal
3 JAVAC=$(JAVA_HOME)/bin/javac
4 JAVA=$(JAVA_HOME)/bin/java
5
6 zvk_TEMPLATES := $(wildcard template/*.java)
7 zvk_SOURCES := $(wildcard src/zvk/*.java)
8 zvk_demo_SOURCES := $(wildcard src/zvk/test/*.java)
9
10 all::
11         mkdir -p bin
12
13 all:: bin/demo.built bin/classes/zvk/test/mandelbrot.bin
14
15 bin/api.built: bin/api.gen $(zvk_SOURCES)
16         $(JAVAC) --add-modules jdk.incubator.foreign -d bin/classes \
17                 $(shell find bin/gen -name '*.java') \
18                 $(zvk_SOURCES)
19         touch $@
20
21 bin/api.gen: /usr/share/vulkan/registry/vk.xml generate-vulkan $(zvk_TEMPLATES)
22         PERL_HASH_SEED=0 ./generate-vulkan -d bin/gen
23         touch $@
24
25 bin/demo.built: bin/api.built $(zvk_demo_SOURCES)
26         $(JAVAC) --add-modules jdk.incubator.foreign -d bin/classes -cp bin/classes \
27                 $(zvk_demo_SOURCES)
28         touch $@
29
30 bin/classes/zvk/test/mandelbrot.bin: mandelbrot.comp
31         mkdir -p $(@D)
32         glslangValidator --target-env vulkan1.0 -V -o $@ $<
33
34 demo: bin/demo.built bin/classes/zvk/test/mandelbrot.bin
35         $(JAVA) --enable-native-access=ALL-UNNAMED --add-modules jdk.incubator.foreign \
36                 -cp bin/classes zvk.test.TestVulkan
37
38 clean:
39         rm -rf api bin mandelbrot.pam
40
41 .PHONY: demo clean all