github.com/dennwc/enry@v1.6.4-0.20180424151738-42391b8e105b/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 -o $(JARS_DIR) \ 22 -mode StandaloneJar \ 23 -runtime JNA; 24 25 $(RESOURCES_DIR): os-shared-lib 26 cp -R $(RESOURCES_SRC) $(RESOURCES_DIR) 27 28 $(JNAERATOR_JAR): $(RESOURCES_DIR) 29 mkdir $(JNAERATOR_DIR) && \ 30 wget $(JNAERATOR_JAR_URL) -O $(JNAERATOR_JAR) 31 32 os-shared-lib: 33 @os_name="$(shell uname -s)" && \ 34 if [ "$$os_name" == "Linux" ]; then \ 35 $(MAKE) linux-shared; \ 36 elif [ "$$os_name" == "Darwin" ]; then \ 37 $(MAKE) darwin-shared; \ 38 else \ 39 echo "Unsupported operating system, can't build shared library"; \ 40 exit 1; \ 41 fi; 42 43 linux-shared: 44 cd .. && \ 45 $(MAKE) linux-shared 46 47 darwin-shared: 48 cd .. && \ 49 $(MAKE) darwin-shared 50 51 test: 52 ./sbt clean test 53 54 package: 55 ./sbt clean assembly 56 57 clean: 58 rm -rf $(JAR) 59 rm -rf $(RESOURCES_DIR) 60