Makefile 代码中有什么错误吗?

Makefile 代码中有什么错误吗?,makefile,Makefile,第9行“缺少分隔符”显示错误。但我有足够的空间来代替标签。错误在哪里 #sudo apt-get install g++ binutils libc6-dev-i386 GCCPRAMS = -m32 -fno-use-cxa-atexit -fno-builtin -fno-rtti -fno-exception -fno-leading-underscore ASPARAMS = --32 LDPARAMS = -melf_i386 objects = loader.o kernel.o

第9行“缺少分隔符”显示错误。但我有足够的空间来代替标签。错误在哪里

#sudo apt-get install g++ binutils libc6-dev-i386
GCCPRAMS = -m32 -fno-use-cxa-atexit -fno-builtin -fno-rtti -fno-exception -fno-leading-underscore
ASPARAMS = --32
LDPARAMS = -melf_i386

objects = loader.o kernel.o

%.o: %.cpp
    gcc $(GCCPRAMS) -c -o $@ $<

loader.o: loader.s
    as $(ASPARAMS) -o $@ $<

mykernel.bin: linker.ld $(objects)
    ld $(LDPARAMS) -T $< -o $@ $(objects)

install: mykernel.bin
    sudo cp $< /boot/mykernel.bin

mykernel.iso: mykernel.bin
    mkdir iso
    mkdir iso/boot
    mkdir iso/boot/grub
    cp $< iso/boot/
    echo 'set timeout=0' > iso/boot/grub/grub.cfg
    echo 'set default=0' >> iso/boot/grub/grub.cfg
    echo '' >> iso/boot/grub/grub.cfg
    echo 'menuentry "My Operating System" {' >> iso/boot/grub/grub.cfg
    echo 'multiboot /boot/mykernel.bin' >> iso/boot/grub/grub.cfg
    echo 'boot' >> iso/boot/grub/grub.cfg
    echo '}' >> iso/boot/grub/grub.cfg
#sudo apt get install g++binutils libc6-dev-i386
GCCPRAMS=-m32-fno使用cxa atexit-fno内置-fno rtti-fno异常-fno前导下划线
天冬氨酸=--32
LDPARAMS=-melf_i386
objects=loader.o kernel.o
%.o:%.cpp
gcc$(GCCPRAMS)-c-o$@$<
loader.o:loader.s
as$(ASPARAMS)-o$@$<
mykernel.bin:linker.ld$(对象)
ld$(LDPARAMS)-T$<-o$@$(对象)
安装:mykernel.bin
sudo cp$iso/boot/grub/grub.cfg
echo'set default=0'>>iso/boot/grub/grub.cfg
echo'>>iso/boot/grub/grub.cfg
echo'menuentry“我的操作系统”{'>>iso/boot/grub/grub.cfg
echo'multiboot/boot/mykernel.bin'>>iso/boot/grub/grub.cfg
echo'boot'>>iso/boot/grub/grub.cfg
echo'}'>>iso/boot/grub/grub.cfg
  • 当我在命令shell中通过键入make来运行此命令时,显示一个错误,makefile:9:缺少分隔符。停止。**。我删除了文件“makefile”中的空格,但仍然显示错误
  • 显示“-m32-fno use cxa atexit-fno builtin-fno rtti-fno exception-fno前导下划线”不是命令。如何安装

  • 第9行是否以空格而不是制表符开头?必须使用制表符缩进规则中的命令。

    它从制表符开始