summaryrefslogtreecommitdiff
path: root/src/runtime/java/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/java/Makefile')
-rw-r--r--src/runtime/java/Makefile30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/runtime/java/Makefile b/src/runtime/java/Makefile
new file mode 100644
index 000000000..cb8000fd2
--- /dev/null
+++ b/src/runtime/java/Makefile
@@ -0,0 +1,30 @@
+C_SOURCES = jpgf.c jsg.c
+JAVA_SOURCES = $(wildcard org/grammaticalframework/pgf/*.java) \
+ $(wildcard org/grammaticalframework/sg/*.java)
+
+JNI_PATH = /usr/lib/jvm/default-java/include
+INSTALL_PATH = /usr/local/lib
+
+all: libjpgf.la jpgf.jar
+
+libjpgf.la: $(patsubst %.c, %.lo, $(C_SOURCES))
+ libtool --mode=link gcc -g -O -o libjpgf.la -shared $^ -rpath $(INSTALL_PATH) -lgu -lpgf -lsg
+
+%.lo : %.c
+ libtool --mode=compile gcc -g -O -c -I$(JNI_PATH) -std=c99 -shared $< -o $@
+
+jpgf.jar: $(patsubst %.java, %.class, $(JAVA_SOURCES))
+ jar -cf $@ $^
+
+%.class : %.java
+ javac $<
+
+install: libjpgf.la jpgf.jar
+ libtool --mode=install install -s libjpgf.la $(INSTALL_PATH)
+
+clean:
+ rm -f *.lo
+ rm -f *.la
+ rm -f -r .libs
+ rm -f *.jar
+ rm -f org/grammaticalframework/*/*.class