+ifneq ($(OPENWRT_BUILD),1)
+ override OPENWRT_BUILD=1
+ export OPENWRT_BUILD
+ include $(TOPDIR)/include/toplevel.mk
+else
+ include rules.mk
+ include $(INCLUDE_DIR)/depends.mk
+ include $(INCLUDE_DIR)/subdir.mk
+ include package/Makefile
+ include tools/Makefile
+ include toolchain/Makefile
+
+clean: FORCE
+ rm -rf build_* bin tmp
+
+dirclean: clean
+ rm -rf staging_dir_* toolchain_build_* tool_build
+
+distclean: dirclean config-clean symlinkclean docs/clean
+ rm -rf dl
+
+target/%: FORCE
+ $(MAKE) -C $(patsubst %/$*,%,$@) $*
+
+# check prerequisites before starting to build
+prereq: tmp/.prereq-target $(package/stamp-prereq) ;
+
+world: .config $(tools/stamp-install) $(toolchain/stamp-install) FORCE
+ $(MAKE) target/compile
+ $(MAKE) package/compile
+ $(MAKE) package/install
+ $(MAKE) target/install
+ $(MAKE) package/index
+
+package/symlinks:
+ $(SCRIPT_DIR)/feeds.sh $(CONFIG_SOURCE_FEEDS) $(CONFIG_SOURCE_FEEDS_REV)
+
+# FIXME: remove after converting target/ to new structure
+tmp/.prereq-target: tmp/.targetinfo .config
+tmp/.prereq-target: include/prereq.mk
+ mkdir -p tmp
+ rm -f tmp/.host.mk
+ @+$(NO_TRACE_MAKE) -s -C target prereq 2>/dev/null || { \
+ echo "Prerequisite check failed. Use FORCE=1 to override."; \
+ false; \
+ }
+ touch $@
+.SILENT: tmp/.prereq-target