OSDN Git Service

Implemented improved method for detecting identical files.
[slunkcrypt/SlunkCrypt.git] / mk-release.sh
1 #!/bin/bash
2 set -e
3 cd -- "$(dirname -- "${BASH_SOURCE[0]}")"
4
5 readonly USE_STATIC=1
6 readonly USE_STRIP=1
7 readonly USE_MTUNE=corei7
8
9 ARGUMENTS="$@"
10 if [[ -z "${ARGUMENTS}" ]]; then
11   ARGUMENTS="32 64"
12 fi
13
14 PLATFORM="$(uname -s)"
15 unset SUFFIX
16 if [[ "${PLATFORM}" == MINGW* || "${PLATFORM}" == CYGWIN* ]]; then
17   SUFFIX=".exe"
18 fi
19
20 MAKE=make
21 if [[ "${PLATFORM}" == *BSD || "${PLATFORM}" == DragonFly || "${PLATFORM}" == SunOS ]]; then
22   MAKE=g${MAKE}
23 fi
24
25 function mk_slunk() {
26   printf "\033[1;36m\n[ Build ${2} ]\033[0m\n\n"
27   ${MAKE} -B CPU=${1} MARCH=${3} MTUNE=${USE_MTUNE} STATIC=${USE_STATIC} STRIP=${USE_STRIP}
28   cp -f "frontend/bin/slunkcrypt${SUFFIX}" "out/slunkcrypt-${2}${SUFFIX}"
29 }
30
31 mkdir -p "out"
32 rm -f "out/slunkcrypt-*"
33 ${MAKE} clean
34
35 for cpu in ${ARGUMENTS}; do
36   case "${cpu}" in
37     32)
38       mk_slunk "${cpu}" x86 pentium2
39       ;;
40     64)
41       mk_slunk "${cpu}" x64 x86-64
42       ;;
43     *)
44       printf "Skipping unknown argument: \"${cpu}\"\n"
45       ;;
46   esac
47 done
48
49 printf "\033[1;32m\nBuild completed successfully.\033[0m\n\n"