GCC = gcc

WEIX_K_OBJS = asm.o pic.o cpudetect.o gdt.o idt.o exception.o except_isr.o sched.o time.o sys.o system_call.o fork.o exit.o irq.o kdebug.o mm/kernel_mm.o fs/kernel_fs.o equip.o

WEIX_SRCS = $(WEIX_K_OBJS:.o=.c)

CFLAGS = -Wall -O -DDEBUG -I../include -D__KERNEL__ 

kernel.o: $(WEIX_K_OBJS)
	ld -r -o $@ $(WEIX_K_OBJS) 
	sync

mm/kernel_mm.o:
	cd mm ; $(MAKE)

fs/kernel_fs.o:
	cd fs ; $(MAKE)

asm.o: asm.s
	$(GCC) -D__KERNEL__ -E -I../include -traditional -o $*.s $*.S
	$(AS) -o $@ $*.s

system_call.o : system_call.S
	$(GCC) -D__KERNEL__ -E -I../include -traditional -o $*.s $*.S
	$(AS) -o $@ $*.s

except_isr.o: except_isr.S
	$(GCC) -D__KERNEL__ -E -I../include -traditional -o $*.s $*.S
	as -o $@ $*.s

clean:
	rm *.o
dep:
	../tools/gccmakedep $(WEIX_SRCS)
# DO NOT DELETE
