代码拉取完成,页面将自动刷新
CC = gcc
ASM = nasm
LD = ld
MOUNT_POINT = /mnt/LiteOS
C_SOURCES = $(shell find . -name "*.c")
C_OBJECTS = $(patsubst %.c, %.o, $(C_SOURCES))
CC_FLAGS = -c -Wall -m32 -ggdb -gstabs+ -nostdinc -fno-builtin -fno-stack-protector -I include
LD_FLAGS = -T link.ld -m elf_i386 -nostdlib
all: boot.o $(C_OBJECTS) link build_img
.c.o:
@echo '----------build kernnel src...'
$(CC) -masm=intel $(CC_FLAGS) $< -o $@
boot.o: boot.asm
@echo '----------build boot...'
$(ASM) -f elf boot.asm
.PHONY: kernel
link:
@echo '----------linking...'
$(LD) $(LD_FLAGS) boot.o $(C_OBJECTS) -o kernel
.PHONY: build_img
build_img:
@echo '----------build OS image...'
@if [ ! -d $(MOUNT_POINT) ]; then mkdir $(MOUNT_POINT); fi # 挂载点不存在则创建
sudo mount LiteOS.img /mnt/LiteOS
sudo cp kernel /mnt/LiteOS/kernel
sudo cp floppy/boot/grub/grub.conf /mnt/LiteOS/boot/grub/grub.conf
sudo cp floppy/boot/grub/menu.lst /mnt/LiteOS/boot/grub/menu.lst
sleep 1
sudo umount /mnt/LiteOS
.PHONY:qemu
qemu:
.PHONY: clean
clean:
rm *.o kernel
rm lib/*.o
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。