Makefile说缺少操作员

时间:2015-03-16 06:47:09

标签: c linux unix makefile

我正在尝试运行一个同时编译这些'C'程序的makefile。

CC=gcc
CFLAGS=-I.
DEPS = queue.h

all: \threadss

threadss: thread.o queueImp.o
    $(CC) thread.o queueImp.o -o threadss

thread.o: thread.c
    $(CC) $(CFLAGS) threads.c

thread.o: queueImp.c
    $(CC) $(CFLAGS) queueImp.c

clean:
    rm -rf *o threadss

但是会返回以下错误:

Makefile:8: *** missing separator.  Stop.

请帮我解决这个问题。我正在使用unix环境。

1 个答案:

答案 0 :(得分:7)

makefile在规则的每个命令之前都需要tab。请确保在tab和其他命令之前 $(CC) thread.o queueImp.o -o threadss [not spaces]。

注意:通常,clean命令用于删除具有.o扩展名的目标文件。也许你想要的是

 rm -rf *.o threadss
         ^
         |

为实际目的服务。