我对Makefile中的一行有以下问题:
echo 'include $(BASE)/Makefile.base' > file
如果我直接将它写入控制台,它会在文件中打印'include $(BASE)/Makefile.base',但是当在Makefile中使用它时,$(BASE)总是被替换为空白而我想要它字面上写入文件。我试着写几种方法,但似乎找不到正确的方法......
答案 0 :(得分:4)
echo 'include $$(BASE)/Makefile.base' > file
名为$
的宏(使用$$
调用)扩展为$
。您经常需要在$$
成为shell脚本的细分中使用makefile
,因为make
扩展了$L
,$(NAME)
和${NAME}
(其中L
是单个字母)自动(如果宏未设置为其他任何内容,则为空字符串)。