diff --git a/Makefile b/Makefile index fff39f1..4fb4acf 100644 --- a/Makefile +++ b/Makefile @@ -4,9 +4,23 @@ LDFLAGS= -melf_i386 -nostdlib -e loader -T link.ld OBJS=kernel.bin all: $(OBJS) + kernel.bin: loader.o kernel.o - $(LD) $(LDFLAGS) $^ -o $@ + @echo " LD kernel.bin" + @$(LD) $(LDFLAGS) $^ -o $@ + install: - cp ./kernel.bin /boot/mykernel.bin + @echo " CP kernel.bin" + @cp ./kernel.bin /boot/mykernel.bin + +%.o: %.c + @echo " CC $@" + @$(CC) $(CFLAGS) -c $^ + +%.o: %.s + @echo " AS $@" + @$(AS) $(ASFLAGS) -c $^ -o $@ + clean: - $(RM) *.o kernel.bin + @echo " RM *.o kernel.bin" + @$(RM) *.o kernel.bin diff --git a/kernel.c b/kernel.c index 0e08490..771f6f5 100644 --- a/kernel.c +++ b/kernel.c @@ -3,7 +3,7 @@ void puts(char*s) { static unsigned short*vram=(unsigned short*)0xb8000; for(int i=0;s[i];++i) - vram[i]=(vram[i]&0xff00)|s[i]; + vram[i]=0x1f00|s[i]; } void kernelmain(void*multiboot_structure,unsigned magicnumber)