使用GNU Make和gcc中的编译器之一:是否可以(且仅当)编译失败时执行命令?
最佳答案
如果为命令添加前缀-
,即使命令返回非零错误代码,make也会继续执行。但是无法从第二个命令中的第一个命令访问错误代码。
您可以在单个make命令中编写任意复杂的shell脚本。例如,这是在C编译器失败时调用两个恢复命令的方法,仅在第一个命令失败时才运行第二个恢复命令,然后在C编译器失败时停止构建过程。
$(CC) $(CFLAGS) -o $@ -c $< || { \
recovery_command_1 && \
recovery_command_2; \
false; \
}
关于gcc - 如果编译失败,则执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375509/