gitlab.com/thomasboni/go-enry/v2@v2.8.3-0.20220418031202-30b0d7a3de98/java/Makefile (about) 1 JNAERATOR_VERSION=ac73c9e 2 JARS_DIR=./lib 3 JAR=$(JARS_DIR)/enry.jar 4 JNAERATOR_DIR=./.jnaerator 5 JNAERATOR_JAR=$(JNAERATOR_DIR)/jnaerator.jar 6 JNAERATOR_JAR_URL="https://jitpack.io/com/github/nativelibs4java/JNAerator/jnaerator/$(JNAERATOR_VERSION)/jnaerator-$(JNAERATOR_VERSION)-shaded.jar" 7 RESOURCES_SRC=../.shared 8 RESOURCES_DIR=./shared 9 HEADER_FILE=$(RESOURCES_DIR)/libenry.h 10 11 SHELL := /bin/bash 12 13 all: $(JAR) 14 15 $(JAR): $(RESOURCES_DIR) $(JNAERATOR_JAR) 16 mkdir -p lib && \ 17 java -jar $(JNAERATOR_JAR) \ 18 -package tech.sourced.enry.nativelib \ 19 -library enry \ 20 $(HEADER_FILE) \ 21 -I/usr/lib/gcc/x86_64-linux-gnu/4.8/include \ 22 -D__GNUC__=4 \ 23 -o $(JARS_DIR) \ 24 -mode StandaloneJar \ 25 -runtime JNA; 26 27 $(RESOURCES_DIR): os-shared-lib 28 cp -R $(RESOURCES_SRC) $(RESOURCES_DIR) 29 30 $(JNAERATOR_JAR): $(RESOURCES_DIR) 31 mkdir -p $(JNAERATOR_DIR) && \ 32 wget $(JNAERATOR_JAR_URL) -O $(JNAERATOR_JAR) 33 34 os-shared-lib: 35 @os_name="$(shell uname -s)" && \ 36 if [ "$$os_name" == "Linux" ]; then \ 37 $(MAKE) linux-shared; \ 38 elif [ "$$os_name" == "Darwin" ]; then \ 39 $(MAKE) darwin-shared; \ 40 else \ 41 echo "Unsupported operating system, can't build shared library"; \ 42 exit 1; \ 43 fi; 44 45 linux-shared: 46 cd .. && \ 47 $(MAKE) linux-shared 48 49 darwin-shared: 50 cd .. && \ 51 $(MAKE) darwin-shared 52 53 test: 54 ./sbt clean test 55 56 package: 57 ./sbt clean assembly 58 59 clean: 60 rm -rf $(JAR) 61 rm -rf $(RESOURCES_DIR) 62 rm -rf $(JNAERATOR_JAR) 63 64 .PHONY: test package clean linux-shared darwin-shared os-shared-lib