makefile:4:**缺少分隔符。停止

这是我的生成文件:

all:ll
LH:噢,是的
gcc-c-Wall-Werror-02 c.c ll.c-o [email protected]$<
清洁:
\rm-fr ll

当我尝试make cleanmake make时,我得到以下错误:

:makefile:4:**缺少分隔符。停止

我怎样才能修好它

make与tabs的关系非常愚蠢。每个规则的所有操作都由选项卡标识。而且,不,四个空格不构成一个标签。只有制表符才能制表

为了检查,我使用命令cat-e-t-v makefile\u name

它显示带有^I的选项卡和带有$的行结尾。这两者对于确保依赖关系正确结束至关重要,选项卡标记规则的操作,以便make实用程序能够轻松识别它们

例如:

Kaizen~/so\u test$cat-e-t-v mk.t
all:ll$##这里的$是行尾。。。
$
LH:噢,是的$
^Igcc-c-Wall-Werror-02 c.c.L.c-o [email protected]$<$
##上面的^I表示在动作部分之前有一个选项卡,所以这一行是可以的。
$
清洁:$
\rm-fr ll$
##看这里没有^I,这意味着tab不存在。。。。
##在这种情况下,您需要再次打开文件并编辑/确保选项卡
##开始动作部分

发表评论