makefile he link.ld 存档

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

//makefile

#this is the MakeFile for my little first kernel

CC=gcc

AS=nasm

LD=ld

GET=co

HEX=-hexcpy

ECHO=@echo

ASFLAGS=-f elf

CFLAGS=-Wall -O -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./

LDFLAGS=-T link.ld

SRCS=kernel.c disp.c stdlib.c gdt.c idt.c isrs.c

OBJS=start.o kernel.o disp.o stdlib.o gdt.o idt.o isrs.o

TARG=kernel.bin

FNL=disk.flp

all: kernel.bin

start.o:

$(AS) $(ASFLAGS) boot.asm -o $@

$(SRCS):

$(GET) $@

$(CC) $(CFLAGS) $(SRCS)

$(TARG): $(OBJS)

$(LD) $(LDFLAGS) -o $@ $(OBJS)

$(ECHO) BUILD SUCCESSFUL !!!

clean:

-rm *.o

$(ECHO) FINAL FILE BUILD SUCCESSFUL !!!

////////////////////////////////////////////////////////////////////////////////////////////////////////////

///link.ld

OUTPUT_FORMAT("binary")

ENTRY(start)

phys = 0x00100000;

SECTIONS

{

.text phys : AT(phys) {

code = .;

*(.text)

. = ALIGN(4096);

}

.data : AT(phys + (data - code))

{

data = .;

*(.data)

. = ALIGN(4096);

}

.bss : AT(phys + (bss - code))

{

bss = .;

*(.bss)

. = ALIGN(4096);

}

end = .;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有