📄 makefile
字号:
# pre-boot loader address mapPREBOOT_TEXT = 0x00000000PREBOOT_DATA = 0x00002000PREBOOT_LDFLAGS = -Ttext $(PREBOOT_TEXT) -Tdata $(PREBOOT_DATA) IMAGE_LDFLAGS = -T boot.ldsall: Image preboot# generic pattern rules to compile a .c to a .o%.o: %.c $(CC) $(CFLAGS) -c $<%.o: %.S $(CC) $(CFLAGS) -c $<# kernel is embedded inside piggy.o# kernel must be in binary format since ELF loader is not availablepiggy.o: $(SYSTEM) $(OBJCOPY) -O binary $(SYSTEM) vmkernel.bin $(LD) -o $@ -r --format binary --oformat elf32-i386 vmkernel.bin -T piggy.lds rm -f vmkernel.bin# Image is bootloader + piggy.oImage: head.o boot.o piggy.o $(LD) $(IMAGE_LDFLAGS) -o $@.elf $^ $(OBJCOPY) -O binary $@.elf $@# run preboot to load Image, preboot is in ELF formatpreboot: preboot.o $(LD) $(PREBOOT_LDFLAGS) -o $@ $< clean: rm -f preboot preboot.o head.o boot.o piggy.o Image.elf Image
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -