diff --git a/ChangeLog b/ChangeLog
index 584e73d0c23e3b00f94da93a71d2ca82a5505ec3..b6b225c65ce5ad71298a4cf0221edf4daad9c0e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4382,3 +4382,10 @@
 	  by the EXC_RETURN.  Silly me (2013-03-18).
 	* arch/arm/src/lpc17_adc.c:  Add a work-around for an ADC errata.  From
 	  Chris Taglia (2013-93-19).
+	* arch/arm/src/armv7-m/up_hardfault.c:  If the PRIMASK is used to disable
+	  interrupts, then additional logic is required in the hard fault handler
+	  (2013-93-19).
+	* libc/ and mm/: Directories where the same sources files are used to
+	  build different objects in the first and second pass kernel builds need
+	  to keep those objects in separate directories so that they are not
+	  constantly rebuilt (2013-93-19).
diff --git a/arch/arm/src/lpc17xx/Kconfig b/arch/arm/src/lpc17xx/Kconfig
index 0b482540f2a65406a89cde8eff591ed133406a91..77093086a2e36d8114833e1b0eb6e4314c21d558 100644
--- a/arch/arm/src/lpc17xx/Kconfig
+++ b/arch/arm/src/lpc17xx/Kconfig
@@ -395,7 +395,7 @@ config ADC0_SPS
 config ADC_CHANLIST
 	bool "Use ADC channel list"
 	default n
-	---help--
+	---help---
 		The errata that states: "A/D Global Data register should not be used
 		with burst mode or hardware triggering".  If this option is selected,
 		then the ADC driver will grab from the individual channel registers
@@ -415,7 +415,7 @@ config ADC_NCHANNELS
 	int "ADC0 number of channels"
 	depends on LPC17_ADC
 	default 0  
-	---help--
+	---help---
 		If CONFIG_ADC_CHANLIST is enabled, then the platform specific code
 		must do two things:  (1) define ADC_NCHANNELS in the configuration
 		file and (2) provide an array g_adc_chanlist[] with the channel
diff --git a/arch/arm/src/lpc17xx/lpc17_adc.c b/arch/arm/src/lpc17xx/lpc17_adc.c
index bcc42f1535eb04926f93042543d09203cf7e8db9..ddf5b362f2ab121b46a50173c5a8b0a797a2831c 100644
--- a/arch/arm/src/lpc17xx/lpc17_adc.c
+++ b/arch/arm/src/lpc17xx/lpc17_adc.c
@@ -329,12 +329,12 @@ static int adc_interrupt(int irq, void *context)
   int i;
 
   regval = getreg32(LPC17_ADC_GDR);
