CC=gcc
CFLAGS=-Wall -ansi
reversepoetry : reversepoetry.o
$(CC) -o reversepoetry reversepoetry.o
reversepoetry.o : reversepoetry.c
$(CC) $(CFLAGS) -c reversepoetry.c
run:
$./reversepoetry
clean:
rm reversepoetry reversepoetry.o
我在运行这个make文件时遇到了麻烦。目录中唯一的东西是makefile.txt和reversepoetry.c我输入$ make,我得到标题中发布的错误
makefile应该被称为Makefile
,而不是makefile.txt
。
错误消息显示“未找到makefile”。这意味着它没有看到您的文件。根据the GNU Make documentation,它默认按顺序查找GNUmakefile
,makefile
和Makefile
;他们建议你把你的文件称为Makefile
。这些都没有扩展。
它还说明了如果您确定要为makefile使用非标准名称该怎么做:
如果要为makefile使用非标准名称,可以使用'
-f
'或'--file
'选项指定makefile名称。参数'-f
name'或'--file=
name'告诉make将文件名作为makefile读取。如果您使用多个'-f
'或'--file
'选项,则可以指定多个makefile。所有makefile都按指定的顺序有效连接。如果指定'GNUmakefile
'或'makefile
',则不会自动检查默认的makefile名称Makefile
,-f
和--file
。
因此,您应该将makefile重命名为Makefile
而不使用扩展名,或者使用make
调用make -f makefile.txt
。您应该非常喜欢第一个选项,因为任何查看代码的人都会期望它。除了makefile之外,它还不是一个纯文本的自然语言文件,仅供.txt
通常暗示的人类使用。