github.com/mcuadros/enry@v1.7.3/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