我有一个makefile。我需要检查命令的退出状态和执行比较,如果退出状态为0,则执行一些显示操作。但如果两种情况都成功或失败,我会得到相同的信息。
请找到以下代码,并帮助我做正确的方法: -
FILES = test1.sh test2.sh
manoj: $(FILES)
ls $(FILES)
$(eval exitstatus="$(shell echo $$?)")
@echo $(exitstatus)
ifeq (0,$(exitstatus))
$(error something going wrong..........)
endif
clean: pwd
获得相同的输出:
testmake.mk:4: *** something going wrong........... Stop.
对于ifeq ifeq(0,$(exitstatus))和ifneq ifeq(0,$(exitstatus))
如果条件成功,我想执行一些操作,否则什么都不想做。
答案 0 :(得分:0)
在配方中使用shell命令,而不是make
指令。
当执行目标的配方时,意味着它的所有先决条件确实存在:
manoj: $(FILES)
@echo "$(FILES) do exist at this point."