+package/%/Makefile: ;
+target/%/Makefile: ;
+
+tmp/.packageinfo: $(wildcard package/*/Makefile include/package*.mk include/kernel.mk) FORCE
+tmp/.targetinfo: $(wildcard target/*/Makefile include/kernel*.mk) FORCE
+tmp/.%info:
+ mkdir -p tmp/info
+ $(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="$*info" SCAN_DIR="$(patsubst target,target/linux,$*)" SCAN_NAME="$*" SCAN_DEPS="$(filter-out FORCE, $^)" SCAN_EXTRA=""
+
+tmpinfo-clean: FORCE
+ -rm -rf tmp/.*info
+
+tmp/.config-%.in: tmp/.%info
+ ./scripts/metadata.pl $*_config < $< > $@ || rm -f $@
+
+.config: ./scripts/config/conf tmp/.config-target.in tmp/.config-package.in
+ if [ \! -f .config ]; then \
+ [ -e $(HOME)/.openwrt/defconfig ] && cp $(HOME)/.openwrt/defconfig .config; \
+ $(NO_TRACE_MAKE) menuconfig; \
+ fi
+ $< -D .config Config.in &> /dev/null
+
+scripts/config/mconf:
+ $(MAKE) -C scripts/config all