-  for(i = 0; i < CONFIG_ADC_NCHANNELS; i++
+  for (i = 0; i < CONFIG_ADC_NCHANNELS; i++)
     {
-      ch      = g_adc_chanlist[i];
+      ch     = g_adc_chanlist[i];
       regval = getreg32(LPC17_ADC_DR(ch));
 
-      if(regval&ADC_DR_DONE)
+      if (regval&ADC_DR_DONE)
         {
           priv->count[ch]++;
           priv->buf[ch] += regval & 0xfff0;
diff --git a/arch/arm/src/lpc17xx/lpc17_adc.h b/arch/arm/src/lpc17xx/lpc17_adc.h
index ecca04446d6cebe06bf65f35e10d7bcc763f7ba4..a1bd9fe4d8672935c5be8347f1da62978ddf5d96 100644
--- a/arch/arm/src/lpc17xx/lpc17_adc.h
+++ b/arch/arm/src/lpc17xx/lpc17_adc.h
@@ -94,7 +94,7 @@ extern "C"
 
 #ifdef CONFIG_ADC_CHANLIST 
 EXTERN uint8_t g_adc_chanlist[CONFIG_ADC_NCHANNELS];
-#endiff
+#endif
 
 /****************************************************************************
  * Public Functions
@@ -119,6 +119,5 @@ FAR struct adc_dev_s *lpc17_adcinitialize(void);
 #ifdef __cplusplus
 }
 #endif
-#endif /* __ASSEMBLY__ */
 
 #endif /* __ARCH_ARM_SRC_LPC17XX_LPC17_ADC_H */
diff --git a/libc/Makefile b/libc/Makefile
index f565abb9b9071e2f5a1b89e53ba870e590e462dd..8526f1b0b75b370a1a07509b0543c334df818262 100644
--- a/libc/Makefile
+++ b/libc/Makefile
@@ -62,74 +62,60 @@ include queue/Make.defs
 include wqueue/Make.defs
 include misc/Make.defs
 
-AOBJS = $(ASRCS:.S=$(OBJEXT))
-COBJS = $(CSRCS:.c=$(OBJEXT))
+BINDIR ?= bin
+
+AOBJS = $(patsubst %.S, $(BINDIR)$(DELIM)%$(OBJEXT), $(ASRCS))
+COBJS = $(patsubst %.c, $(BINDIR)$(DELIM)%$(OBJEXT), $(CSRCS))
 
 SRCS = $(ASRCS) $(CSRCS)
 OBJS = $(AOBJS) $(COBJS)
 
 UBIN = libuc$(LIBEXT)
 KBIN = libkc$(LIBEXT)
-BIN  = libc$(LIBEXT)
+BIN ?= libc$(LIBEXT)
 
 all: $(BIN)
-.PHONY: kclean uclean clean distclean
+.PHONY: clean distclean
 
-$(AOBJS): %$(OBJEXT): %.S
+$(AOBJS): $(BINDIR)$(DELIM)%$(OBJEXT): %.S
 	$(call ASSEMBLE, $<, $@)
 
-$(COBJS): %$(OBJEXT): %.c
+$(COBJS): $(BINDIR)$(DELIM)%$(OBJEXT): %.c
 	$(call COMPILE, $<, $@)
 
+# C library for the flat build
+
 $(BIN): $(OBJS)
 	$(call ARCHIVE, $@, $(OBJS))
 
+# C library for the user phase of the two-pass kernel build
+
 ifneq ($(BIN),$(UBIN))
-$(UBIN): kclean
-	$(Q) $(MAKE) $(UBIN) BIN=$(UBIN) TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
-	$(Q) touch .userlib
+$(UBIN):
+	$(Q) $(MAKE) $(UBIN) BIN=$(UBIN) BINDIR=ubin TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
 endif
 
+# C library for the kernel phase of the two-pass kernel build
+
 ifneq ($(BIN),$(KBIN))
-$(KBIN): uclean
-	$(Q) $(MAKE) $(KBIN) BIN=$(KBIN) TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
-	$(Q) touch .kernlib
+$(KBIN):
+	$(Q) $(MAKE) $(KBIN) BIN=$(KBIN) BINDIR=kbin TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
 endif
 
+# Dependencies
+
 .depend: Makefile $(SRCS)
 	$(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep
 	$(Q) touch $@
 
-depend: .depend
-
-# Clean Targets:
-# Clean user-mode temporary files (retaining the UBIN binary)
-
-uclean:
-ifneq ($(OBJEXT),)
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
-	$(Q) if exist .userlib ]; then del *$(OBJEXT)
-else
-	$(Q) ( if [ -f .userlib ]; then rm -f *$(OBJEXT); fi )
-endif
-endif
-	$(call DELFILE, .userlib)
-
-# Clean kernel-mode temporary files (retaining the KBIN binary)
-
-kclean:
-ifneq ($(OBJEXT),)
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
-	$(Q) if exist .kernlib ]; then del *$(OBJEXT)
-else
-	$(Q) ( if [ -f .kernlib ]; then rm -f *$(OBJEXT); fi )
-endif
-endif
-	$(call DELFILE, .kernlib)
+depend: $(BINDIR)$(DELIM).depend
 
-# Really clean everything
+# Clean most derived files, retaining the configuration
 
-clean: uclean kclean
+clean:
+	$(Q) $(MAKE) -C bin  clean TOPDIR=$(TOPDIR)
+	$(Q) $(MAKE) -C ubin clean TOPDIR=$(TOPDIR)
+	$(Q) $(MAKE) -C kbin clean TOPDIR=$(TOPDIR)
 	$(call DELFILE, $(BIN))
 	$(call DELFILE, $(UBIN))
 	$(call DELFILE, $(KBIN))
@@ -138,6 +124,9 @@ clean: uclean kclean
 # Deep clean -- removes all traces of the configuration
 
 distclean: clean
+	$(Q) $(MAKE) -C bin  distclean TOPDIR=$(TOPDIR)
+	$(Q) $(MAKE) -C ubin distclean TOPDIR=$(TOPDIR)
+	$(Q) $(MAKE) -C kbin distclean TOPDIR=$(TOPDIR)
 	$(call DELFILE, Make.dep)
 	$(call DELFILE, .depend)
 
diff --git a/libc/bin/Makefile b/libc/bin/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..3f8b21f1242589542838da8c4eddf9c7d1e2db04
--- /dev/null
+++ b/libc/bin/Makefile
@@ -0,0 +1,48 @@
+############################################################################
+# libc/bin/Makefile
+#
+#   Copyright (C) 2013 Gregory Nutt. All rights reserved.
+#   Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+#    used to endorse or promote products derived from this software
+#    without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###########################################################################
+
+-include $(TOPDIR)/Make.defs
+
+all:
+.PHONY: clean distclean
+
+# Clean Targets:
+
+clean:
+	$(call CLEAN)
+
+# Deep clean -- removes all traces of the configuration
+
+distclean: clean
diff --git a/libc/kbin/Makefile b/libc/kbin/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..3ab92a30ab950e3d9304b6961883958859e05a2e
--- /dev/null
+++ b/libc/kbin/Makefile
@@ -0,0 +1,48 @@
+############################################################################
+# libc/kbin/Makefile
+#
+#   Copyright (C) 2013 Gregory Nutt. All rights reserved.
+#   Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+#    used to endorse or promote products derived from this software
+#    without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###########################################################################
+
+-include $(TOPDIR)/Make.defs
+
+all:
+.PHONY: clean distclean
+
+# Clean Targets:
+
+clean:
+	$(call CLEAN)
+
+# Deep clean -- removes all traces of the configuration
+
+distclean: clean
diff --git a/libc/ubin/Makefile b/libc/ubin/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..aca00c703046c8c4b267aedd82f7d58709a1067f
--- /dev/null
+++ b/libc/ubin/Makefile
@@ -0,0 +1,48 @@
+############################################################################
+# libc/ubin/Makefile
+#
+#   Copyright (C) 2013 Gregory Nutt. All rights reserved.
+#   Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+#    used to endorse or promote products derived from this software
+#    without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###########################################################################
+
+-include $(TOPDIR)/Make.defs
+
+all:
+.PHONY: clean distclean
+
+# Clean Targets:
+
+clean:
+	$(call CLEAN)
+
+# Deep clean -- removes all traces of the configuration
+
+distclean: clean
diff --git a/mm/Makefile b/mm/Makefile
index 3db1634157f32c8253b91689397139c35638d9a3..1826643385b33037c98c7a3be5a21db8fab08d84 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -57,78 +57,71 @@ ifeq ($(CONFIG_GRAN),y)
 CSRCS += mm_graninit.c mm_granalloc.c mm_granfree.c mm_grancritical.c
 endif
 
-AOBJS = $(ASRCS:.S=$(OBJEXT))
-COBJS = $(CSRCS:.c=$(OBJEXT))
+BINDIR ?= bin
+
+AOBJS = $(patsubst %.S, $(BINDIR)$(DELIM)%$(OBJEXT), $(ASRCS))
+COBJS = $(patsubst %.c, $(BINDIR)$(DELIM)%$(OBJEXT), $(CSRCS))
 
 SRCS = $(ASRCS) $(CSRCS)
 OBJS = $(AOBJS) $(COBJS)
 
 UBIN = libumm$(LIBEXT)
 KBIN = libkmm$(LIBEXT)
-BIN = libmm$(LIBEXT)
+BIN ?= libmm$(LIBEXT)
 
-all:	$(BIN)
-.PHONY: kclean uclean clean distclean 
+all: $(BIN)
+.PHONY: clean distclean 
 
-$(AOBJS): %$(OBJEXT): %.S
+$(AOBJS): $(BINDIR)$(DELIM)%$(OBJEXT): %.S
 	$(call ASSEMBLE, $<, $@)
 
-$(COBJS): %$(OBJEXT): %.c
+$(COBJS): $(BINDIR)$(DELIM)%$(OBJEXT): %.c
 	$(call COMPILE, $<, $@)
 
+# Memory manager for the flat build
+
 $(BIN):	$(OBJS)
 	$(call ARCHIVE, $@, $(OBJS))
 
+# Memory manager for the user phase of the two-pass kernel build
+
 ifneq ($(BIN),$(UBIN))
-$(UBIN): kclean
-	$(Q) $(MAKE) $(UBIN) BIN=$(UBIN) TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
-	$(Q) touch .userlib
+$(UBIN):
+	$(Q) $(MAKE) $(UBIN) BIN=$(UBIN) BINDIR=ubin TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
 endif
 
+# Memory manager for the kernel phase of the two-pass kernel build
+
 ifneq ($(BIN),$(KBIN))
-$(KBIN): uclean
-	$(Q) $(MAKE) $(KBIN) BIN=$(KBIN) TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
-	$(Q) touch .kernlib
+$(KBIN):
+	$(Q) $(MAKE) $(KBIN) BIN=$(KBIN) BINDIR=kbin TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
 endif
 
+# Dependencies
+
 .depend: Makefile $(SRCS)
 	$(Q) $(MKDEP) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep
 	$(Q) touch $@
 
 depend: .depend
 
-# Clean Targets:
-# Clean user-mode temporary files (retaining the UBIN binary)
-
-uclean:
-ifneq ($(OBJEXT),)
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
-	$(Q) if exist .userlib ]; then del *$(OBJEXT)
-else
-	$(Q) ( if [ -f .userlib ]; then rm -f *$(OBJEXT); fi )
-endif
-endif
-	$(call DELFILE, .userlib)
-
-# Clean kernel-mode temporary files (retaining the KBIN binary)
-
-kclean:
-ifneq ($(OBJEXT),)
-ifeq ($(CONFIG_WINDOWS_NATIVE),y)
-	$(Q) if exist .kernlib ]; then del *$(OBJEXT)
-else
-	$(Q) ( if [ -f .kernlib ]; then rm -f *$(OBJEXT); fi )
-endif
-endif
-	$(call DELFILE, .kernlib)
+# Clean most derived files, retaining the configuration
 
 clean:
