summaryrefslogtreecommitdiffstats
path: root/java/Makefile
diff options
context:
space:
mode:
authorEmmanuel Raviart <eraviart@entrouvert.com>2004-07-20 12:41:35 +0000
committerEmmanuel Raviart <eraviart@entrouvert.com>2004-07-20 12:41:35 +0000
commita7c3554f40b6b017a4d4abc396de64ed89342a62 (patch)
tree423af9b1f3f794da03455fc6c27347eea9c3e173 /java/Makefile
parentff57e03478b2d6460aa2c60110ddfd976c21ca00 (diff)
downloadlasso-a7c3554f40b6b017a4d4abc396de64ed89342a62.tar.gz
lasso-a7c3554f40b6b017a4d4abc396de64ed89342a62.tar.xz
lasso-a7c3554f40b6b017a4d4abc396de64ed89342a62.zip
Added Java binding.
Diffstat (limited to 'java/Makefile')
-rw-r--r--java/Makefile42
1 files changed, 42 insertions, 0 deletions
diff --git a/java/Makefile b/java/Makefile
new file mode 100644
index 00000000..c4aec60e
--- /dev/null
+++ b/java/Makefile
@@ -0,0 +1,42 @@
+TARGET=target
+
+JAVAC=/opt/jdk/bin/javac
+JAVAH=/opt/jdk/bin/javah
+JAR=/opt/jdk/bin/jar
+
+JAVA_BUILD_DIR=${TARGET}/classes
+JAVA_SOURCE_DIR=src/java
+JAVA_PACKAGE=com.entrouvert.lasso
+JAVA_SOURCE=${wildcard ${JAVA_SOURCE_DIR}/${subst .,/,${JAVA_PACKAGE}}/*.java}
+JAVA_CLASSES=${addprefix ${JAVA_PACKAGE}., ${filter-out LassoTest, ${basename ${notdir ${JAVA_SOURCE}}}}}
+LASSO.JAR=${TARGET}/lasso.jar
+
+C_SOURCE_DIR=src/c
+C_BUILD_DIR=${C_SOURCE_DIR}
+C_SOURCE=${wildcard ${C_SOURCE_DIR}/*.c}
+C_OBJECT=${C_SOURCE:.c=.o}
+LASSO.SO=${TARGET}/libjlasso.so
+
+.PHONY: clean all binary-java binary-c generate-header
+
+all: binary-java binary-c
+
+binary-java:
+ mkdir -p ${JAVA_BUILD_DIR}
+ ${JAVAC} -d ${JAVA_BUILD_DIR} ${JAVA_SOURCE}
+ ${JAR} cf ${LASSO.JAR} -C ${JAVA_BUILD_DIR} com
+
+generate-header: binary-java
+ ${JAVAH} -d ${C_SOURCE_DIR} -classpath ${JAVA_BUILD_DIR} ${JAVA_CLASSES}
+
+binary-c: ${LASSO.SO}
+
+${C_OBJECT}: ${C_SOURCE}
+ ${MAKE} -C ${C_SOURCE_DIR}
+
+${LASSO.SO}: generate-header ${C_OBJECT}
+ $(CC) -shared ${C_OBJECT} -o $@
+
+clean:
+ ${MAKE} -C ${C_SOURCE_DIR} clean
+ rm -fr ${TARGET} *~ *.log