Makefile错误-make:**没有规则使目标'boot.o'为'all'所需。停止
我正在学习一个类似于unix的内核开发教程,我确信我遇到了一个完全没有问题的问题:有人能告诉我这有什么问题吗Makefile错误-make:**没有规则使目标'boot.o'为'all'所需。停止,makefile,kernel,yasm,Makefile,Kernel,Yasm,我正在学习一个类似于unix的内核开发教程,我确信我遇到了一个完全没有问题的问题:有人能告诉我这有什么问题吗 SOURCES=boot.o main.o CFLAGS=-nostdlib -nostdinc -fno-builtin -fno-stack-protector LDFLAGS=-Tlink.ld ASFLAGS=-felf all: $(SOURCES) link clean: -rm *.o kernel link: ld $(LDFLAGS) -o k
SOURCES=boot.o main.o
CFLAGS=-nostdlib -nostdinc -fno-builtin -fno-stack-protector
LDFLAGS=-Tlink.ld
ASFLAGS=-felf
all: $(SOURCES) link
clean:
-rm *.o kernel
link:
ld $(LDFLAGS) -o kernel $(SOURCES)
.s.o:
yasm $(ASFLAGS) $
提前感谢假设boot.o和main.o是使用yasm构建的,那么您的makefile没有.o的规则
您正在使用,并且缺少一些设置,加上最后一行中的错误
改为切换到普通模式规则,没有必要尝试修复旧式规则:
%.o: %.s
yasm $(ASFLAGS) $<
您检查过boot.o文件是否存在吗?@SidR,没有。它找不到要编译的规则it@aleguna符合事实的但是,如果已经有boot.o文件,则不需要编译它。
%.o: %.s
yasm $(ASFLAGS) $<