OSDN Git Service

Fixed compilation on FreeBSD (TrueOS) as well as OpenBSD and OpenSolaris (OpenIndiana).
[mhash384/mhash384.git] / Makefile
index 5d7f058..75cfaa8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,12 +5,17 @@
 DEBUG ?= 0
 
 # -----------------------------------------------
+# TOOLS
+# -----------------------------------------------
+
+TAR ?= tar
+
+# -----------------------------------------------
 # SYSTEM DETECTION
 # -----------------------------------------------
 
 ISODATE := $(shell date +%Y-%m-%d)
-OS_TYPE := $(shell uname -s | tr '[:upper:]' '[:lower:]')
-OS_ARCH := $(shell uname -m | tr '[:upper:]' '[:lower:]')
+OS_TYPE := $(shell $(CXX) -dumpmachine)
 
 # -----------------------------------------------
 # DIRECTORIES
@@ -32,14 +37,14 @@ else
   APPNAME = mhash384g
 endif
 
-ifeq ($(words $(filter mingw% cygwin%,$(OS_TYPE))),0)
+ifeq ($(words $(filter %mingw32 %windows-gnu %cygwin %cygnus,$(OS_TYPE))),0)
   SUFFIX = run
 else
   SUFFIX = exe
 endif
 
 EXEFILE = $(APPNAME).$(SUFFIX)
-TARFILE = $(OUTDIR)/$(APPNAME).$(ISODATE).$(firstword $(subst _, ,$(OS_TYPE)))-$(OS_ARCH).tgz
+TARFILE = $(OUTDIR)/$(APPNAME).$(ISODATE).$(OS_TYPE).tgz
 
 # -----------------------------------------------
 # MAKE RULES
@@ -52,10 +57,10 @@ all: $(TARFILE)
 clean: $(CLEANUP)
 
 $(TARFILE): $(SUBDIRS)
-       @printf "\033[1;36m===[Make package]===\033[0m\n" $@
+       @printf "\033[1;36m===[Make package]===\033[0m\n"
        @mkdir -p $(dir $@)
        rm -f $@
-       tar -czvf $@ COPYING.txt -C $(BINDIR) $(EXEFILE) BUILD_TAG.txt
+       $(TAR) -czvf $@ COPYING.txt -C $(BINDIR) $(EXEFILE) BUILD_TAG.txt
        @printf "\033[1;32mCompleted.\033[0m\n"
 
 $(SUBDIRS):