+.prereq-build: include/prereq-build.mk
+ @$(NO_TRACE_MAKE) -s -f $(TOPDIR)/include/prereq-build.mk prereq 2>/dev/null || { \
+ echo "Prerequisite check failed. Use FORCE=1 to override."; \
+ rm -rf $(TOPDIR)/tmp; \
+ false; \
+ }
+ @rm -rf $(TOPDIR)/tmp
+ @touch $@
+
+.prereq-packages: include/prereq.mk .pkginfo .config
+ @$(NO_TRACE_MAKE) -s -C package prereq 2>/dev/null || { \
+ echo "Prerequisite check failed. Use FORCE=1 to override."; \
+ false; \
+ }
+ @rm -rf "$(TOPDIR)/tmp"
+ @touch $@
+
+prereq: .prereq-build .prereq-packages FORCE
+
+download: .config FORCE
+ $(MAKE) tools/download
+ $(MAKE) toolchain/download
+ $(MAKE) package/download
+ $(MAKE) target/download
+
+world: .config FORCE
+ $(MAKE) tools/install
+ $(MAKE) toolchain/install
+ $(MAKE) target/compile
+ $(MAKE) package/compile
+ $(MAKE) package/install
+ $(MAKE) target/install
+ $(MAKE) package/index
+
+clean: FORCE
+ rm -rf build_* bin
+
+dirclean: clean
+ rm -rf staging_dir_* toolchain_build_* tool_build
+
+distclean: dirclean config-clean
+ rm -rf dl .*config* .pkg* .prereq ccache_*
+
+.SILENT: clean dirclean distclean config-clean download world
+FORCE: ;