loader.bin(加载程序)和Kernel.bin(操作系统内核),编写过程比较简单,需要主要的是编译命令前需要有一个Tab键作为空格,否则好像执行不了,比如
# Makefile for os
# Entry point of kernel
ENTRYPOINT
# Programs, flags, etc.
ASM
ASMBFLAGS
ASMKFLAGS
LD
CC
CFLAGS
LDFLAGS
# This Program
TINIXBOOT
TINIXKERNEL
OBJS
# All Phony Targets
.PHONY : everything clean all
# Default starting position
everything : $(OBJS) $(TINIXBOOT) $(TINIXKERNEL)
clean :
all : clean everything
boot/boot.bin : boot/boot.asm boot/include/load.inc boot/include/fat12hdr.inc
boot/loader.bin : boot/loader.asm boot/include/load.inc boot/include/fat12hdr.inc boot/include/pm.inc boot/include/lib.inc
kernel.bin: $(OBJS)
kernel/kernel.o: kernel/kernel.asm
kernel/start.o: kernel/start.c ./include/type.h ./include/const.h ./include/protect.h
lib/klib.o: lib/klib.asm
lib/string.o: lib/string.asm