1

我正在完成一个类似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 kernel $(SOURCES)

.s.o:
    yasm $(ASFLAGS) $

提前致谢

4

2 回答 2

0

假设boot.omain.o使用yasm您的 makefile 构建缺少规则.o

.o:
    yasm $(ASFLAGS) $
于 2012-12-05T16:40:25.267 回答
0

您正在使用老式的后缀规则,并且缺少一些设置(加上最后一行中的错误)。

改用普通模式规则,尝试修复旧样式规则没有意义:

%.o: %.s
    yasm $(ASFLAGS) $<
于 2012-12-05T16:47:30.980 回答