是否可以在foreach循环中添加多个命令?我试图添加一个简单的if-else条件,但遗憾的是我无法找到一个很好的解释。
TARGET_LIBS中的Foreach库,我想检查lib是否包含单词“test”。如果是,请调用TEST_COPY_RULE。否则,请致电LIB_COPY_RULE。
谢谢
答案 0 :(得分:1)
这个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)) )