Makefile - missing separator [duplicate]

天大地大妈咪最大 提交于 2019-11-28 19:26:46

问题


Possible Duplicate:
Make error: missing separator

Have this code in makefile:

PROG = semsearch
all: $(PROG)
%: %.c
gcc -o $@ $< -lpthread

clean:
rm $(PROG)

and the error

missing separator. stop.

Can someone help me?


回答1:


You need to precede the lines starting with gcc and rm with a hard tab. Commands in make rules are required to start with a tab (unless they follow a semicolon on the same line). The result should look like this:

PROG = semsearch
all: $(PROG)
%: %.c
        gcc -o $@ $< -lpthread

clean:
        rm $(PROG)

Note that some editors may be configured to insert a sequence of spaces instead of a hard tab. If there are spaces at the start of these lines you'll also see the "missing separator" error. If you do have problems inserting hard tabs, use the semicolon way:

PROG = semsearch
all: $(PROG)
%: %.c ; gcc -o $@ $< -lpthread

clean: ; rm $(PROG)


来源:https://stackoverflow.com/questions/14109724/makefile-missing-separator

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!