makefile:有条件在foreach中



是否可以在foreach循环中添加多个命令?我正在尝试添加一个简单的如果有条件的条件,但不幸的是我找不到很好的解释。

for target_libs中的each lib,我想检查lib是否包含"测试"一词。如果是,请致电test_copy_rule。否则,请致电lib_copy_rule。

谢谢

这个makefile积极回答您的问题:

TARGET_LIBS := a testb ctest d e
TEST_COPY_RULE = $(info TEST_COPY $1)
LIB_COPY_RULE = $(info LIB_COPY $1)
IS_TEST = $(findstring test, $L)
$(foreach L, $(TARGET_LIBS), $(if $(call IS_TEST,$L),$(call TEST_COPY_RULE, $L),$(call LIB_COPY_RULE, $L)) )

最新更新