使用findstring生成文件$@符号



我正在尝试做如下操作:

.c.o:
ifneq (, $(findstring FOO, $@))
    @echo "FOO"
endif

唯一的问题是,如果$@(当前文件)在应该包含字符串"FOO"的情况下包含该字符串,那么这将不起作用。我该怎么做?

ifneq条件指令在处理Makefile的读取阶段进行求值。在这一点上,$@还不为人所知。

试试这个,使用条件函数:

.c.o:
    @$(if $(findstring FOO,$@),echo "FOO")

最新更新