61 lines
1.5 KiB
Makefile
61 lines
1.5 KiB
Makefile
TARGET=target
|
|
|
|
#JAVAC=/usr/bin/javac
|
|
#JAVAH=/usr/bin/javah
|
|
#JAVAH_CLASSPATH_PREFIX=
|
|
#JAR=/usr/bin/jar
|
|
|
|
#JAVAC=/opt/jdk/bin/javac
|
|
#JAVAH=/opt/jdk/bin/javah
|
|
#JAVAH_CLASSPATH_PREFIX=
|
|
#JAR=/opt/jdk/bin/jar
|
|
|
|
JAVAC=/usr/lib/kaffe/bin/javac
|
|
JAVAH=/usr/lib/kaffe/bin/javah
|
|
JAVAH_CLASSPATH_PREFIX=/usr/share/kaffe/Klasses.jar:
|
|
JAR=/usr/lib/kaffe/bin/jar
|
|
|
|
#JAVAC=/usr/bin/gcj -C
|
|
#JAVAH=/usr/bin/gcjh -jni
|
|
#JAVAH_CLASSPATH_PREFIX=
|
|
#JAR=/usr/bin/fastjar
|
|
|
|
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 ${JAVAH_CLASSPATH_PREFIX}${JAVA_BUILD_DIR} ${JAVA_CLASSES}
|
|
|
|
binary-c: ${LASSO.SO}
|
|
|
|
${C_OBJECT}: ${C_SOURCE}
|
|
${MAKE} -C ${C_SOURCE_DIR}
|
|
|
|
mylibs = ../lasso/.libs/liblasso.so
|
|
|
|
${LASSO.SO}: generate-header ${C_OBJECT}
|
|
$(CC) -shared -lgobject-2.0 -lglib-2.0 $(mylibs) ${C_OBJECT} -o $@
|
|
|
|
clean:
|
|
${MAKE} -C ${C_SOURCE_DIR} clean
|
|
rm -fr ${TARGET} *~ *.log
|