OSDN Git Service

Bump release year.
[mhash384/mhash384.git] / Makefile
index 8c10541..7662f6d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -26,23 +26,25 @@ ifeq ($(OS),Windows_NT)
   BINEXT := .exe
   DLLEXT := .dll
   PYDEXT := .pyd
-  DLLOPT :=
+  DLLOPT := -shared
 else
   OSTYPE := linux
   JNIDIR := linux
-  BINEXT :=
+  BINEXT := .run
   DLLEXT := .so
   PYDEXT := .so
-  DLLOPT += -fPIC
+  DLLOPT := -fPIC -shared
 endif
 
 ROOT_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
+WORK_DIR := /tmp/$(shell head /dev/urandom | tr -dc A-Za-z0-9 | head -c 12)
 ISO_DATE := $(shell date "+%Y-%m-%d")
+
 CM_FLAGS := -I$(ROOT_DIR)/include
 RL_FLAGS := -DNDEBUG -O3 -march=$(CPU_TYPE)
 DB_FLAGS := -g
 EX_FLAGS := -static
-SO_FLAGS := -shared $(DLLOPT) -static-libgcc -static-libstdc++
+SO_FLAGS := $(DLLOPT) -static-libgcc -static-libstdc++
 PD_FLAGS := --from markdown --to html5 --toc -N --standalone
 
 
@@ -79,7 +81,7 @@ else
 endif
 
 CLI_BIN := $(ROOT_DIR)bin/mhash_384.$(ARCH)$(BINEXT)
-CLI_DBG := $(BIN).dbg
+CLI_DBG := $(ROOT_DIR)bin/mhash_384_g.$(ARCH)$(BINEXT)
 CLI_OUT := $(ROOT_DIR)out/mhash_384.$(ISO_DATE).bin-$(OSTYPE)-$(ARCH).tar.gz
 
 JNI_SRC := $(wildcard $(ROOT_DIR)bindings/Java/native/src/*.cpp)
@@ -125,19 +127,22 @@ all: $(TARGETS)
 # -----------------------------------------------
 
 $(CLI_OUT): $(CLI_BIN) $(CLI_DBG) $(DOC) $(TXT)
-       mkdir -p $(dir $@)
-       rm -fv $@
-       tar -czf $@ -C $(dir $(DOC)) $(notdir $(DOC)) -C $(dir $(TXT)) $(notdir $(TXT)) -C $(dir $(CLI_BIN)) $(notdir $(CLI_BIN))
+       mkdir -p $(dir $@) $(WORK_DIR)
+       rm -fv $@ $(WORK_DIR)/*
+       cp $(DOC) $(TXT) $(CLI_BIN) $(WORK_DIR)
+       pushd $(WORK_DIR) && tar -czf $@ *
 
 $(JNI_OUT): $(JNI_BIN) $(JNI_JAR) $(JNI_GUI) $(DOC) $(TXT)
-       mkdir -p $(dir $@)
-       rm -fv $@
-       tar -czf $@ -C $(dir $(DOC)) $(notdir $(DOC)) -C $(dir $(TXT)) $(notdir $(TXT)) -C $(dir $(JNI_BIN)) $(notdir $(JNI_BIN)) -C $(dir $(JNI_JAR)) $(notdir $(JNI_JAR)) -C $(dir $(JNI_GUI)) $(notdir $(JNI_GUI))
+       mkdir -p $(dir $@) $(WORK_DIR)
+       rm -fv $@ $(WORK_DIR)/*
+       cp $(DOC) $(TXT) $(JNI_BIN) $(JNI_JAR) $(JNI_GUI) $(WORK_DIR)
+       pushd $(WORK_DIR) && tar -czf $@ *
 
 $(PYC_OUT): $(PYC_BIN) $(PYC_LIB) $(PYC_PTH) $(PYC_GUI) $(DOC) $(TXT)
-       mkdir -p $(dir $@)
-       rm -fv $@
-       tar -czf $@ -C $(dir $(DOC)) $(notdir $(DOC)) -C $(dir $(TXT)) $(notdir $(TXT)) -C $(dir $(PYC_BIN)) $(notdir $(PYC_BIN)) -C $(dir $(PYC_LIB)) $(notdir $(PYC_LIB)) -C $(dir $(PYC_PTH)) $(notdir $(PYC_PTH)) -C $(dir $(PYC_GUI)) $(notdir $(PYC_GUI))
+       mkdir -p $(dir $@) $(WORK_DIR)
+       rm -fv $@ $(WORK_DIR)/*
+       cp $(DOC) $(TXT) $(PYC_BIN) $(PYC_LIB) $(PYC_PTH) $(PYC_GUI) $(WORK_DIR)
+       pushd $(WORK_DIR) && tar -czf $@ *
 
 # -----------------------------------------------
 # COMPILE