1*9a0e4156SSadaf Ebrahimi#!/bin/sh 2*9a0e4156SSadaf Ebrahimi 3*9a0e4156SSadaf Ebrahimi# Capstone disassembler engine (www.capstone-engine.org) 4*9a0e4156SSadaf Ebrahimi# Build Capstone libs for specified architecture, or all if none is specified (libcapstone.so & libcapstone.a) on *nix with CMake & make 5*9a0e4156SSadaf Ebrahimi# By Nguyen Anh Quynh, Jorn Vernee, 2019 6*9a0e4156SSadaf Ebrahimi 7*9a0e4156SSadaf EbrahimiFLAGS="-DCMAKE_BUILD_TYPE=Release" 8*9a0e4156SSadaf Ebrahimi# Uncomment below line to compile in Diet mode 9*9a0e4156SSadaf Ebrahimi# FLAGS+=" -DCAPSTONE_BUILD_DIET=ON" 10*9a0e4156SSadaf Ebrahimi 11*9a0e4156SSadaf Ebrahimicase $1 in 12*9a0e4156SSadaf Ebrahimi ARM) 13*9a0e4156SSadaf Ebrahimi ARCH=ARM 14*9a0e4156SSadaf Ebrahimi ;; 15*9a0e4156SSadaf Ebrahimi ARM64) 16*9a0e4156SSadaf Ebrahimi ARCH=ARM64 17*9a0e4156SSadaf Ebrahimi ;; 18*9a0e4156SSadaf Ebrahimi M68K) 19*9a0e4156SSadaf Ebrahimi ARCH=M68K 20*9a0e4156SSadaf Ebrahimi ;; 21*9a0e4156SSadaf Ebrahimi MIPS) 22*9a0e4156SSadaf Ebrahimi ARCH=MIPS 23*9a0e4156SSadaf Ebrahimi ;; 24*9a0e4156SSadaf Ebrahimi PowerPC) 25*9a0e4156SSadaf Ebrahimi ARCH=PPC 26*9a0e4156SSadaf Ebrahimi ;; 27*9a0e4156SSadaf Ebrahimi Sparc) 28*9a0e4156SSadaf Ebrahimi ARCH=SPARC 29*9a0e4156SSadaf Ebrahimi ;; 30*9a0e4156SSadaf Ebrahimi SystemZ) 31*9a0e4156SSadaf Ebrahimi ARCH=SYSZ 32*9a0e4156SSadaf Ebrahimi ;; 33*9a0e4156SSadaf Ebrahimi XCore) 34*9a0e4156SSadaf Ebrahimi ARCH=XCORE 35*9a0e4156SSadaf Ebrahimi ;; 36*9a0e4156SSadaf Ebrahimi x86) 37*9a0e4156SSadaf Ebrahimi ARCH=X86 38*9a0e4156SSadaf Ebrahimi ;; 39*9a0e4156SSadaf Ebrahimi TMS320C64x) 40*9a0e4156SSadaf Ebrahimi ARCH=TMS320C64X 41*9a0e4156SSadaf Ebrahimi ;; 42*9a0e4156SSadaf Ebrahimi M680x) 43*9a0e4156SSadaf Ebrahimi ARCH=M680X 44*9a0e4156SSadaf Ebrahimi ;; 45*9a0e4156SSadaf Ebrahimi EVM) 46*9a0e4156SSadaf Ebrahimi ARCH=EVM 47*9a0e4156SSadaf Ebrahimi ;; 48*9a0e4156SSadaf Ebrahimi MOS65XX) 49*9a0e4156SSadaf Ebrahimi ARCH=MOS65XX 50*9a0e4156SSadaf Ebrahimi ;; 51*9a0e4156SSadaf Ebrahimi *) 52*9a0e4156SSadaf Ebrahimi ;; 53*9a0e4156SSadaf Ebrahimiesac 54*9a0e4156SSadaf Ebrahimi 55*9a0e4156SSadaf Ebrahimiif [ "x${ARCH}" = "x" ]; then 56*9a0e4156SSadaf Ebrahimi FLAGS+=" -DCAPSTONE_ARCHITECTURE_DEFAULT=ON" 57*9a0e4156SSadaf Ebrahimielse 58*9a0e4156SSadaf Ebrahimi FLAGS+=" -DCAPSTONE_ARCHITECTURE_DEFAULT=OFF -DCAPSTONE_${ARCH}_SUPPORT=ON" 59*9a0e4156SSadaf Ebrahimifi 60*9a0e4156SSadaf Ebrahimi 61*9a0e4156SSadaf Ebrahimicmake $FLAGS .. 62*9a0e4156SSadaf Ebrahimi 63*9a0e4156SSadaf Ebrahimimake -j8 64