Lock depth checking allows panicy prints
[akaros.git] / kern / src / Makefrag
index bbe1ce1..76d9b1e 100644 (file)
@@ -8,6 +8,9 @@ KERN_SRC_DIR = $(KERN_DIR)/src
 OBJDIRS += $(KERN_SRC_DIR)
 KERN_CPIO = initramfs.cpio
 KERN_CPIO_OBJ = $(KERN_CPIO).o
+ifneq ($(EXT2_BDEV),)
+EXT2_BDEV_OBJ_FULL = $(OBJDIR)/$(KERN_DIR)/$(shell basename $(EXT2_BDEV)).o
+endif
 
 # entry.S must be first, so that it's the first code in the text segment!!!
 #
@@ -37,7 +40,6 @@ KERN_SRCFILES := $(KERN_ARCH_SRCFILES) \
                  $(KERN_SRC_DIR)/hashtable.c \
                  $(KERN_SRC_DIR)/schedule.c \
                  $(KERN_SRC_DIR)/mm.c \
-                 $(KERN_SRC_DIR)/resource.c \
                  $(KERN_SRC_DIR)/slab.c \
                  $(KERN_SRC_DIR)/elf.c \
                  $(KERN_SRC_DIR)/frontend.c \
@@ -56,6 +58,8 @@ KERN_SRCFILES := $(KERN_ARCH_SRCFILES) \
                  $(KERN_SRC_DIR)/alarm.c \
                  $(KERN_SRC_DIR)/kdebug.c \
                  $(KERN_SRC_DIR)/ucq.c \
+                 $(KERN_SRC_DIR)/console.c \
+                 $(KERN_SRC_DIR)/trap.c \
                  $(KERN_SRC_DIR)/arsc.c
 
 # Only build files if they exist.
@@ -73,7 +77,8 @@ KERN_OBJFILES  := $(patsubst $(KERN_DIR)/%.S, \
 
 KERN_LDDEPENDS := $(KERN_OBJFILES) $(ARCH_DIR)/$(TARGET_ARCH)/kernel.ld \
                   $(OBJDIR)/$(KERN_DIR)/libivykern.a \
-                  $(OBJDIR)/$(KERN_DIR)/$(KERN_CPIO_OBJ) $(EXT2_BDEV)
+                  $(OBJDIR)/$(KERN_DIR)/$(KERN_CPIO_OBJ) \
+                  $(EXT2_BDEV_OBJ_FULL)
 
 KERN_LDLIBS    := -livykern
 
@@ -99,6 +104,9 @@ LD_ARCH := $(shell $(OBJDUMP) -i | grep -v BFD | grep "^  [a-z]" | head -n1)
 $(OBJDIR)/$(KERN_DIR)/$(KERN_CPIO_OBJ): $(OBJDIR)/$(KERN_DIR)/$(KERN_CPIO)
        $(V)$(OBJCOPY) -I binary -B $(LD_ARCH) -O $(LD_EMULATION) $^ $@
 
+$(EXT2_BDEV_OBJ_FULL): $(EXT2_BDEV)
+       $(V)$(OBJCOPY) -I binary -B $(LD_ARCH) -O $(LD_EMULATION) $^ $@
+
 $(OBJDIR)/$(KERN_DIR)/%.o: $(KERN_DIR)/%.c
        @echo + cc [KERN] $<
        @mkdir -p $(@D)
@@ -113,7 +121,7 @@ $(OBJDIR)/$(KERN_DIR)/kernel: $(KERN_LDDEPENDS)
        @echo + ld [KERN] $@
        $(V)$(LD) -o $@ $(KERN_LDFLAGS) $(KERN_OBJFILES) $(KERN_LDLIBS) \
                        $(KERN_GCC_LIB) $(OBJDIR)/$(KERN_DIR)/$(KERN_CPIO_OBJ) \
-                       $(EXT2_BDEV)
+                       $(EXT2_BDEV_OBJ_FULL)
        $(V)$(OBJDUMP) -S $@ > $@.asm
        $(V)$(NM) -n $@ > $@.sym