Qemu Makefile 报错 make: Nothing to be done for `Makefile.rb'

Qemu Makefile error make: Nothing to be done for `Makefile.rb'

我有一个 returns 错误的 make 文件:make:每当我尝试 运行 时,对 `Makefile.rb' 什么都不做。这是我的 Makefile:

SDKDIR=./sdk

help:

    @echo "Makefile for Building Dev Operating System."

    @echo "Usage: make [ all | clean | help | build | run] " 

    @echo ""

    @echo

all: 

    @echo "Building Kernel"

    make -C ./kernel

    @echo "Building SDK"

    make -C ./sdk

    @echo "Building Userland"

    make -C ./userland


build:

    zip -r devos-$(VERSION).zip ./

run:

    @echo "Running Dev Operating System."

    cd ./sdk && sudo bash ./diskimage.sh

    cd ./sdk && ./qemu.sh

clean:

    make -C ./kernel clean

    make -C ./userland clean

我在 Homebrew 上使用 qemu for macOS Serria。

你是说你的 makefile 的名字是 Makefile.rb?

这不是您 运行 在 makefile 上制作的方式。传递给 make 的任何非选项参数都被认为是 make 应该尝试构建的目标;这就是为什么当您说 make Makefile.rb make 告诉您无需构建该目标时:该文件已经存在并且没有先决条件,因此它不会过时。

通常当 make 启动时,它会读取当前目录中名为 MakefilemakefileGNUmakefile 的 makefile。如果你想让它解析不同的 makefile,你可以使用 -f 选项:

make -f Makefile.rb

您可以阅读 GNU make manual 或带有 man make 的手册页以了解有关如何 运行 make 的更多信息。