Netbeans 强制退出Makefile目标而不引发错误

Netbeans 强制退出Makefile目标而不引发错误,netbeans,makefile,Netbeans,Makefile,我使用由外部工具(Netbeans)生成的Makefile,在这里我不能更改主目标的逻辑,但我能够在实际构建之前执行的目标中“注入”逻辑(.build pre在Netbeans生成的Makefile中是特定的) 我希望该目标有条件地终止make执行,但不会引发错误。如果我这样做 exit 在“pre”规则中,没有发生任何事情(我的意思是,规则终止,但make继续)。如果我加上 exit 1 make将终止,但它将返回错误状态 有没有办法迫使make以干净的方式退出?我搜索了make函数,但只

我使用由外部工具(Netbeans)生成的Makefile,在这里我不能更改主目标的逻辑,但我能够在实际构建之前执行的目标中“注入”逻辑(.build pre在Netbeans生成的Makefile中是特定的)

我希望该目标有条件地终止make执行,但不会引发错误。如果我这样做

exit
在“pre”规则中,没有发生任何事情(我的意思是,规则终止,但make继续)。如果我加上

exit 1
make将终止,但它将返回错误状态

有没有办法迫使make以干净的方式退出?我搜索了make函数,但只找到了error/warn/info,而没有找到exit

提前谢谢

编辑:根据评论,这似乎是不可能的。可怜

为了完整起见,我想用一个更具体的例子来说明我想要实现的目标:

default: pre
  @echo "Doing default"

pre: 
  @echo "Doing pre"
ifeq "$(SOME_VARIABLE)" "yes"
  exit 0
fi

使用上面的Makefile,我希望能够执行pre,并有条件地阻止“default”执行,但仍然将0返回给shell

如果未设置变量,则可以让all目标不执行任何操作:

ifeq ($(SOME_VAR),)
$(info SOME_VAR not set!)
all:
else
all: target1 target2 targetetc
endif

只是对@Ken的出色响应进行了一点扩展。您也可以这样做:

ifeq ("test", "test")
postinstall:
    @echo "test = test"
else
postinstall:
    @echo "test != test"
endif

不要说“我希望make不要像make那样工作”,如果你能告诉我们你真正想要完成什么,也许会有帮助。就像我说的,我想强制退出“make”而不引起错误。在某些情况下,我不想让Netbeans生成的规则继续运行。没有办法做到这一点。如果你说
make foo
,那么make将尝试make
foo
,而它停止制作
foo
的唯一方法就是看到错误。你不能要求它放弃而不发出
foo
,并且不产生错误。如果这在某种程度上不能准确描述你想要达到的目标,请把你的问题说得更具体一些。谢谢@madscitist。我实际上怀疑这可能是不可能的,但如果你不问,你就学不到,对吗?:)谢谢@马辛:我读到了,但你在重复你想要的奇怪的技术步骤。您还没有说明真正的问题–可能有完全不同的解决方案。有3种可能的功能-
info
warning
error
。欲了解更多信息,请访问