📄 makefile
字号:
.SUFFIXES: .asm
# defines
MAKEFILE=Makefile
MAKEDEP=$(MAKEFILE)
INCDIR =../include
LDSCRIPT=../ldscript.ld
NASM =nasm -f aout -i$(INCDIR)
CC =gcc -ffreestanding -nostdlib -nostartfiles -nodefaultlibs -I$(INCDIR)
LD =ld -Ttext 0x90000 --oformat binary -e kernel_entry -nostdlib
OBJS = kinit.o kernel.o tty.o kb.o timer.o irq.o libc.o intr.o clock.o
# targets
all: kernel.bin
install:
copy /b ..\boot\boot.bin+kernel.bin ..\new.bin
clean:
del *.o
# implicit rules
.asm.o:
$(NASM) -o$@ $<
.c.o:
$(CC) -c -o$@ $<
#dependencies
kinit.o: kinit.asm
kernel.o: kernel.c ../include/i386/irq.h
tty.o: tty.c
#func.o: func.asm
kb.o: kb.c
clock.o: clock.c
timer.o: timer.c
irq.o: irq.c
libc.o: libc.c
intr.o: intr.c #$(MAKEDEP)
# explicit rules
#$(LIBC):
# make -C ../lib -f $(MAKEFILE)
kernel.bin: $(OBJS) $(MAKEDEP)
$(LD) -o$@ $(OBJS)
# objdump --source $@ >krnl.lst
# nm --line-numbers $@ | sort >krnl.sym
# strip $@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -