我正在尝试编写一个生成文件以在执行时执行以下操作:
CMVC_VIEW = ../../..
TB_DIR = $(CMVC_VIEW)/tarball_images
SMAC_TOOLS = $(TB_DIR)/smac_tools
SMAC_BIN = $(SMAC_TOOLS)/bin
DIR_LIST = $(TB_DIR) \
$(SMAC_TOOLS) \
$(SMAC_BIN)
install:
rm -f *.o
for DIR in $(DIR_LIST); do \
echo $${DIR}; \
chmod 2775 $${DIR}; \
done
但是,当 makefile 运行时,我收到一条错误消息,提示 chmod: missing operand after 2775
。我不明白为什么会发生这种情况,因为它$${DIR}
应该包含与需要更改其访问权限的目录相对应的路径。
$${DIR}
当我用静态目录路径替换时,这似乎有效。
出于此 makefile 的目的,假设该DIR_LIST
宏被分配给由空格分隔的目录列表。