4

我有很多不同的 makefile 的大量资源。
现在我需要在那里添加一个小条件,在那里我可以检查行是否包含我想要的内容,然后我应该使用一些符号。
我知道ifeq必须放在 0 列。但我不能仅针对这种情况更改全部来源。
如果没有,我如何检查变量中包含的内容ifeq?我在定义函数中有这样的东西:

$(gen_cpp_objects): $(intermediates)/%.o: \
    $(intermediates)/%$(LOCAL_CPP_EXTENSION) $(yacc_cpps) \
    $(proto_generated_headers)  $(my_compiler_dependencies) \
    $(LOCAL_ADDITIONAL_DEPENDENCIES)
        $(transform-$(PRIVATE_HOST)cpp-to-o)

我需要将条件插入$(transform-$(PRIVATE_HOST)cpp-to-o)

我想要这样的东西:

file:=somefile.someextension
define transform-cpp-to-o
@mkdir -p $(dir $@)
@echo "target $(PRIVATE_ARM_MODE) C++: $(PRIVATE_MODULE) <= $<"
ifeq ($(strip $<),$(file))
#Do something here
endif
$(hide) $(PRIVATE_CXX) \
        $(addprefix -I , $(PRIVATE_C_INCLUDES)) \
4

1 回答 1

6

您可以将该if函数用作内联条件:

$(if $(filter $(strip $<),$(file)), then-block, else-block)
于 2012-11-26T13:29:14.943 回答