Allows no EXT2 block device
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 27 Feb 2012 21:26:40 +0000 (13:26 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 27 Feb 2012 21:26:40 +0000 (13:26 -0800)
Note you still need to have the block device if you compile with EXT2
support.  This just lets people not use EXT2 and still build.

kern/src/Makefrag

index 3e9f8b9..8b7ab5c 100644 (file)
@@ -8,7 +8,9 @@ KERN_SRC_DIR = $(KERN_DIR)/src
 OBJDIRS += $(KERN_SRC_DIR)
 KERN_CPIO = initramfs.cpio
 KERN_CPIO_OBJ = $(KERN_CPIO).o
-EXT2_BDEV_OBJ = $(shell basename $(EXT2_BDEV)).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!!!
 #
@@ -75,7 +77,7 @@ 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) \
-                  $(OBJDIR)/$(KERN_DIR)/$(EXT2_BDEV_OBJ)
+                  $(EXT2_BDEV_OBJ_FULL)
 
 KERN_LDLIBS    := -livykern
 
@@ -101,7 +103,7 @@ 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) $^ $@
 
-$(OBJDIR)/$(KERN_DIR)/$(EXT2_BDEV_OBJ): $(EXT2_BDEV)
+$(EXT2_BDEV_OBJ_FULL): $(EXT2_BDEV)
        $(V)$(OBJCOPY) -I binary -B $(LD_ARCH) -O $(LD_EMULATION) $^ $@
 
 $(OBJDIR)/$(KERN_DIR)/%.o: $(KERN_DIR)/%.c
@@ -118,7 +120,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) \
-                       $(OBJDIR)/$(KERN_DIR)/$(EXT2_BDEV_OBJ)
+                       $(EXT2_BDEV_OBJ_FULL)
        $(V)$(OBJDUMP) -S $@ > $@.asm
        $(V)$(NM) -n $@ > $@.sym