我的Makefile有问题。没有这样的文件或目录
我正在尝试用Make建立一个MIPS程序。我有两个非常简单的文件,因为我想在继续使用功能之前让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
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,而您希望规则执行的命令就是问题所在。