diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 73fed05b173d9a987383aa663b3016484494cb6d..696de156cfa98259f0d9754b8fee965f81a137b6 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -54,7 +54,10 @@ ifneq ($(PKG_NAME),toolchain)
 	@( \
 		rm -f $(PKG_INFO_DIR)/$(1).missing; \
 		( \
-			export READELF=$(TARGET_CROSS)readelf XARGS="$(XARGS)"; \
+			export \
+				READELF=$(TARGET_CROSS)readelf \
+				OBJCOPY=$(TARGET_CROSS)objcopy \
+				XARGS="$(XARGS)"; \
 			$(SCRIPT_DIR)/gen-dependencies.sh "$$(IDIR_$(1))"; \
 		) | while read FILE; do \
 			grep -q "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \
diff --git a/rules.mk b/rules.mk
index 2e9e20d919f158ca84cbc4f3f74298563b8e733a..5ed8000e05277a24cae1a544a60d6b2b44f8aeed 100644
--- a/rules.mk
+++ b/rules.mk
@@ -14,7 +14,7 @@ endif
 include $(TOPDIR)/include/debug.mk
 include $(TOPDIR)/include/verbose.mk
 
-TMP_DIR:=$(TOPDIR)/tmp
+export TMP_DIR:=$(TOPDIR)/tmp
 
 GREP_OPTIONS=
 export GREP_OPTIONS