- $(SCRIPT_DIR)/gen_busybox_config.pl $(TOPDIR)/.config > $(PKG_BUILD_DIR)/.config
- yes '' | $(MAKE) CC="$(TARGET_CC)" CROSS="$(TARGET_CROSS)" \
- -C $(PKG_BUILD_DIR) oldconfig
+ rm -f $(PKG_BUILD_DIR)/.configured*
+ grep 'CONFIG_BUSYBOX_' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_BUSYBOX_\\(.*\\),\\1\\2,g" > $(PKG_BUILD_DIR)/.config
+ yes '' | $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC="$(TARGET_CC)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ KBUILD_HAVE_NLS=no \
+ ARCH="$(ARCH)" \
+ oldconfig
+endef
+
+ifdef CONFIG_GCC_VERSION_LLVM
+ TARGET_CFLAGS += -fnested-functions
+endif
+
+ifdef CONFIG_GCC_VERSION_4_5_0
+ TARGET_CFLAGS += -fno-tree-pta
+endif
+
+define Build/Compile
+ $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
+ CC="$(TARGET_CC)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ KBUILD_HAVE_NLS=no \
+ EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
+ ARCH="$(ARCH)" \
+ SKIP_STRIP=y \
+ all
+ rm -rf $(PKG_INSTALL_DIR)
+ $(FIND) $(PKG_BUILD_DIR) -lname "*busybox" -exec rm \{\} \;
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC="$(TARGET_CC)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
+ ARCH="$(ARCH)" \
+ CONFIG_PREFIX="$(PKG_INSTALL_DIR)" \
+ install