mirror of
https://github.com/ralsina/tartrazine.git
synced 2025-06-27 14:47:50 -03:00
Squashed 'go-enry/' content from commit 7e3a9a7
git-subtree-dir: go-enry
git-subtree-split: 7e3a9a7241
This commit is contained in:
64
java/Makefile
Normal file
64
java/Makefile
Normal file
@ -0,0 +1,64 @@
|
||||
JNAERATOR_VERSION=ac73c9e
|
||||
JARS_DIR=./lib
|
||||
JAR=$(JARS_DIR)/enry.jar
|
||||
JNAERATOR_DIR=./.jnaerator
|
||||
JNAERATOR_JAR=$(JNAERATOR_DIR)/jnaerator.jar
|
||||
JNAERATOR_JAR_URL="https://jitpack.io/com/github/nativelibs4java/JNAerator/jnaerator/$(JNAERATOR_VERSION)/jnaerator-$(JNAERATOR_VERSION)-shaded.jar"
|
||||
RESOURCES_SRC=../.shared
|
||||
RESOURCES_DIR=./shared
|
||||
HEADER_FILE=$(RESOURCES_DIR)/libenry.h
|
||||
|
||||
SHELL := /bin/bash
|
||||
|
||||
all: $(JAR)
|
||||
|
||||
$(JAR): $(RESOURCES_DIR) $(JNAERATOR_JAR)
|
||||
mkdir -p lib && \
|
||||
java -jar $(JNAERATOR_JAR) \
|
||||
-package tech.sourced.enry.nativelib \
|
||||
-library enry \
|
||||
$(HEADER_FILE) \
|
||||
-I/usr/lib/gcc/x86_64-linux-gnu/4.8/include \
|
||||
-D__GNUC__=4 \
|
||||
-o $(JARS_DIR) \
|
||||
-mode StandaloneJar \
|
||||
-runtime JNA;
|
||||
|
||||
$(RESOURCES_DIR): os-shared-lib
|
||||
cp -R $(RESOURCES_SRC) $(RESOURCES_DIR)
|
||||
|
||||
$(JNAERATOR_JAR): $(RESOURCES_DIR)
|
||||
mkdir -p $(JNAERATOR_DIR) && \
|
||||
wget $(JNAERATOR_JAR_URL) -O $(JNAERATOR_JAR)
|
||||
|
||||
os-shared-lib:
|
||||
@os_name="$(shell uname -s)" && \
|
||||
if [ "$$os_name" == "Linux" ]; then \
|
||||
$(MAKE) linux-shared; \
|
||||
elif [ "$$os_name" == "Darwin" ]; then \
|
||||
$(MAKE) darwin-shared; \
|
||||
else \
|
||||
echo "Unsupported operating system, can't build shared library"; \
|
||||
exit 1; \
|
||||
fi;
|
||||
|
||||
linux-shared:
|
||||
cd .. && \
|
||||
$(MAKE) linux-shared
|
||||
|
||||
darwin-shared:
|
||||
cd .. && \
|
||||
$(MAKE) darwin-shared
|
||||
|
||||
test:
|
||||
./sbt clean test
|
||||
|
||||
package:
|
||||
./sbt clean assembly
|
||||
|
||||
clean:
|
||||
rm -rf $(JAR)
|
||||
rm -rf $(RESOURCES_DIR)
|
||||
rm -rf $(JNAERATOR_JAR)
|
||||
|
||||
.PHONY: test package clean linux-shared darwin-shared os-shared-lib
|
Reference in New Issue
Block a user