1#/bin/bash 2 3set -e 4 5collect_bin() 6{ 7 cp $BUILD_DIR/librkcrypto.so $TARGET_LIB_DIR 8 cp $BUILD_DIR/librkcrypto.a $TARGET_LIB_DIR 9 cp $BUILD_DIR/test/librkcrypto_test $TARGET_BIN_DIR 10 echo "copy target files to $TARGET_LIB_DIR success" 11 12 # export head files 13 cp $SCRIPT_DIR/include/rkcrypto_otp_key.h $TARGET_INCLUDE_DIR 14 cp $SCRIPT_DIR/include/rkcrypto_common.h $TARGET_INCLUDE_DIR 15 cp $SCRIPT_DIR/include/rkcrypto_core.h $TARGET_INCLUDE_DIR 16 cp $SCRIPT_DIR/include/rkcrypto_mem.h $TARGET_INCLUDE_DIR 17 echo "copy head files to $TARGET_INCLUDE_DIR success" 18} 19 20build() 21{ 22 echo "build $ARM_BIT libraries and binaries" 23 TARGET_LIB_DIR=$SCRIPT_DIR/out/target/lib/$ARM_BIT/ 24 TARGET_BIN_DIR=$SCRIPT_DIR/out/target/bin/$ARM_BIT/ 25 TARGET_INCLUDE_DIR=$SCRIPT_DIR/out/target/include/ 26 BUILD_DIR=$SCRIPT_DIR/out/build/$ARM_BIT/ 27 mkdir -p $TARGET_LIB_DIR 28 mkdir -p $TARGET_BIN_DIR 29 mkdir -p $TARGET_INCLUDE_DIR 30 mkdir -p $BUILD_DIR 31 cd $BUILD_DIR 32 cmake $SCRIPT_DIR $DBUILD 33 make -j12 34} 35 36BUILD_PARA="$1" 37SCRIPT_DIR=$(pwd) 38 39TOOLCHAIN_PREBUILTS=$SCRIPT_DIR/../../../prebuilts 40TOOLCHAIN_PATH_ARM32=gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin 41TOOLCHAIN_PATH_AARCH64=gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin 42CROSS_COMPILE32=$TOOLCHAIN_PREBUILTS/$TOOLCHAIN_PATH_ARM32/arm-none-linux-gnueabihf-gcc 43CROSS_COMPILE64=$TOOLCHAIN_PREBUILTS/$TOOLCHAIN_PATH_AARCH64/aarch64-none-linux-gnu-gcc 44CROSS_COMPILE32_GXX=$TOOLCHAIN_PREBUILTS/$TOOLCHAIN_PATH_ARM32/arm-none-linux-gnueabihf-g++ 45CROSS_COMPILE64_GXX=$TOOLCHAIN_PREBUILTS/$TOOLCHAIN_PATH_AARCH64/aarch64-none-linux-gnu-g++ 46 47if [ $# -eq 0 ]; then 48 # build both 32-bit and 64-bit 49 DBUILD="-DCMAKE_C_COMPILER=$CROSS_COMPILE32 \ 50 -DCMAKE_CXX_COMPILER=$CROSS_COMPILE32_GXX" 51 ARM_BIT="arm" 52 build 53 collect_bin 54 55 DBUILD="-DCMAKE_C_COMPILER=$CROSS_COMPILE64 \ 56 -DCMAKE_CXX_COMPILER=$CROSS_COMPILE64_GXX" 57 ARM_BIT="arm64" 58 build 59 collect_bin 60else 61 if [ $BUILD_PARA == "32" ]; then 62 DBUILD="-DCMAKE_C_COMPILER=$CROSS_COMPILE32 \ 63 -DCMAKE_CXX_COMPILER=$CROSS_COMPILE32_GXX" 64 ARM_BIT="arm" 65 else 66 DBUILD="-DCMAKE_C_COMPILER=$CROSS_COMPILE64 \ 67 -DCMAKE_CXX_COMPILER=$CROSS_COMPILE64_GXX" 68 ARM_BIT="arm64" 69 fi 70 71 build 72 collect_bin 73fi 74