有没有办法从之前失败的点重启make目标?或者也许其他一些可以实现这一目标的技术?
make testtarget
行command b
失败
testtarget:
command a
command b
command c
我希望能够在需要进行任何更改的情况下手动运行命令b,然后运行make testtarget --resume
或类似的东西。
答案 0 :(得分:0)
我建议您将testtarget
目标配方中的命令分开到单独的配方中。像这样:
# Separate recipe of 'testtarget' target into sub targets and order them.
testtarget: testtarget_a testtarget_b testtarget_c
testtarget_c:|testtarget_b
testtarget_b:|testtarget_a
testtarget_a:; command a
testtarget_b:; command b || $(MAKE) testtarget_b_failed
testtarget_c:; command c
# Add commands to recipe of this target to fix failure of "command b"
testtarget_b_failed:;
.PHONY: testtarget_b_failed testtarget testtarget_a testtarget_b testtarget_c