从系统提示来看是缺少分隔符,具体原因其实是制表符tab的关系。在makefile中,每个规则的所有动作都由制表符标识,也就是说每个命令行开始是以tab键开始的,而你用4个空格形成的空格效果,不算做制表符。
所以当你不确定命令行前是否由tab键形成时,你可以用下面命令:cat -etv makefile_name
。
这时你的makefile文件将会把TAB字符显示为^I,在每行结束处显示$。以之前使用的makefile文件为例,使用上面命令后显示如下:
# Go parameters^M$
VERSION=1.9.2^M$
GOCMD=go^M$
GORUN=$(GOCMD) run^M$
run:^M$
^I$(GORUN) main.go^M$
通过这样,你就可以很容易看到自己的makefile文件的格式是否有误,只要命令开始不是以^I开始,改变即可。