Fix the top level makefile
authorRonald G. Minnich <rminnich@google.com>
Wed, 27 Nov 2013 17:41:23 +0000 (09:41 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Jan 2014 21:07:51 +0000 (13:07 -0800)
If your .config included more than on kfs path, and any of those
paths did not exist, empty directories were created. Fix that.

Fix the logic up a bit on creating the image such that
you have some idea that a directory in your paths does
not exist.

Signed-off-by: Ronald G. Minnich <rminnich@google.com>
Makefile

index 575d1ee..42f1776 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -416,8 +416,8 @@ endif
 ext2_bdev_obj = $(OBJDIR)/kern/$(shell basename $(ext2-bdev)).o
 endif
 
 ext2_bdev_obj = $(OBJDIR)/kern/$(shell basename $(ext2-bdev)).o
 endif
 
-kern_initramfs_files := $(shell mkdir -p $(kfs-paths); \
-                          find $(kfs-paths))
+kern_initramfs_files := $(shell mkdir -p $(FIRST_KFS_PATH); \
+                          find $(FIRST_KFS_PATH))
 
 # Need to make an empty cpio, then append each kfs-path's contents
 $(kern_cpio) initramfs: $(kern_initramfs_files)
 
 # Need to make an empty cpio, then append each kfs-path's contents
 $(kern_cpio) initramfs: $(kern_initramfs_files)
@@ -426,10 +426,10 @@ $(kern_cpio) initramfs: $(kern_initramfs_files)
         sh $(CONFIG_KFS_CPIO_BIN); \
     fi
        @cat /dev/null | cpio --quiet -oH newc -O $(kern_cpio)
         sh $(CONFIG_KFS_CPIO_BIN); \
     fi
        @cat /dev/null | cpio --quiet -oH newc -O $(kern_cpio)
-       $(Q)for i in $(kfs-paths); do cd $$i; \
+       $(Q)for i in $(kfs-paths); do stat $$i; pushd $$i; \
         echo "    Adding $$i to initramfs..."; \
         find -L . | cpio --quiet -oAH newc -O $(CURDIR)/$(kern_cpio); \
         echo "    Adding $$i to initramfs..."; \
         find -L . | cpio --quiet -oAH newc -O $(CURDIR)/$(kern_cpio); \
-        cd $$OLDPWD; \
+        popd; \
     done;
 
 ld_emulation = $(shell $(OBJDUMP) -i | grep -v BFD | grep ^[a-z] |head -n1)
     done;
 
 ld_emulation = $(shell $(OBJDUMP) -i | grep -v BFD | grep ^[a-z] |head -n1)