split kernel lib sources into their own directory and handled the section
differences with a partial link and a special link script
This commit is contained in:
@@ -33,14 +33,16 @@ CRBASEDIR := $(abspath ..)
|
||||
include $(CRBASEDIR)/armcompile.mk
|
||||
|
||||
PRESTART_OBJS = prestart.o early_trace.o collect_startup.o early_mm.o
|
||||
LIB_OBJS = divide.o qdivrem.o intlib.o objhelp.o rbtree.o str.o strcopymem.o strcomparemem.o strsetmem.o lib_guids.o
|
||||
RES_OBJS = lowlevel.o trace.o memmgr.o vmmap.o pagealloc.o kernel_space.o
|
||||
INIT_OBJS = start.o kistart.o init_heap.o
|
||||
|
||||
all: kernel.img
|
||||
|
||||
kernel.elf: $(PRESTART_OBJS) $(LIB_OBJS) $(RES_OBJS) $(INIT_OBJS) kernel.lds
|
||||
$(LD) -T kernel.lds $(PRESTART_OBJS) $(LIB_OBJS) $(RES_OBJS) $(INIT_OBJS) -o kernel.elf
|
||||
kernel.elf: $(PRESTART_OBJS) lib/kernel-lib.o $(RES_OBJS) $(INIT_OBJS) kernel.lds
|
||||
$(LD) -T kernel.lds $(PRESTART_OBJS) lib/kernel-lib.o $(RES_OBJS) $(INIT_OBJS) -o kernel.elf
|
||||
|
||||
lib/kernel-lib.o:
|
||||
make -C lib
|
||||
|
||||
kernel.img: kernel.elf
|
||||
$(OBJDUMP) -D kernel.elf > kernel.list
|
||||
@@ -50,3 +52,4 @@ kernel.img: kernel.elf
|
||||
|
||||
clean:
|
||||
-rm *.o *.s *.lds kernel.img kernel.elf kernel.list kernel.syms*
|
||||
make -C lib clean
|
||||
Reference in New Issue
Block a user