我的Makefile有问题。没有这样的文件或目录

我的Makefile有问题。没有这样的文件或目录,makefile,mips,Makefile,Mips,我正在尝试用Make建立一个MIPS程序。我有两个非常简单的文件,因为我想在继续使用功能之前让Makefile工作: logic.asm # contains a main method # contains a .globl to print_strings # calls print_strings printer.asm # has a print_strings method that just prints a few strings and returns 我的Mak

我正在尝试用Make建立一个MIPS程序。我有两个非常简单的文件,因为我想在继续使用功能之前让Makefile工作:

 logic.asm
 # contains a main method
 # contains a .globl to print_strings
 # calls print_strings

 printer.asm
 # has a print_strings method that just prints a few strings and returns
我的Makefile如下所示:

RASM = /home/bin/rasm
RLINK = /home/bin/rlink

# Suffixes
.SUFFIXES:    .asm .obj .lst .out

# Obj files
OBJS = logic.obj printer.obj

# ASM -> OBJ
.asm.obj:
        $(RASM) -l $*.asm > $*.lst

# OBJ -> OUT
.obj.out:
        $(RLINK) -m -o $*.out $*.obj > $*.map

 # target
 logic.out:        $(OBJS)
          $(RLINK) -m -o $*.out $*.out $(OBJS) > $*.map
当我运行make时,我看到的是:

$ make
/home/bin/rlink -m -o logic.out logic.out logic.obj printer.obj > logic.map
logic.out: No such file or directory
make: *** [logic.out] Error 1

问题在于这一行:

$(RLINK) -m -o $*.out $*.out $(OBJS) > $*.map
应该只有1$*.out,如下所示:

$(RLINK) -m -o $*.out $(OBJS) > $*.map

对于那些不熟悉mips的用户,您能解释一下您希望执行的
logic.out
规则是什么命令吗?@Beta logic.out将.out转换为.map,而您希望规则执行的命令就是问题所在。