mirror of
https://github.com/yuzu-emu/unicorn
synced 2024-11-24 15:58:16 +00:00
Merge branch 'java_dev' of https://github.com/cseagle/unicorn into cseagle-java_dev
This commit is contained in:
commit
c6a0638f33
2 changed files with 94 additions and 68 deletions
|
@ -1,78 +1,26 @@
|
|||
.PHONY: gen_const clean jar all lib samples install
|
||||
|
||||
.PHONY: gen_const clean
|
||||
all: gen_const
|
||||
$(MAKE) -f Makefile.build all
|
||||
|
||||
JAVA_HOME := $(shell jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')
|
||||
lib:
|
||||
$(MAKE) -f Makefile.build lib
|
||||
|
||||
JAVA_INC := $(shell realpath $(JAVA_HOME)/../include)
|
||||
samples:
|
||||
$(MAKE) -f Makefile.build samples
|
||||
|
||||
JAVA_PLATFORM_INC := $(shell dirname `find $(JAVA_INC) -name jni_md.h`)
|
||||
|
||||
UNICORN_INC=../../include
|
||||
|
||||
SAMPLES := $(shell ls samples/*.java)
|
||||
SRC := $(shell ls unicorn/*.java)
|
||||
|
||||
OS := $(shell uname)
|
||||
ifeq ($(OS),Darwin)
|
||||
LIB_EXT=.dylib
|
||||
endif
|
||||
ifeq ($(OS),Linux)
|
||||
LIB_EXT=.so
|
||||
else
|
||||
LIB_EXT=.dll
|
||||
endif
|
||||
|
||||
CC=gcc
|
||||
CFLAGS=-fPIC
|
||||
LDFLAGS=-shared -fPIC
|
||||
LIBS=-lunicorn
|
||||
LIBDIR=-L../../
|
||||
INCS=-I$(JAVA_INC) -I$(JAVA_PLATFORM_INC) -I$(UNICORN_INC)
|
||||
|
||||
JC=javac
|
||||
CLASSPATH=./
|
||||
|
||||
.SUFFIXES: .java .class
|
||||
|
||||
%.class: %.java
|
||||
$(JC) $(JFLAGS) $<
|
||||
|
||||
OBJS=unicorn_Unicorn.o
|
||||
|
||||
JARFILE=unicorn.jar
|
||||
|
||||
all: lib jar samples
|
||||
|
||||
%.o: %.c
|
||||
$(CC) -c $(CFLAGS) $(INCS) $< -o $@
|
||||
|
||||
unicorn_Unicorn.h: unicorn/Unicorn.java
|
||||
javah unicorn.Unicorn
|
||||
|
||||
unicorn_Unicorn.o: unicorn_Unicorn.c unicorn_Unicorn.h
|
||||
$(CC) -c $(CFLAGS) $(INCS) $< -o $@
|
||||
|
||||
libunicorn_java$(LIB_EXT): unicorn_Unicorn.o
|
||||
|
||||
lib: libunicorn_java$(LIB_EXT) unicorn_Unicorn.h
|
||||
$(CC) -o $< $(LDFLAGS) $(OBJS) $(LIBDIR) $(LIBS)
|
||||
|
||||
samples: $(SAMPLES:.java=.class)
|
||||
jarfiles: $(SRC:.java=.class)
|
||||
|
||||
jar: jarfiles
|
||||
jar cf $(JARFILE) unicorn/*.class
|
||||
jar:
|
||||
$(MAKE) -f Makefile.build jar
|
||||
|
||||
install: lib jar
|
||||
cp libunicorn_java$(LIB_EXT) $(JAVA_HOME)/lib/ext
|
||||
cp $(JARFILE) $(JAVA_HOME)/lib/ext
|
||||
$(MAKE) -f Makefile.build install
|
||||
|
||||
gen_const:
|
||||
cd .. && python const_generator.py java
|
||||
cd .. && python const_generator.py java
|
||||
|
||||
clean:
|
||||
rm unicorn/*.class
|
||||
rm samples/*.class
|
||||
rm *.so
|
||||
rm *.dylib
|
||||
rm *.dll
|
||||
rm -f unicorn/*.class
|
||||
rm -f samples/*.class
|
||||
rm -f *.so
|
||||
rm -f *.dylib
|
||||
rm -f *.dll
|
||||
|
|
78
bindings/java/Makefile.build
Normal file
78
bindings/java/Makefile.build
Normal file
|
@ -0,0 +1,78 @@
|
|||
|
||||
.PHONY: gen_const clean
|
||||
|
||||
JAVA_HOME := $(shell jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')
|
||||
|
||||
JAVA_INC := $(shell realpath $(JAVA_HOME)/../include)
|
||||
|
||||
JAVA_PLATFORM_INC := $(shell dirname `find $(JAVA_INC) -name jni_md.h`)
|
||||
|
||||
UNICORN_INC=../../include
|
||||
|
||||
SAMPLES := $(shell ls samples/*.java)
|
||||
SRC := $(shell ls unicorn/*.java)
|
||||
|
||||
OS := $(shell uname)
|
||||
ifeq ($(OS),Darwin)
|
||||
LIB_EXT=.dylib
|
||||
endif
|
||||
ifeq ($(OS),Linux)
|
||||
LIB_EXT=.so
|
||||
else
|
||||
LIB_EXT=.dll
|
||||
endif
|
||||
|
||||
CC=gcc
|
||||
CFLAGS=-fPIC
|
||||
LDFLAGS=-shared -fPIC
|
||||
LIBS=-lunicorn
|
||||
LIBDIR=-L../../
|
||||
INCS=-I$(JAVA_INC) -I$(JAVA_PLATFORM_INC) -I$(UNICORN_INC)
|
||||
|
||||
JC=javac
|
||||
CLASSPATH=./
|
||||
|
||||
.SUFFIXES: .java .class
|
||||
|
||||
%.class: %.java
|
||||
$(JC) $(JFLAGS) $<
|
||||
|
||||
OBJS=unicorn_Unicorn.o
|
||||
|
||||
JARFILE=unicorn.jar
|
||||
|
||||
all: lib jar samples
|
||||
|
||||
%.o: %.c
|
||||
$(CC) -c $(CFLAGS) $(INCS) $< -o $@
|
||||
|
||||
unicorn_Unicorn.h: unicorn/Unicorn.java
|
||||
javah unicorn.Unicorn
|
||||
|
||||
unicorn_Unicorn.o: unicorn_Unicorn.c unicorn_Unicorn.h
|
||||
$(CC) -c $(CFLAGS) $(INCS) $< -o $@
|
||||
|
||||
libunicorn_java$(LIB_EXT): unicorn_Unicorn.o
|
||||
|
||||
lib: libunicorn_java$(LIB_EXT) unicorn_Unicorn.h
|
||||
$(CC) -o $< $(LDFLAGS) $(OBJS) $(LIBDIR) $(LIBS)
|
||||
|
||||
samples: $(SAMPLES:.java=.class)
|
||||
jarfiles: $(SRC:.java=.class)
|
||||
|
||||
jar: jarfiles
|
||||
jar cf $(JARFILE) unicorn/*.class
|
||||
|
||||
install: lib jar
|
||||
cp libunicorn_java$(LIB_EXT) $(JAVA_HOME)/lib/ext
|
||||
cp $(JARFILE) $(JAVA_HOME)/lib/ext
|
||||
|
||||
gen_const:
|
||||
cd .. && python const_generator.py java
|
||||
|
||||
clean:
|
||||
rm unicorn/*.class
|
||||
rm samples/*.class
|
||||
rm *.so
|
||||
rm *.dylib
|
||||
rm *.dll
|
Loading…
Reference in a new issue