aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/bindings/java/Makefile
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /capstone/bindings/java/Makefile
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'capstone/bindings/java/Makefile')
-rw-r--r--capstone/bindings/java/Makefile71
1 files changed, 71 insertions, 0 deletions
diff --git a/capstone/bindings/java/Makefile b/capstone/bindings/java/Makefile
new file mode 100644
index 000000000..32f50bedc
--- /dev/null
+++ b/capstone/bindings/java/Makefile
@@ -0,0 +1,71 @@
+# Capstone Disassembler Engine
+# By Nguyen Anh Quynh <aquynh@gmail.com>, 2013>
+
+ifndef BUILDDIR
+BLDIR = .
+OBJDIR = .
+else
+BLDIR = $(abspath $(BUILDDIR))/bindings/java
+OBJDIR = $(abspath $(BUILDDIR))/obj/bindings/java
+endif
+
+JNA = /usr/share/java/jna/jna.jar
+
+ifneq ($(wildcard $(JNA)),)
+else
+ ifneq ($(wildcard /usr/share/java/jna.jar),)
+ JNA = /usr/share/java/jna.jar
+ else
+ JNA =
+ endif
+endif
+
+PYTHON2 ?= python
+
+CAPSTONE_JAVA = Capstone.java Arm_const.java Arm64_const.java Mips_const.java \
+ X86_const.java Xcore_const.java Ppc_const.java Sparc_const.java\
+ Sysz_const.java M680x_const.java \
+ Arm.java Arm64.java Mips.java X86.java Xcore.java Ppc.java\
+ Sparc.java Systemz.java M680x.java
+
+all: gen_const capstone tests
+
+capstone: capstone_class
+ @mkdir -p $(BLDIR)
+ cd $(OBJDIR) && jar cf $(BLDIR)/capstone.jar capstone/*.class
+
+capstone_class: jna
+ifdef BUILDDIR
+ @mkdir -p $(OBJDIR)
+ cd capstone && javac -d $(OBJDIR) -classpath $(JNA) $(CAPSTONE_JAVA)
+else
+ cd capstone && javac -classpath $(JNA) $(CAPSTONE_JAVA)
+endif
+
+tests: capstone_class jna
+ @mkdir -p $(OBJDIR)
+ javac -d $(OBJDIR) -classpath "$(JNA):$(BLDIR)/capstone.jar" TestBasic.java\
+ TestArm.java TestArm64.java TestMips.java TestX86.java TestXcore.java\
+ TestPpc.java TestSparc.java TestSystemz.java TestM680x.java
+
+gen_const:
+ cd ../ && $(PYTHON2) const_generator.py java
+
+jna:
+ @if [ ! $(JNA) ]; then echo "*** Unable to find JNA ***"; exit 1; fi
+
+clean:
+ rm -rf $(OBJDIR)/capstone/*.class
+ rm -rf $(OBJDIR)/*.class $(OBJDIR)/*.log $(BLDIR)/*.jar
+ifdef BUILDDIR
+ rm -rf $(BLDIR)
+ rm -rf $(OBJDIR)
+endif
+
+TESTS = testbasic arm arm64 m680x mips ppc sparc systemz x86 xcore
+check:
+ @for t in $(TESTS); do \
+ echo Check $$t ... ; \
+ ./run.sh $$t > /dev/null && echo OK || echo FAILED; \
+ done
+