-# target stuff is last so it can override anything else
-include target/Makefile.in
-
-TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
-TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS))
-TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))
-
-world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) $(TARGETS)
-
-.PHONY: all world clean dirclean distclean source $(TARGETS) \
- $(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
- $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR)
-
-#############################################################
-#
-# staging and target directories do NOT list these as
-# dependancies anywhere else
-#
-#############################################################
-$(DL_DIR):
- @mkdir -p $(DL_DIR)
-
-$(BUILD_DIR):
- @mkdir -p $(BUILD_DIR)
-
-$(TOOL_BUILD_DIR):
- @mkdir -p $(TOOL_BUILD_DIR)
-
-$(STAGING_DIR):
- @mkdir -p $(STAGING_DIR)/lib
- @mkdir -p $(STAGING_DIR)/include
- @mkdir -p $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)
- @ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib
-
-$(TARGET_DIR):
- if [ -f "$(TARGET_SKELETON)" ] ; then \
- zcat $(TARGET_SKELETON) | tar -C $(BUILD_DIR) -xf -; \
- fi;
- if [ -d "$(TARGET_SKEL_DIR)" ] ; then \
- cp -a $(TARGET_SKEL_DIR)/* $(TARGET_DIR)/; \
- fi;
- -find $(TARGET_DIR) -type d -name CVS | xargs rm -rf
- -find $(TARGET_DIR) -type d -name .svn | xargs rm -rf
- -ln -sf /tmp/resolv.conf $(TARGET_DIR)
- -mkdir -p $(TARGET_DIR)/jffs
-
-source: $(TARGETS_SOURCE)
-
-#############################################################
-#
-# Cleanup and misc junk
-#
-#############################################################
-clean:
- rm -rf $(TARGET_DIR) $(IMAGE).*
- $(MAKE) openwrt-image-clean
-
-dirclean: $(TARGETS_DIRCLEAN)
- rm -rf $(TARGET_DIR) $(IMAGE).*
- $(MAKE) openwrt-image-dirclean
-
-distclean: clean
- rm -rf $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR)
- rm .config* .tmpconfig.h
-
-sourceball:
- rm -rf $(BUILD_DIR)
- set -e; \
- cd ..; \
- rm -f buildroot.tar.bz2; \
- tar -cvf buildroot.tar buildroot; \
- bzip2 -9 buildroot.tar; \
-
-
-else # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y)
-
-all: menuconfig
-
-# configuration
-# ---------------------------------------------------------------------------
-
-$(CONFIG)/conf:
- $(MAKE) -C $(CONFIG) conf
- -@if [ ! -f .config ] ; then \
- cp $(CONFIG_DEFCONFIG) .config; \
- fi
-$(CONFIG)/mconf:
- $(MAKE) -C $(CONFIG) ncurses conf mconf
- -@if [ ! -f .config ] ; then \
- cp $(CONFIG_DEFCONFIG) .config; \
+ override OPENWRT_BUILD=1
+ export OPENWRT_BUILD
+ GREP_OPTIONS=
+ export GREP_OPTIONS
+ include $(TOPDIR)/include/debug.mk
+ include $(TOPDIR)/include/depends.mk
+ include $(TOPDIR)/include/toplevel.mk
+else
+ include rules.mk
+ include $(INCLUDE_DIR)/depends.mk
+ include $(INCLUDE_DIR)/subdir.mk
+ include target/Makefile
+ include package/Makefile
+ include tools/Makefile
+ include toolchain/Makefile
+
+$(toolchain/stamp-install): $(tools/stamp-install)
+$(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(BUILD_DIR)/.prepared
+$(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup)
+$(package/stamp-install): $(package/stamp-compile)
+$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install)
+
+printdb:
+ @true
+
+prepare: $(target/stamp-compile)
+
+clean: FORCE
+ rm -rf $(BUILD_DIR) $(STAGING_DIR) $(BIN_DIR) $(BUILD_LOG_DIR)
+
+dirclean: clean
+ rm -rf $(STAGING_DIR_HOST) $(TOOLCHAIN_DIR) $(BUILD_DIR_HOST) $(BUILD_DIR_TOOLCHAIN)
+ rm -rf $(TMP_DIR)
+
+ifndef DUMP_TARGET_DB
+$(BUILD_DIR)/.prepared: Makefile
+ @mkdir -p $$(dirname $@)
+ @touch $@
+
+tmp/.prereq_packages: .config
+ unset ERROR; \
+ for package in $(sort $(prereq-y) $(prereq-m)); do \
+ $(_SINGLE)$(NO_TRACE_MAKE) -s -r -C package/$$package prereq || ERROR=1; \
+ done; \
+ if [ -n "$$ERROR" ]; then \
+ echo "Package prerequisite check failed."; \
+ false; \