1 # -----------------------------------------------
3 # -----------------------------------------------
7 # -----------------------------------------------
9 # -----------------------------------------------
11 ISODATE := $(shell date +%Y-%m-%d)
12 OS_ARCH := $(shell $(CXX) -v 2>&1 | grep -Po 'Target:\s*\K\w+')
13 OS_TYPE := $(shell uname -s | tr '[:upper:]' '[:lower:]')
15 # -----------------------------------------------
17 # -----------------------------------------------
19 SUBDIRS = libmhash384 frontend
20 CLEANUP = $(addsuffix .cleanup,$(SUBDIRS))
22 # -----------------------------------------------
24 # -----------------------------------------------
35 ifeq ($(words $(filter mingw% cygwin%,$(OS_TYPE))),0)
41 EXEFILE = $(APPNAME).$(SUFFIX)
42 TARFILE = $(OUTDIR)/$(APPNAME).$(ISODATE).$(firstword $(subst _, ,$(OS_TYPE)))-$(OS_ARCH).tgz
44 # -----------------------------------------------
46 # -----------------------------------------------
48 .PHONY: all clean $(SUBDIRS) $(CLEANUP)
54 $(TARFILE): $(SUBDIRS)
55 @printf "\033[1;36m===[Make package]===\033[0m\n" $@
58 tar -czvf $@ COPYING.txt -C $(BINDIR) $(EXEFILE) BUILD_TAG.txt
59 @printf "\033[1;32mCompleted.\033[0m\n"
62 @printf "\033[1;36m===[Make %s]===\033[0m\n" $@
64 @printf "\033[1;32mCompleted.\033[0m\n"
67 @printf "\033[1;31m===[Clean %s]===\033[0m\n" $(basename $@)
68 $(MAKE) -B -C $(basename $@) clean
69 @printf "\033[1;32mExtinguished.\033[0m\n"