如何捕获错误标志并继续makefile

时间:2017-06-02 21:02:46

标签: makefile compiler-errors out-of-memory

例如,在编译过程中会产生错误L6220E(因为我使用的是ARM编译器,这个错误标志意味着内部闪存)。我想做的是即使产生错误也继续编译。有什么办法可以捕获错误标志并运行其他命令吗?像,

normal_target:
             gcc -o main main.c    (this will generate error)

ifeq($(error),L6220E):
             gcc -o .....

有没有办法这样做?

1 个答案:

答案 0 :(得分:2)

您可以使用-为任何命令添加前缀,以指示make此命令可以失败:

normal_target:
         -gcc -o main main.c
         next command here

另一种方法是简单地测试命令中的失败:

normal_target:
         if gcc -o main main.c; then \
            echo succeeded; \
         else \
            echo compilation failed; \
            gcc -o ...; \
         fi