export LD_LIBRARY_PATH:=$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(STAGING_DIR_HOST)/lib
export DYLD_LIBRARY_PATH:=$(if $(DYLD_LIBRARY_PATH),$(DYLD_LIBRARY_PATH):)$(STAGING_DIR_HOST)/lib
+# prevent perforce from messing with the patch utility
+unexport P4PORT P4USER P4CONFIG P4CLIENT
+
# make sure that a predefined CFLAGS variable does not disturb packages
export CFLAGS=
./scripts/metadata.pl package_mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; }
touch $(TOPDIR)/tmp/.build
-.config: ./scripts/config/conf prepare-tmpinfo $(if $(CONFIG_HAVE_DOT_CONFIG),,FORCE)
+.config: ./scripts/config/conf $(if $(CONFIG_HAVE_DOT_CONFIG),,prepare-tmpinfo)
@+if [ \! -e .config ] || ! grep CONFIG_HAVE_DOT_CONFIG .config >/dev/null; then \
[ -e $(HOME)/.openwrt/defconfig ] && cp $(HOME)/.openwrt/defconfig .config; \
$(_SINGLE)$(NO_TRACE_MAKE) menuconfig $(PREP_MK); \
fi
$< Config.in
-kernel_oldconfig: .config FORCE
+prepare_kernel_conf: .config FORCE
+
+ifeq ($(wildcard staging_dir/host/bin/sed),)
+ prepare_kernel_conf:
+ @+$(SUBMAKE) -r tools/sed/install
+else
+ prepare_kernel_conf: ;
+endif
+
+kernel_oldconfig: prepare_kernel_conf
$(_SINGLE)$(NO_TRACE_MAKE) -C target/linux oldconfig
-kernel_menuconfig: .config FORCE
+kernel_menuconfig: prepare_kernel_conf
$(_SINGLE)$(NO_TRACE_MAKE) -C target/linux menuconfig
tmp/.prereq-build: include/prereq-build.mk
clean dirclean: .config
@+$(SUBMAKE) -r $@
-prereq:: .config
+prereq:: prepare-tmpinfo .config
@+$(MAKE) -r -s tmp/.prereq-build $(PREP_MK)
@+$(NO_TRACE_MAKE) -r -s $@