我正在尝试做如下操作:
.c.o:
ifneq (, $(findstring FOO, $@))
@echo "FOO"
endif
唯一的问题是,如果$@(当前文件)在应该包含字符串"FOO"的情况下包含该字符串,那么这将不起作用。我该怎么做?
ifneq
条件指令在处理Makefile的读取阶段进行求值。在这一点上,$@
还不为人所知。
试试这个,使用条件函数:
.c.o:
@$(if $(findstring FOO,$@),echo "FOO")