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