PACKAGE=swig DOC=swig PKGCFLAGS= SWIG=@SWIG@ LIBS=@LIBS@ JAVAC=@JAVAC@ JAR=@JAR@ include ../Makefile.defs DEFS=@DEFS@ -D_YAP_NOT_INSTALLED_=1 -DDESTDIR=\"$(DESTDIR)\" YAP_EXTRAS=@YAP_EXTRAS@ srcdir=@srcdir@ CPPFLAGS= -I../.. -I$(srcdir)/../../H -I$(srcdir)/../../include -I$(srcdir)/../../os -I$(srcdir)/../../OPTYap -I$(srcdir)/../../BEAM -I$(srcdir)/../../CXX CXXFLAGS= $(YAP_EXTRAS) $(DEFS) $(CPPFLAGS) YAP_SWIG_INTERFACE= $(srcdir)/yap.i \ $(srcdir)/../../CXX/yapi.hh \ $(srcdir)/../../CXX/yapa.hh \ $(srcdir)/../../CXX/yapdb.hh \ $(srcdir)/../../CXX/yapie.hh \ $(srcdir)/../../CXX/yapq.hh \ $(srcdir)/../../CXX/yapi.cpp JNI_SQLITE="$(srcdir)/android/jni/sqlite" JAVA_SQLITE="$(srcdir)/android/src/org" SQLITE=$(JNI_SQLITE) $(JAVA_SQLITE) PYTHON_PROGRAMS = $(srcdir)/python/demo.py ANDROID_PROGRAMS=$(srcdir)/android/JavaYap.java $(SQLITE) PROGRAMS= $(PYTHON_PROGRAMS) $(JAVA_PROGRAMS) $(ANDROID_PROGRAMS) YAP_EXPORT_DLLS="$(DESTDIR)$(SOLIBDIR)" YAP_EXPORT_PLS="$(DESTDIR)$(PLLIBDIR)" YAP_EXPORT_SAVED_STATE="../../startup.yss" PYTHON_PROGRAMS = $(srcdir)/python/demo.py ANDROID_PROGRAMS=$(srcdir)/android/JavaYap.java $(SQLITE) SWIG_FILES= \ $(srcdir)/yap.i all: python java R python: $(SWIG_FILES) python/_yap.so python/yap.py cp $(srcdir)/python/demo.py python python/_yap.so: python/yap_wrap.o $(CXX) -shared $(LDSOFLAGS) -o python/_yap.so python/yap_wrap.o ../../yapi.o $(LIBS) @PYTHON_LIBS@ -L ../.. -lYap -lpthread python/yap_wrap.cpp python/yap.py: $(YAP_SWIG_INTERFACE) mkdir -p python $(SWIG) -c++ -python -outdir python -o $@ $(CXXFLAGS) -Wall $< python/yap_wrap.o: python/yap_wrap.cpp $(CXX) -c @SHLIB_CXXFLAGS@ $(CXXFLAGS) @PYTHON_INCLUDES@ $< -o $@ java: jni/libyap.@SO@ java/yap.java cd java ; $(JAVAC) *.java; $(JAR) cvf yap.jar *.class jni/libyap.@SO@: jni/yap_wrap.o $(CXX) -shared $(LDSOFLAGS) -o $@ ../../yapi.o $< $(LIBS) @JPLLDFLAGS@ -L ../.. -lYap -lpthread jni/yap_wrap.cpp java/yap.java: $(YAP_SWIG_INTERFACE) $(SWIG) -c++ -java -package pt.up.fc.dcc.yap -outdir java -o jni/yap_wrap.cpp $(CXXFLAGS) -Wall $< jni/yap_wrap.o: jni/yap_wrap.cpp $(CXX) -c @SHLIB_CXXFLAGS@ $(CXXFLAGS) @JPLCFLAGS@ $< -o $@ # depends on make install on top-level # also, should have an android device running, say # emulator -avd first & # # adb uninstall org.swig.simple ( if not the first time ) # adb install bin/JavaYap-debug.apk # # android: JavaYap-debug.apk JavaYap-debug.apk: android/libs/armeabi/libexample.so ( cd android && ant debug ) android/libs/armeabi/libexample.so: android/jni/Android.mk android/jni/Application.mk android/jni/yap_wrap.cpp ( cd android/jni && NDK_DEBUG=1 ndk-build ) android/jni/Application.mk: android/jni/Android.mk cp $(srcdir)/android/jni/Application.mk android/jni android/jni/Android.mk: android/AndroidManifest.xml cp Android.mk android/jni cp $(srcdir)/android/JavaYap.java android/src/pt/up/fc/dcc/yap cp $(srcdir)/android/main.xml android/res/layout cp -r $(JNI_SQLITE) android/jni cp -r $(JAVA_SQLITE) android/src android/AndroidManifest.xml: $(ANDROID_PKG) android create project --target $(ANDROID_TARGET) --name JavaYap --path ./android --activity JavaYap --package pt.up.fc.dcc.yap mkdir -p android/assets mkdir -p android/assets/share mkdir -p android/assets/share/Yap mkdir -p android/assets/lib mkdir -p android/assets/lib/Yap mkdir -p android/jni mkdir -p android/usr android/jni/yap_wrap.cpp: $(YAP_SWIG_INTERFACE) android/AndroidManifest.xml $(SWIG) -c++ -java -I$(srcdir)/../../CXX -package pt.up.fc.dcc.yap -outdir android/src/pt/up/fc/dcc/yap -o $@ $< install-android: android adb install -r android/bin/JavaYap-debug.apk R: yap.i: $(srcdir)/../../../../include/YapInterface.h install: all clean: rm -fr android/libs/armeabi/libexample.so JavaYap-debug.apk android/jni/Application.mk \ android/jni/Android.mk android/jni/yap_wrap.cpp python/_yap.so jni/yap_wrap.o \ python/yap_wrap.cpp python/yap.py jni/yap_wrap.cpp java/yap.java distclean: clean rm -f *def Makefile ##########