Makefile问题 – 读者的致命错误

我正在为学校项目创建的makefile遇到一些问题。 我正在编译和组装C文件和SPARC程序集文件(分别)并链接它们。 我在Unix环境中工作。 这是makefile:

proj09.exe: proj09.driver.o proj09.support.o gcc -Wall proj09.driver.o proj09.support.o -o proj09.exe proj09.driver.o: proj09.driver.c /user/cse320/Projects/project09.support.h gcc -Wall -c proj09.driver.c /user/cse320/Projects/project09.support.h proj09.support.o: proj09.support.s gcc -Wall proj09.support.s 

但是,当我试图制作它时,我得到一个读者错误,特别是:

“阅读器中的致命错误:proj09.makefile,第2行:看到意外的行尾”

现在我知道通常这意味着某些内容格式不正确,但我不知道在这种情况下它可能是什么。 另外,我不是100%确定这是makefile的正确代码(特别是我的support.s文件的汇编,以及两个文件的链接)。 如果这是一个重复的问题,我道歉,我事先查看了档案,找不到任何有用的东西。 任何帮助将不胜感激!

编辑:我不明白为什么这会有所作为,但我使用gedit实际编写代码,然后将文件传输到SSH进行链接。

正如约阿希姆告诉你的那样,线条应该用制表符缩进,而不是用空格缩进,所以第二行应该是这样的:

 [TAB]gcc -Wall proj09.driver.o proj09.support.o -o proj09.exe[NEWLINE] 

其中[TAB]表示TAB字符。

命令后也不应该有任何空格。 这就是我放[NEWLINE]字符的原因。

除了空格和制表符之外,这不会生成目标文件,甚至不应该编译(除非它有main() ):

 gcc -Wall proj09.support.s 

你也应该在这里使用-c

 gcc -Wall -c proj09.support.s 

注意:如果您在Unix / Linux上工作,请丢失.exe