summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile35
1 files changed, 28 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index be53622cc1..fbed1297a1 100644
--- a/Makefile
+++ b/Makefile
@@ -6,23 +6,26 @@
# See /LICENSE for more information.
#
-all: world
-
TOPDIR:=${CURDIR}
LC_ALL:=C
LANG:=C
IS_TTY:=${shell tty -s && echo 1 || echo 0}
export TOPDIR LC_ALL LANG IS_TTY
+world:
+
+include $(TOPDIR)/include/debug.mk
+include $(TOPDIR)/include/host.mk
+
ifneq ($(OPENWRT_BUILD),1)
- export OPENWRT_BUILD:=1
+ override OPENWRT_BUILD=1
+ export OPENWRT_BUILD
include $(TOPDIR)/include/toplevel.mk
else
- include $(TOPDIR)/include/host.mk
-
include rules.mk
include $(INCLUDE_DIR)/depends.mk
include $(INCLUDE_DIR)/subdir.mk
+ include package/Makefile
include tools/Makefile
include toolchain/Makefile
@@ -35,14 +38,32 @@ dirclean: clean
distclean: dirclean config-clean symlinkclean docs/clean
rm -rf dl
-package/% target/%: FORCE
+target/%: FORCE
$(MAKE) -C $(patsubst %/$*,%,$@) $*
-world: .config $(tools/stamp) $(toolchain/stamp) FORCE
+# 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
+
endif