summaryrefslogtreecommitdiff
path: root/platform/java
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-02-22 15:04:38 +0100
committerTor Andersson <tor.andersson@artifex.com>2016-02-29 16:03:34 +0100
commite1716629fd92f4580e6b213dc7be54b4935f09f9 (patch)
treeeeb43d8a1ae2cc8fddd09c058c3c415b41a7ca19 /platform/java
parente45a2f494d0a4f7e11c544d2098b0f5d1d199e58 (diff)
downloadmupdf-e1716629fd92f4580e6b213dc7be54b4935f09f9.tar.xz
jni: Update build files for moved java sources.
Diffstat (limited to 'platform/java')
-rw-r--r--platform/java/Makefile51
-rw-r--r--platform/java/Makejar3
2 files changed, 54 insertions, 0 deletions
diff --git a/platform/java/Makefile b/platform/java/Makefile
new file mode 100644
index 00000000..de7312b2
--- /dev/null
+++ b/platform/java/Makefile
@@ -0,0 +1,51 @@
+default: libmupdf_java.so libmupdf.jar
+
+MUPDF_CORE = ../../build/java/libmupdf.a ../../build/java/libmupdfthird.a
+
+LIBRARY_JAVA_SOURCES := $(sort $(wildcard com/artifex/mupdf/fitz/*.java))
+LIBRARY_JAVA_OBJECTS := $(LIBRARY_JAVA_SOURCES:%.java=%.class)
+LIBRARY_JAVA_CLASSES := $(subst com/artifex/mupdf/fitz/,com.artifex.mupdf.fitz.,$(LIBRARY_JAVA_SOURCES:%.java=%))
+
+VIEWER_JAVA_SOURCES := $(sort $(wildcard *.java))
+VIEWER_JAVA_OBJECTS := $(VIEWER_JAVA_SOURCES:%.java=%.class)
+
+$(MUPDF_CORE) :
+ $(MAKE) -C ../.. OUT=build/java XCFLAGS=-fPIC build=release libs
+
+$(LIBRARY_JAVA_OBJECTS) : $(LIBRARY_JAVA_SOURCES)
+ javac $^
+
+libmupdf.jar : $(LIBRARY_JAVA_OBJECTS)
+ rm -f $@
+ jar cf $@ $^
+
+mupdf_native.h : $(LIBRARY_JAVA_OBJECTS)
+ rm -f $@
+ javah -o $@ $(LIBRARY_JAVA_CLASSES)
+
+mupdf_native.o : mupdf_native.c mupdf_native.h
+ $(CC) -g -fPIC -Wall -Wextra -Wno-unused-parameter \
+ -I /usr/lib/jvm/java-7-openjdk-amd64/include \
+ -I /usr/lib/jvm/java-7-openjdk-amd64/include/linux \
+ -I ../../include \
+ -o $@ -c $<
+
+libmupdf_java.so : mupdf_native.o $(MUPDF_CORE)
+ $(CC) -shared -o $@ $^ -lcrypto
+
+$(VIEWER_JAVA_OBJECTS) : $(VIEWER_JAVA_SOURCES)
+ javac $^
+
+viewer: libmupdf_java.so $(LIBRARY_JAVA_OBJECTS) $(VIEWER_JAVA_OBJECTS)
+ LD_LIBRARY_PATH=. java Viewer
+
+clean:
+ rm -f com/artifex/mupdf/fitz/*.class
+ rm -f *.class
+ rm -f mupdf_native.o
+ rm -f libmupdf_java.so
+
+nuke: clean
+ $(MAKE) -C ../.. OUT=build/java clean
+
+.NOTPARALLEL : # disable -j option (it breaks since javac compiles all class files in one command)
diff --git a/platform/java/Makejar b/platform/java/Makejar
new file mode 100644
index 00000000..7ab3e40f
--- /dev/null
+++ b/platform/java/Makejar
@@ -0,0 +1,3 @@
+default:
+ javac com/artifex/mupdf/fitz/*.java
+ jar cf libmupdf.jar com/artifex/mupdf/fitz/*.class