You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

68 lines
1.6 KiB

#!/bin/bash
# 设置项目根目录
PROJECT_ROOT=$(pwd)
# 设置构建目录
BUILD_DIR="$PROJECT_ROOT/build"
# 设置生成的可执行文件路径和目标软链接路径
EXECUTABLE_PATH="$BUILD_DIR/App/console_pytorch/ISG_console_pytorch"
TARGET_LINK="/usr/myapp/ISG"
# 动态判断是否需要 sudo
if [ "$EUID" -ne 0 ]; then
SUDO="sudo"
else
SUDO=""
fi
# 检查构建目录是否存在
check_build_dir() {
if [ ! -d "$BUILD_DIR" ]; then
echo "构建目录不存在,请先运行完整构建流程。"
exit 1
fi
}
# 执行 Make 构建
run_make() {
echo "开始增量编译项目..."
cd "$BUILD_DIR" || { echo "无法进入构建目录"; exit 1; }
make -j$(nproc) || { echo "构建失败"; exit 1; }
echo "构建完成!"
}
# 创建软链接
create_symlink() {
if [ -L "$TARGET_LINK" ]; then
echo "目标软链接已存在,正在删除: $TARGET_LINK"
$SUDO rm -f "$TARGET_LINK" || { echo "无法删除现有软链接"; exit 1; }
elif [ -e "$TARGET_LINK" ]; then
echo "目标路径已存在且不是软链接: $TARGET_LINK"
exit 1
fi
echo "正在创建软链接..."
$SUDO ln -s "$EXECUTABLE_PATH" "$TARGET_LINK" || { echo "创建软链接失败"; exit 1; }
echo "软链接已成功创建: $TARGET_LINK -> $EXECUTABLE_PATH"
}
# 主流程
main() {
echo "开始增量构建流程..."
# 1. 检查构建目录是否存在
check_build_dir
# 2. 执行增量编译
run_make
# 3. 创建软链接
create_symlink
echo "所有步骤完成!"
}
# 执行主流程
main