Gcc 如果编译失败,请使用Make执行命令
使用GNU Make和gcc中的一个编译器:如果(并且仅当)编译失败,是否可以执行命令?如果在命令前面加上Gcc 如果编译失败,请使用Make执行命令,gcc,makefile,compiler-errors,Gcc,Makefile,Compiler Errors,使用GNU Make和gcc中的一个编译器:如果(并且仅当)编译失败,是否可以执行命令?如果在命令前面加上-,即使命令返回非零错误代码,Make也会继续运行。但是无法从第二个命令中的第一个命令访问错误代码 您可以在单个make命令中编写任意复杂的shell脚本。例如,下面是如何在C编译器失败时调用两个恢复命令,仅在第一个失败时运行第二个命令,然后在C编译器失败时停止构建过程 $(CC) $(CFLAGS) -o $@ -c $< || { \ recovery_command_1 &a
-
,即使命令返回非零错误代码,Make也会继续运行。但是无法从第二个命令中的第一个命令访问错误代码
您可以在单个make命令中编写任意复杂的shell脚本。例如,下面是如何在C编译器失败时调用两个恢复命令,仅在第一个失败时运行第二个命令,然后在C编译器失败时停止构建过程
$(CC) $(CFLAGS) -o $@ -c $< || { \
recovery_command_1 && \
recovery_command_2; \
false; \
}
$(CC)$(CFLAGS)-o$@-c$<||{\
恢复命令1&&\
恢复命令2\
虚假的\
}
整洁!这正是我想要的。你的意思是如果make命令失败,或者如果其中一个目标中的一个命令失败?