这有可能吗?
更新:我需要这个,因为我从动态和静态数据创建了一个文件。
用例:我有一个测试目录。每个C文件都生成一个测试可执行文件。用
SRCS = $(wildcard [a-z]*.c)
我可以根据需要添加新测试,并使它们能够找到新测试,进行编译,运行和验证。我也使用git。我希望
.gitignore
包含可执行文件。所以那里。如何创建
.gitignore
并包含静态数据,即我要忽略的文件(*.o
和depend
)以及可执行文件? 最佳答案
另一个GNU Make解决方案。
您可以使用define
和export
命令执行以下操作:
define GITIGNOREDS
*.o
depend
endef
SRCS = $(wildcard [a-z]*.c)
EXES = $(SRCS:.c=)
export GITIGNOREDS
.gitignore: $(SRCS)
echo $(EXES) | sed 's/ /\n/g' > $@
echo "$$GITIGNOREDS" >> $@
不过,您必须注意在define块内进行扩展(即
$(x)
)。关于makefile - Makefile中的Heredoc?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5873025/