makefile ifeq analog

时间:2012-11-26 13:11:14

标签: makefile

我有很多不同的makefile文件来源 现在我需要在那里添加一个小条件,我可以检查行是否包含我想要的东西然后我应该使用一些符号 我知道ifeq必须放在0列。 但是我不能只为这种情况挑选整个来源  如何在没有ifeq的情况下检查变量中包含哪些内容? 我在define函数中有这样的东西:

$(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)) \

1 个答案:

答案 0 :(得分:6)

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

$(if $(filter $(strip $<),$(file)), then-block, else-block)