diff --git a/openwrt/toolchain/uClibc/Makefile b/openwrt/toolchain/uClibc/Makefile
index 22c5913457393c0633ee79c2fc830c83541cb1c1..1499573cedcb8c5997c72cea1ea2760328fb84d8 100644
--- a/openwrt/toolchain/uClibc/Makefile
+++ b/openwrt/toolchain/uClibc/Makefile
@@ -1,4 +1,5 @@
 include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/target.mk
 
 PKG_NAME:=uClibc
 PKG_VERSION:=0.9.28
@@ -29,7 +30,11 @@ UCLIBC_TARGET_ARCH:=$(shell echo $(ARCH) | sed -e s'/-.*//' \
 define Build/Prepare
 	$(call Build/Prepare/Default)
 	$(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(PKG_BUILD_DIR)/Rules.mak
-	$(CP) ./files/config.$(ARCH) $(PKG_BUILD_DIR)/.config
+	if [ -e config/$(ARCH).$(BOARD) ]; then \
+		$(CP) config/$(ARCH).$(BOARD) $(PKG_BUILD_DIR)/.config; \
+	else \
+		$(CP) config/$(ARCH) $(PKG_BUILD_DIR)/.config; \
+	fi
 	$(SED) 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_HEADERS_DIR)\",g' \
 		$(PKG_BUILD_DIR)/.config
 ifeq ($(CONFIG_LARGEFILE),y)
diff --git a/openwrt/toolchain/uClibc/files/config.i386 b/openwrt/toolchain/uClibc/config/i386
similarity index 100%
rename from openwrt/toolchain/uClibc/files/config.i386
rename to openwrt/toolchain/uClibc/config/i386
diff --git a/openwrt/toolchain/uClibc/files/config.mips b/openwrt/toolchain/uClibc/config/mips
similarity index 100%
rename from openwrt/toolchain/uClibc/files/config.mips
rename to openwrt/toolchain/uClibc/config/mips
diff --git a/openwrt/toolchain/uClibc/files/config.mipsel b/openwrt/toolchain/uClibc/config/mipsel
similarity index 100%
rename from openwrt/toolchain/uClibc/files/config.mipsel
rename to openwrt/toolchain/uClibc/config/mipsel
diff --git a/openwrt/toolchain/uClibc/files/config.powerpc b/openwrt/toolchain/uClibc/config/powerpc
similarity index 100%
rename from openwrt/toolchain/uClibc/files/config.powerpc
rename to openwrt/toolchain/uClibc/config/powerpc