# installation path of the include files
INCLUDE := /usr/include
# copy version-info from glpk package: src/Makefile.am
VERSION_INFO := 23:0:23
# copy revision from glpk package: configure.ac
REVISION := 4.38
# installation path for package
prefix = /usr/local

all:
	echo $(JAVA_HOME)
	mkdir -p src/java
	mkdir -p java/org/gnu/glpk
	swig -I$(INCLUDE) -java -package org.gnu.glpk -o src/java/glpk_wrap.c -outdir java/org/gnu/glpk glpk.i 
	libtool --mode=compile gcc -c -fPIC src/java/glpk_wrap.c
	libtool --mode=link \
		gcc -version-info $(VERSION_INFO) -revision $(REVISION) \
		-g -O -o libglpk_java.la -rpath ${prefix}/lib/jni glpk_wrap.o -lglpk 
	javac -classpath java/org/gnu/glpk/ java/org/gnu/glpk/*.java
	jar cf java/glpk-java.jar -C java/ org

clean:
	rm -f -r src java .libs
	rm -f *.o *.la *.lo ../examples/*.class

distclean: clean
	rm -f *~ ../examples/*~ ../w32/*~ ../w64/*~

install:
	mkdir -p -m 755 $(DESTDIR)${prefix}/lib/jni;true
	libtool --mode=install install -c libglpk_java.la $(DESTDIR)${prefix}/lib/jni/libglpk_java.la
	libtool --mode=finish $(DESTDIR)${prefix}/lib/jni
	mkdir -p -m 755 $(DESTDIR)${prefix}/share/java;true
	install -m 644 java/glpk-java.jar $(DESTDIR)${prefix}/share/java/glpk-java-$(REVISION).jar
	cd $(DESTDIR)${prefix}/share/java/;ln -f -s glpk-java-$(REVISION).jar glpk-java.jar

test:
	cd ../examples;javac -classpath ../swig/java/glpk-java.jar GLPKSwig.java
	cd ../examples;java -Djava.library.path=../swig/.libs -classpath ../swig/java/glpk-java.jar:. GLPKSwig marbles.mod
	cd ../examples;javac -classpath ../swig/java/glpk-java.jar Roy.java
	cd ../examples;java -Djava.library.path=../swig/.libs -classpath ../swig/java/glpk-java.jar:. Roy
