在生成文件中使用选项卡时出错如何修复它



当我尝试为makefile做制作时,它会显示给我(makefile错误缺少分隔符。 我的制作文件是

PROGS = $(patsubst %.c,%,$(SRCS))
all: $(PROGS)
%: %.c
arm-linux-gnueabihf-gcc --static $< -o $@
clean:
rm -f $(PROGS) 

我尝试使用以下命令,但我无法解决我的问题cat -e -t -v Makefile


SRCS^I=^I$(wildcard^I*.c)^I$
PROGS^I=^I$(patsubst^I%.c,%,$(SRCS))$
all:^I$(PROGS)^I$
%:^I%.c^I$
arm-linux-gnueabihf-gcc^I--static^I$<^I-o^I$@^I$
clean:^I$
rm^I-f^I$(PROGS)^I$ ```

疯狂。 您在所有不需要它们的位置都有 TAB 字符,并且在您必须拥有它们的任何 (两个(位置都没有 TAB字符。 我不知道你是怎么做到的。

在 makefile 上方的位置,您必须具有 TAB 字符是配方行。 换句话说,你的生成文件应该看起来像这样cat -e -t -v Makefile

SRCS = $(wildcard *.c)$
PROGS = $(patsubst %.c,%,$(SRCS))$
all: $(PROGS)$
%: %.c$
^Iarm-linux-gnueabihf-gcc --static $< -o $@$
clean:$
^Irm -f $(PROGS)$

至于配置你的文本编辑器,那里有大量的文本编辑器,即使在 Ubuntu 上,我们也不知道你使用的是哪一个。

我建议您使用程序员的编辑器,它具有理解makefile语法的特殊模式。

最新更新