summaryrefslogtreecommitdiff
path: root/src/runtime/java/Makefile
blob: 5b622f3eac2365a7768d81bbec3b13d78f889fe4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
C_SOURCES = jpgf.c jsg.c jni_utils.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 $@ org/grammaticalframework/pgf/*.class org/grammaticalframework/sg/*.class

%.class : %.java
	javac $<

install: libjpgf.la jpgf.jar
	libtool --mode=install install -s libjpgf.la $(INSTALL_PATH)

doc:
	javadoc org.grammaticalframework.pgf org.grammaticalframework.sg -d java-api

clean:
	rm -f *.lo
	rm -f *.la
	rm -f -r .libs
	rm -f *.jar
	rm -f org/grammaticalframework/*/*.class