- $(CP) $(STAGING_DIR) $(INCLUDE_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(SDK_BUILD_DIR)/
- $(CP) $(TOPDIR)/rules.mk $(TOPDIR)/.config $(SDK_BUILD_DIR)/
- $(CP) $(TOPDIR)/package/Makefile $(SDK_BUILD_DIR)/package/
- $(CP) ./files/Makefile $(SDK_BUILD_DIR)/
- $(CP) ./files/README.SDK $(SDK_BUILD_DIR)/
- $(CP) ./files/package/rules.mk $(SDK_BUILD_DIR)/package/
- echo OPENWRTVERSION:=$(OPENWRTVERSION) > $(SDK_BUILD_DIR)/.version.mk
- find $(SDK_BUILD_DIR) -name .svn | xargs rm -rf
- find $(SDK_BUILD_DIR) -name CVS | xargs rm -rf
+ $(CP) -L $(INCLUDE_DIR) $(SCRIPT_DIR) $(SDK_BUILD_DIR)/
+ $(TAR) -cf - -C $(TOPDIR) \
+ `cd $(TOPDIR); find $(KDIR_BASE) -name \*.ko` \
+ `cd $(TOPDIR); find $(KDIR_BASE)/firmware/ -newer $(KDIR_BASE)/firmware/Makefile \
+ -type f -name '*.bin' -or -name '*.cis' -or -name '*.csp' -or -name '*.dsp' -or -name '*.fw'` \
+ $(foreach exclude,$(EXCLUDE_DIRS),--exclude="$(exclude)") \
+ $(SDK_DIRS) $(KERNEL_FILES) | \
+ $(TAR) -xf - -C $(SDK_BUILD_DIR)
+
+ (cd $(SDK_BUILD_DIR); find $(STAGING_SUBDIR_HOST)/bin $(STAGING_SUBDIR_HOST)/usr/bin \
+ $(STAGING_SUBDIR_TOOLCHAIN)/bin $(STAGING_SUBDIR_TOOLCHAIN)/*/bin $(STAGING_SUBDIR_TOOLCHAIN)/libexec \
+ -type f | $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST))
+
+ @-( \
+ find \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)/bin \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)/usr/bin \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_TOOLCHAIN)/bin \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_TOOLCHAIN)/*/bin \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_TOOLCHAIN)/libexec \
+ -type f; \
+ find \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)/lib \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)/usr/lib \
+ -type f -name \*.so\*; \
+ ) | xargs strip 2>/dev/null >/dev/null
+
+ mkdir -p $(SDK_BUILD_DIR)/target/linux
+ $(CP) $(GENERIC_PLATFORM_DIR) $(PLATFORM_DIR) $(SDK_BUILD_DIR)/target/linux/
+ rm -rf \
+ $(SDK_BUILD_DIR)/target/linux/*/files* \
+ $(SDK_BUILD_DIR)/target/linux/*/patches*
+ ./convert-config.pl $(TOPDIR)/.config > $(SDK_BUILD_DIR)/Config-build.in
+ $(CP) -L \
+ $(TOPDIR)/LICENSE \
+ $(TOPDIR)/rules.mk \
+ ./files/Config.in \
+ ./files/Makefile \
+ ./files/include/prepare.mk \
+ ./files/README.SDK \
+ $(SDK_BUILD_DIR)/
+ $(CP) \
+ $(TOPDIR)/package/Makefile \
+ $(TOPDIR)/package/libs/toolchain \
+ $(TOPDIR)/package/kernel/linux \
+ $(SDK_BUILD_DIR)/package/
+
+ -rm -rf \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_HOST)/ccache \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_TARGET)/ccache \
+ $(SDK_BUILD_DIR)/$(STAGING_SUBDIR_TOOLCHAIN)/ccache
+
+ -rm -f $(SDK_BUILD_DIR)/feeds.conf.default
+ $(if $(BASE_FEED),echo "$(BASE_FEED)" > $(SDK_BUILD_DIR)/feeds.conf.default)
+ if [ -f $(TOPDIR)/feeds.conf ]; then \
+ cat $(TOPDIR)/feeds.conf >> $(SDK_BUILD_DIR)/feeds.conf.default; \
+ else \
+ cat $(TOPDIR)/feeds.conf.default >> $(SDK_BUILD_DIR)/feeds.conf.default; \
+ fi
+ $(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(SDK_BUILD_DIR)/include/version.mk
+ $(SED) 's,^# SOURCE_DATE_EPOCH:=.*,SOURCE_DATE_EPOCH:=$(SOURCE_DATE_EPOCH),g' $(SDK_BUILD_DIR)/include/version.mk
+ $(SED) '/LINUX_VERMAGIC:=/ { s,unknown,$(LINUX_VERMAGIC),g }' $(SDK_BUILD_DIR)/include/kernel.mk
+ find $(SDK_BUILD_DIR) -name .git | $(XARGS) rm -rf
+ find $(SDK_BUILD_DIR) -name .svn | $(XARGS) rm -rf
+ find $(SDK_BUILD_DIR) -name CVS | $(XARGS) rm -rf
+ -make -C $(SDK_BUILD_DIR)/scripts/config clean