diff -ur busybox-1.15.3/debian/rules busybox_patched/debian/rules --- busybox-1.15.3/debian/rules 2010-08-19 14:09:06.000000000 +0000 +++ busybox_patched/debian/rules 2010-08-24 13:15:59.164320767 +0000 @@ -3,7 +3,9 @@ SHELL := sh -e DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH) -SOURCE := $(shell dpkg-parsechangelog | sed -ne 's,^Source: *\(.*\)$$,\1,p') +# To detect cross building +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)SOURCE := $(shell dpkg-parsechangelog | sed -ne 's,^Source: *\(.*\)$$,\1,p') VERSION_DEBIAN := $(shell dpkg-parsechangelog | sed -ne 's,^Version: *\(.*\)$$,\1,p') VERSION := $(shell echo "$(VERSION_DEBIAN)" | sed -e 's,^[^:]*:,,' -e 's,-[^-]*$$,,') @@ -20,6 +22,7 @@ setup: $(STAMPS_DIR)/setup_deb $(STAMPS_DIR)/setup_static $(STAMPS_DIR)/setup_udeb $(STAMPS_DIR)/setup_initramfs +# Set the cross compiler prefix for cross compiles $(STAMPS_DIR)/setup_%: SOURCE_FILES = $(filter-out debian, $(wildcard * .[^.]*)) $(STAMPS_DIR)/setup_%: DIR=$(BUILD_DIR)/build_$* $(STAMPS_DIR)/setup_%: $(STAMPS_DIR)/patch @@ -27,6 +30,11 @@ rm -rf '$(DIR)' mkdir -p '$(DIR)' cp -a $(SOURCE_FILES) '$(DIR)' +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + cp debian/config/$* debian/config/$*.orig + nawk '/CONFIG_CROSS_COMPILER_PREFIX=/ {gsub("\"\"", "\"$(DEB_HOST_GNU_TYPE)-\"") ;print $0; next};{print $0}' debian/config/$* > afile + mv afile debian/config/$* +endif cp debian/config/$* '$(DIR)'/.config $(MAKE) -C '$(DIR)' oldconfig touch $@ @@ -50,8 +58,17 @@ maintainerclean: rm -rf $(filter-out .svn debian, $(wildcard * .[^.]*)) +# Clean away any cross build configurations clean: dh_testdir +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + @-files=`ls debian/config/*.orig` ;\ + for f in $$files ;\ + do \ + name=$${f%.*} ;\ + mv $$f $$name ;\ + done ; +endif rm -rf $(BUILD_DIR) $(STAMPS_DIR) dh_clean