+	$(Q) $(MAKE) -C bin  clean TOPDIR=$(TOPDIR)
+	$(Q) $(MAKE) -C ubin clean TOPDIR=$(TOPDIR)
+	$(Q) $(MAKE) -C kbin clean TOPDIR=$(TOPDIR)
 	$(call DELFILE, $(BIN))
 	$(call DELFILE, $(UBIN))
 	$(call DELFILE, $(KBIN))
 	$(call CLEAN)
 
+# Deep clean -- removes all traces of the configuration
+
 distclean: clean
+	$(Q) $(MAKE) -C bin  distclean TOPDIR=$(TOPDIR)
+	$(Q) $(MAKE) -C ubin distclean TOPDIR=$(TOPDIR)
+	$(Q) $(MAKE) -C kbin distclean TOPDIR=$(TOPDIR)
 	$(call DELFILE, Make.dep)
 	$(call DELFILE, .depend)
 
diff --git a/mm/bin/Makefile b/mm/bin/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..072e60ceb4275b1447d71b09efb8fbaa6f865b28
--- /dev/null
+++ b/mm/bin/Makefile
@@ -0,0 +1,48 @@
+############################################################################
+# mm/bin/Makefile
+#
+#   Copyright (C) 2013 Gregory Nutt. All rights reserved.
+#   Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+#    used to endorse or promote products derived from this software
+#    without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###########################################################################
+
+-include $(TOPDIR)/Make.defs
+
+all:
+.PHONY: clean distclean
+
+# Clean Targets:
+
+clean:
+	$(call CLEAN)
+
+# Deep clean -- removes all traces of the configuration
+
+distclean: clean
diff --git a/mm/kbin/Makefile b/mm/kbin/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..48c78d76bbe19762075c88bce22d17b7ec953ea5
--- /dev/null
+++ b/mm/kbin/Makefile
@@ -0,0 +1,48 @@
+############################################################################
+# mm/kbin/Makefile
+#
+#   Copyright (C) 2013 Gregory Nutt. All rights reserved.
+#   Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+#    used to endorse or promote products derived from this software
+#    without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###########################################################################
+
+-include $(TOPDIR)/Make.defs
+
+all:
+.PHONY: clean distclean
+
+# Clean Targets:
+
+clean:
+	$(call CLEAN)
+
+# Deep clean -- removes all traces of the configuration
+
+distclean: clean
diff --git a/mm/ubin/Makefile b/mm/ubin/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..af29b32a4410e1f12dfd21907f52b2f6d9af3f0d
--- /dev/null
+++ b/mm/ubin/Makefile
@@ -0,0 +1,48 @@
+############################################################################
+# mm/ubin/Makefile
+#
+#   Copyright (C) 2013 Gregory Nutt. All rights reserved.
+#   Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+#    used to endorse or promote products derived from this software
+#    without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###########################################################################
+
+-include $(TOPDIR)/Make.defs
+
+all:
+.PHONY: clean distclean
+
+# Clean Targets:
+
+clean:
+	$(call CLEAN)
+
+# Deep clean -- removes all traces of the configuration
+
+distclean: clean
diff --git a/syscall/Makefile b/syscall/Makefile
index fe6df054f6ace8d737625e14672e460953a04712..20a83d0b0c6322391cae708f27eb61e81fdb9a5f 100644
--- a/syscall/Makefile
+++ b/syscall/Makefile
@@ -57,7 +57,7 @@ COBJS = $(CSRCS:.c=$(OBJEXT))
 SRCS = $(ASRCS) $(CSRCS)
 OBJS = $(AOBJS) $(COBJS)
 
-ROOTDEPPATH	= --dep-path .
+ROOTDEPPATH = --dep-path .
 PROXYDEPPATH = --dep-path proxies
 STUBDEPPATH = --dep-path stubs
 VPATH = proxies:stubs