4 JAVA_HOME ?= /home/notzed/src/openjdk-panama-14
5 JAVAC=$(JAVA_HOME)/bin/javac
6 JAVA=$(JAVA_HOME)/bin/java
8 all: bin/libapi.so bin/api.classes bin/classes/api/test/TestAPI.class
10 bin/classes/api/test/TestAPI.class: api/test/TestAPI.java bin/api.classes
11 $(JAVAC) -cp bin/classes -d bin/classes $<
13 bin/api.classes: bin/api.pm
14 ../src/generate -d bin/java -t api -c APILib -lapi ./bin/api.pm
15 $(JAVAC) -d bin/classes bin/java/api/*.java
19 gcc -fplugin=../src/export.so -fplugin-arg-export-output=$@ ./$< -o /dev/null
21 bin/api.o: api.c api.h
22 $(CC) $(CFLAGS) -c -o $@ $<
24 bin/libapi.so: bin/api.o
25 $(CC) -o $@ -shared $^
28 $(JAVA) -Djava.library.path=bin -cp bin/classes api.test.TestAPI
35 $(if $(filter clean,$(MAKECMDGOALS)),,$(shell mkdir -p bin))