From 22062e05f79cd3087cc9a101db6615d2d38d317a Mon Sep 17 00:00:00 2001 From: Oliver Pinter Date: Thu, 16 Jan 2014 09:31:13 +0100 Subject: [PATCH] build: update compile.sh to support bsd systems build: switch from hardcoded gcc to default c compiler On FreeBSD /usr used by base system, use PREFIX=/usr/local instead. On BSD systems gnu "make" has the name "gmake". modified: Makefile modified: compile.sh Signed-off-by: Oliver Pinter --- Makefile | 2 +- compile.sh | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index d7b541c0..58d161db 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ include config.mk -CC = $(CROSS)gcc +CC ?= $(CROSS)cc AR ?= $(CROSS)ar RANLIB ?= $(CROSS)ranlib STRIP ?= $(CROSS)strip diff --git a/compile.sh b/compile.sh index 2845017a..268094ec 100755 --- a/compile.sh +++ b/compile.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash # Capstone Disassembler Engine # By Nguyen Anh Quynh , 2013> @@ -6,12 +6,16 @@ # Note: to cross-compile "nix32" on Linux, package gcc-multilib is required. function build { - CROSS= make clean + if [ ${MAKE}x = x ]; then + MAKE=make + fi + + CROSS= ${MAKE} clean if [ ${CC}x != x ]; then - make CC=$CC + ${MAKE} CC=$CC else - make + ${MAKE} fi } @@ -19,10 +23,12 @@ case "$1" in "" ) build;; "default" ) build;; "nix32" ) CFLAGS=-m32 LDFLAGS=-m32 build;; + "bsd") MAKE=gmake PREFIX=/usr/local build;; "clang" ) CC=clang build;; "cross-win32" ) CROSS=i686-w64-mingw32- build;; "cross-win64" ) CROSS=x86_64-w64-mingw32- build;; "cygwin-mingw32" ) CROSS=i686-pc-mingw32- build;; "cygwin-mingw64" ) CROSS=x86_64-w64-mingw32- build;; - * ) echo "Usage: compile.sh [nix32|clang|cross-win32|cross-win64|cygwin-mingw32|cygwin-mingw64]"; exit 1;; + "gcc") CC=gcc build;; + * ) echo "Usage: compile.sh [nix32|bsd|clang|cross-win32|cross-win64|cygwin-mingw32|cygwin-mingw64|gcc]"; exit 1;; esac