mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
49 lines
1.2 KiB
Makefile
49 lines
1.2 KiB
Makefile
MODULE_NAME=bn254
|
|
JAVA_NAME=BN254
|
|
IF_NAME=$(MODULE_NAME)_if
|
|
WRAP_CXX=$(IF_NAME)_wrap.cxx
|
|
include ../common.mk
|
|
LDFLAGS=-lgmp -lgmpxx
|
|
ifeq ($(UNAME_S),Darwin)
|
|
JAVA_HOME=$(shell /usr/libexec/java_home)
|
|
JAVA_INC=$(addprefix -I$(JAVA_HOME)/include,/ /darwin)
|
|
LIB_SUF=dylib
|
|
else
|
|
JAVA_HOME=$(realpath $(dir $(realpath $(shell which javac)))..)
|
|
JAVA_INC=-I$(JAVA_HOME)/include
|
|
LIB_SUF=so
|
|
CFLAGS+=-z noexecstack
|
|
LIB+=-lrt
|
|
endif
|
|
CFLAGS+= -shared -fPIC $(JAVA_INC)
|
|
|
|
PACKAGE_NAME=mcl.$(MODULE_NAME)
|
|
PACKAGE_DIR=$(subst .,/,$(PACKAGE_NAME))
|
|
|
|
TARGET=../bin/lib$(IF_NAME)_wrap.$(LIB_SUF)
|
|
JAVA_EXE=cd ../bin && LD_LIBRARY_PATH=./:$(LD_LIBRARY_PATH) java -classpath ../java
|
|
all: $(TARGET)
|
|
|
|
$(IF_NAME)_wrap.cxx: $(IF_NAME).i $(IF_NAME).hpp
|
|
$(MKDIR) $(PACKAGE_DIR)
|
|
swig -java -package $(PACKAGE_NAME) -outdir $(PACKAGE_DIR) -c++ -Wall $<
|
|
|
|
$(TARGET): $(IF_NAME)_wrap.cxx
|
|
$(MKDIR) ../bin
|
|
$(PRE)$(CXX) $? -o $@ $(CFLAGS) $(LDFLAGS) -I../include ../src/zm2.cpp ../src/zm.cpp -I../../xbyak
|
|
|
|
%.class: %.java
|
|
javac $<
|
|
|
|
$(JAVA_NAME)Test.class: $(JAVA_NAME)Test.java $(TARGET)
|
|
|
|
jar:
|
|
jar cvf $(MODULE_NAME).jar mcl
|
|
|
|
test: $(JAVA_NAME)Test.class $(TARGET)
|
|
$(JAVA_EXE) $(JAVA_NAME)Test
|
|
|
|
clean:
|
|
rm -rf *.class $(TARGET) $(PACKAGE_DIR)/*.class $(IF_NAME)_wrap.cxx
|
|
|