lasso/java/Makefile.am

80 lines
2.0 KiB
Makefile

NULL =
TARGET=target
#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
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}
if MINGW
LDFLAGS=-L/usr/local/lib -lgobject-2.0-0 -lglib-2.0-0 -llasso
LASSO_DLL=${TARGET}/jlasso.dll
else
LDFLAGS=-lgobject-2.0 -lglib-2.0 -llasso
LASSO_SO=${TARGET}/libjlasso.so
endif
binary-java:
mkdir -p ${JAVA_BUILD_DIR}
${JAVAC} ${JAVAC_FLAGS} -d ${JAVA_BUILD_DIR} ${JAVA_SOURCE}
${JAR} cf ${LASSO_JAR} -C ${JAVA_BUILD_DIR} com
generate-header: binary-java
${JAVAH} ${JAVAH_FLAGS} -d ${C_SOURCE_DIR} -classpath ${JAVAH_CLASSPATH_PREFIX}${JAVA_BUILD_DIR} ${JAVA_CLASSES}
if MINGW
binary-c: ${LASSO_DLL}
else
binary-c: ${LASSO_SO}
endif
if MINGW
mylibs = -L../win32/.libs -llasso -L/usr/local/lib
${LASSO_DLL}: generate-header
gcc -mno-cygwin -shared -o ${TARGET}/jlasso.dll \
-Wl,--out-implib=${TARGET}/jlasso.a \
-Wl,--add-stdcall-alias \
-Wl,--export-all-symbols \
-Wl,--enable-auto-import \
-Wl,--whole-archive ${C_OBJECT} \
-Wl,--no-whole-archive -lgobject-2.0-0 -lglib-2.0-0 ${mylibs}
else
mylibs = ../lasso/.libs/liblasso.so
${LASSO_SO}: generate-header
$(CC) -shared -lgobject-2.0 -lglib-2.0 $(mylibs) ${C_OBJECT} -o $@
endif
lib_LTLIBRARIES = \
libjlasso.la \
$(NULL)
libjlassoinclude_HEADERS = $(NULL)
libjlasso_la_SOURCES = $(NULL)
libjlasso_la_LIBADD = \
binary-c \
$(NULL)
all-redirect: binary-c
clean:
rm -fr ${TARGET} *~ *.log
EXTRA_DIST = $(NULL)
SUBDIRS = src $(NULL)