Makefile:1 *** 缺少分隔符

Makefile:1 *** 缺少分隔符

由于某种原因,我的 makefile 无法运行。这段代码来自我的一位讲师,他教我如何为 Java 程序运行 makefile。它被称为 Makefile

all:
    javac cs286_p1/*.javac
    jar cmf manifest.mf cs286_p1.jar cs286_p1
    @echo "+ to run type: java -jar exampleProgram.jar"
    @echo "+ to run with command line arguments, simply append them to the line above"

我运行了一下cat -e -t -v Makefile,看看结果是什么,结果是这样的:

$ cat -e -t -v Makefile
all:^M$
^Ijavac cs286_p1/*.javac^M$
^Ijar cmf manifest.mf cs286_p1.jar cs286_p1^M$
^I@echo "+ to run type: java -jar exampleProgram.jar"^M$
^I@echo "+ to run with command line arguments, simply append them to the line above"^M$

有什么帮助吗?

编辑:似乎 dos2unix 不起作用。我编辑了文件以删除 ~$。我正在当前连接到的 Linux 环境中编辑和处理此文件,但是我在 Notepad++ 上启动了此文件并确保 ANSII 是编码。仍然不起作用,但是,还有其他可以想到的吗?

答案1

看起来您有 Microsoft 行尾(回车符 + 换行符,x0d0a,而不是单独的换行符,x0a)。我想您在 Windows 中编辑了此文件。

如果您想继续这样做,您应该要么获得一个像 notepad++ 这样的可以控制行尾的 Windows 编辑器(类似 linux 或 windows),要么应用dos2unix Makefile

相关内容