Mac OS X上的Makefile问题:找不到目标

时间:2015-12-18 19:41:48

标签: macos makefile

我正在研究OS X上的makefile,我遇到了问题。我已经做了我应该做的一切(我认为),但只有一部分是有效的。当我尝试:

make file1

或:

make file2

一切似乎都很好,但是当我尝试时:

make all

或:

make clean

我得到了典型的:

*** No rule to make target

这是代码,我希望你能发现问题:

CC = gcc
CFLAGS=-Wall
FILES=file1 file2

all: $(FILES)

file1: file1.c
    $(CC) $(CFLAGS) file1.c -o file1

file2: file2.c
    $(CC) $(CFLAGS) file2.c -o file2

clean: 
    $(RM) $(FILES)

干杯!

1 个答案:

答案 0 :(得分:0)

将评论转移到答案中,主要是关闭问题。

没有明显的理由说明所显示的语法会导致该问题,因此我怀疑make file1在没有任何makefile的情况下工作并提出了一个默认规则来进行编译(并且可能没有&# 39;编译时使用-Wall选项。

您创建的makefile的名称是什么?

  

makefile名为makefile,你确实是对的:-Wall未被使用(我刚注意到)。

那很奇怪。仔细查看名称:ls m* | od -c。看看这些字母是否符合您的期望,并且名称的末尾没有任何尾随空格或任何类似的东西。

但是没有-Wall'观察实际上确认问题是makefile的名称,虽然它不明显为什么它不起作用。您可以尝试make -f makefile all,看看是否有任何区别。如果名称错误,您应该被告知它无法打开makefile

  

我尝试从头开始重新构建包含完全相同信息的makefile并且运行顺利。你对名称问题肯定是正确的。

这种问题很奇怪而且令人困惑 - 获得帮助是明智的。