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