Makefile:Foreach 和 eval 缺少分隔符?

Makefile: Foreach and eval's missing separators?

本文关键字:分隔符 eval Foreach Makefile      更新时间:2023-10-16

我在makefile中有一个:

# Build source files
define compile_rule
%.o : %.$1
        $$(COMPILE) $$(COMPILE_FLAGS) $$(CC_FLAGS) -o $$@ $$<
endef
$(foreach EXT, $(SRC_EXT), $(eval $(call compile_rule, $(EXT))))

但是,如果我键入make,我会收到此错误,为什么会发生这种错误?

*** missing separator (did you mean TAB instead of 8 spaces?).  Stop.

您需要使用一个选项卡,而不是在Endef上方的行中的8个空间。