在 makefile 中,我有
@echo "$(IGNORE_DIRS) $(CLEAN_FILES) $(CLEAN_DIRS) $(REALCLEAN_FILES)" | tr ' ' '\n' >> $@
Run Code Online (Sandbox Code Playgroud)
问题是它$(CLEAN_FILES)
很大,所以当我运行 make 时,我得到
make: execvp: /bin/sh: Argument list too long
Run Code Online (Sandbox Code Playgroud)
我使用的是 Xubuntu 18.10。
编辑:我应该提供更多背景信息。我正在研究的是一个 make 规则(我正在使用 GNU make)来自动生成文件.hgignore
。这是完整的 make 规则:
.hgignore : .hgignore_extra
@echo "Making $@"
@rm -f $@
@echo "# Automatically generated by Make. Edit .hgignore_extra instead." > $@
@tail -n +2 $< >> $@
@echo "" >> $@
@echo "# The following files come from the Makefile." >> $@ …
Run Code Online (Sandbox Code Playgroud)