1 ifneq ($(_KERNEL_MAKE
),1)
4 # include targets we depend on
10 KERNEL_OBJ_DIR
= kernel
/$(OBJ_DIR
)
12 $(KERNEL_OBJ_DIR
)/main.o \
13 $(KERNEL_OBJ_DIR
)/elf.o \
14 $(KERNEL_OBJ_DIR
)/faults.o \
15 $(KERNEL_OBJ_DIR
)/khash.o \
16 $(KERNEL_OBJ_DIR
)/lock.o \
17 $(KERNEL_OBJ_DIR
)/heap.o \
18 $(KERNEL_OBJ_DIR
)/int.o \
19 $(KERNEL_OBJ_DIR
)/console.o \
20 $(KERNEL_OBJ_DIR
)/debug.o \
21 $(KERNEL_OBJ_DIR
)/dev.o \
22 $(KERNEL_OBJ_DIR
)/queue.o \
23 $(KERNEL_OBJ_DIR
)/timer.o \
24 $(KERNEL_OBJ_DIR
)/sem.o \
25 $(KERNEL_OBJ_DIR
)/smp.o \
26 $(KERNEL_OBJ_DIR
)/syscalls.o \
27 $(KERNEL_OBJ_DIR
)/thread.o \
28 $(KERNEL_OBJ_DIR
)/cbuf.o \
29 $(KERNEL_OBJ_DIR
)/vfs.o
31 KERNEL_INCLUDES
= -Iinclude
33 include $(KERNEL_DIR
)/fs
/fs_kernel.mk
34 include $(KERNEL_DIR
)/vm
/vm_kernel.mk
35 include $(KERNEL_DIR
)/net
/net_kernel.mk
37 KERNEL_ARCH_DIR
= kernel
/arch
/$(ARCH
)
38 include $(KERNEL_ARCH_DIR
)/arch_kernel.mk
40 DEPS
+= $(KERNEL_OBJS
:.o
=.d
)
42 KERNEL
= $(KERNEL_OBJ_DIR
)/system
46 $(KERNEL
): $(KERNEL_OBJS
) $(KLIBS
) $(DEV
) $(BUS
)
47 $(LD
) --script
=$(KERNEL_ARCH_DIR
)/kernel.
ld -L
$(LIBGCC_PATH
) -o
$@
$(KERNEL_OBJS
) $(DEV
) $(BUS
) $(LINK_KLIBS
) $(LIBGCC
)
54 # build prototypes - this covers architecture dependant subdirs
56 $(KERNEL_OBJ_DIR
)/%.o
: $(KERNEL_DIR
)/%.c
57 @if
[ ! -d
$(KERNEL_OBJ_DIR
) ]; then mkdir
-p
$(KERNEL_OBJ_DIR
); fi
58 $(CC
) -c
$< $(GLOBAL_CFLAGS
) $(KERNEL_INCLUDES
) -o
$@
60 $(KERNEL_OBJ_DIR
)/%.d
: $(KERNEL_DIR
)/%.c
61 @if
[ ! -d
$(KERNEL_OBJ_DIR
) ]; then mkdir
-p
$(KERNEL_OBJ_DIR
); fi
62 @echo
"making deps for $<..."
63 @
($(ECHO
) -n
$(dir $@
); $(CC
) $(GLOBAL_CFLAGS
) $(KERNEL_INCLUDES
) -M
-MG
$<) > $@