linux - 如何在 Makefile 中捕获退出 (ctrl+c) 信号?

标签 linux makefile build signals gnu-make

我正在尝试捕获退出 (ctrl+c) 信号以执行一些清理事件。

在 shell 脚本中,我按照下面的函数来捕获,

#To trap ctrl-c signals
trap ctrl_c INT

#To trap exit signals
trap on_exit EXIT

function ctrl_c() {
    echo "exited by user"
    exit
}

function on_exit() {
    echo "exited by user"
    exit
}

如何在 Makefile 中实现相同的功能?

最佳答案

可以显式调用 bash 解释器并在那里定义陷阱:

test.out:
    bash -c "trap 'rm test.tmp' EXIT; \
             echo x>test.tmp; \
             cp test.tmp test.out"

关于linux - 如何在 Makefile 中捕获退出 (ctrl+c) 信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56610536/

相关文章:

linux - 区分目录名或目录路径

python os.system 阻止向后命令

android - 如何从我的 Android 库构建目标中排除 jar 文件

c# - 如何针对不同的构建配置使用项目中的不同文件 - Visual Studio C# .net

java - Eclipse 找不到 JDK

Linux 脚本不起作用

c++ - C++ 实现代码中的字符串不应出现在输出二进制文件中。怎么修

c - Makefile 未链接到一个子目录中的头文件之一

c++ - make 文件中的 ".target-name"目标会始终运行吗?

linux - 我们如何确定 ffmpeg 所需的依赖项