📄 makefile.am
字号:
# Makefile to handle JNI regression tests.## Copyright (c) 2003# Kaffe.org contributors. All rights reserved.## See the file "license.terms" for information on usage and redistribution# of this file.check_PROGRAMS= jniBase jniExecClass jniReflect jniWeakTestAM_CFLAGS = \ $(KAFFE_CFLAGS)AM_CPPFLAGS= \ -I$(top_builddir)/include \ -I$(top_srcdir)/include -I$(top_srcdir)/include/kaffe \ -DCLASSPATH_SOURCE_DIR=\"$(top_srcdir)/test/jni\"if NEED_LIBXPROFlibxprof = ../../kaffe/xprof/libkaffexprof.laelselibxprof = #endifif ENABLE_JVMPIlibjvmpi = ../../kaffe/jvmpi/libkaffejvmpi.laelselibjvmpi = #endifLIBNATIVE = $(top_builddir)/libraries/clib/native/libnative.laLIBREPLACE = $(top_builddir)/replace/libreplace.laLIBKAFFEVM = $(top_builddir)/kaffe/kaffevm/libkaffe.la $(libjvmpi) $(libxprof)HelloWorldApp.class: $(srcdir)/../regression/HelloWorldApp.java $(JAVAC) -g -classpath $(CPATH) -d . $(srcdir)/../regression/HelloWorldApp.javajniBase_SOURCES= jniBase.cjniBase_LDFLAGS= -export-dynamicjniBase_LDADD= \ $(DLOPEN_JAVA_LIBS) \ $(LIBKAFFEVM) \ $(LIBREPLACE) \ $(LTLIBINTL) \ -dlopen $(top_builddir)/kaffe/kaffevm/libkaffevm.lajniBase_DEPENDENCIES= $(LIBKAFFEVM)jniExecClass_SOURCES= jniExecClass.cjniExecClass_LDFLAGS= -export-dynamicjniExecClass_LDADD= \ $(DLOPEN_JAVA_LIBS) \ $(LIBKAFFEVM) \ $(LIBREPLACE) \ $(LTLIBINTL) \ -dlopen $(top_builddir)/kaffe/kaffevm/libkaffevm.lajniExecClass_DEPENDENCIES= \ $(LIBKAFFEVM) \ HelloWorldApp.classjniReflect_SOURCES= jniReflect.cjniReflect_LDFLAGS= -export-dynamicjniReflect_LDADD= \ $(DLOPEN_JAVA_LIBS) \ $(LIBKAFFEVM) \ $(LIBREPLACE) \ $(LTLIBINTL) \ -dlopen $(top_builddir)/kaffe/kaffevm/libkaffevm.lajniReflect_DEPENDENCIES= \ $(LIBKAFFEVM) \ HelloWorldApp.class# Okay, the following is a bit convulted and hackish, and makes me feel dizzy.# But as I found no way to do it better, here it goes:## We need to have a JNI library built just for make check purpose, i.e# a) it may not be installed# b) it may only build on check# c) in must be dlopen-able for JNI library loading to work# d) it must actually load the library and run it# # Solution for a and b: Fortunately, automake lets us build libtool libraries for # make check purpose only using check_LTLIBRARIES.# Solution for c: Unfortunately, it builds convenience libraries by default, which# can not be dlopened. Adding -module or -static to LDFLAGS does not help, one # needs to add -rpath with a fake absolute directory to it to make libtool build# a dlopenable library.# Solution for d: Adding . to KAFFELIBRARYPATH allows the resulting test to find the# so created library.# # Amazingly enough, this actually seems to work.check_LTLIBRARIES = libjniweaklib.lalibjniweaklib_la_SOURCES = jniweaklib.clibjniweaklib_la_LDFLAGS = \ $(KLIBFLAGS) \ -no-undefined \ -module \ -rpath $(nativedir) \ -release $(PACKAGE_VERSION)JAVA_CLASSES = \ JNIWeakTest.classCPATH = .:$(GLIBJ_ZIP)JNIWeakTest.class: $(srcdir)/JNIWeakTest.java $(JAVAC) -g -classpath $(CPATH) -d . $(srcdir)/JNIWeakTest.javajniWeakTest_SOURCES = jniWeakTest.cjniWeakTest_LDFLAGS= -export-dynamicjniWeakTest_LDADD= \ -dlopen $(top_builddir)/test/jni/libjniweaklib.la \ $(DLOPEN_JAVA_LIBS) \ $(LIBKAFFEVM) \ $(LIBREPLACE) \ $(LTLIBINTL) \ -dlopen $(top_builddir)/kaffe/kaffevm/libkaffevm.lajniWeakTest_DEPENDENCIES = $(LIBKAFFEVM) libjniweaklib.lajniWeakTest.o: JNIWeakTest.classEXTRA_DIST = \ JNIWeakTest.javaTESTS_ENVIRONMENT = env `BOOTCLASSPATH="."; export BOOTCLASSPATH ; . $(top_builddir)/BUILD_ENVIRONMENT; $(SED) 's/.*export \(.*\)/echo \1=$$\1/' < $(top_builddir)/BUILD_ENVIRONMENT | sh`TESTS = $(check_PROGRAMS)CLEANFILES = *.fail *.out core *.core *.class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -