imagebuilder: run build prereq checks before building image to set up host commands...
[openwrt/svn-archive/archive.git] / target / imagebuilder / files / Makefile
index 8f25c4a12fef1e0a3682fdd420717a5aaabcee5a..479fa0e8500bdc7adf9a4f33fa9d3c83c3f1f211 100644 (file)
@@ -85,6 +85,21 @@ endef
 
 include $(INCLUDE_DIR)/target.mk
 
+staging_dir/host/.prereq-build: include/prereq-build.mk
+       mkdir -p tmp
+       rm -f tmp/.host.mk
+       @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/include/prereq-build.mk prereq 2>/dev/null || { \
+               echo "Prerequisite check failed. Use FORCE=1 to override."; \
+               false; \
+       }
+  ifneq ($(realpath $(TOPDIR)/include/prepare.mk),)
+       @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/include/prepare.mk prepare 2>/dev/null || { \
+               echo "Preparation failed."; \
+               false; \
+       }
+  endif
+       touch $@
+
 _call_info: FORCE
        echo 'Current Target: "$(BOARD)$(if $(SUBTARGET), ($(BOARDNAME)))"'
        echo 'Default Packages: $(DEFAULT_PACKAGES)'
@@ -96,7 +111,7 @@ BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $(USER_PACKAGES) $($(USER_PROFILE)_PA
 BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
 PACKAGES:=
 
-_call_image:
+_call_image: staging_dir/host/.prereq-build
        echo 'Building images for $(BOARD)$(if $($(USER_PROFILE)_NAME), - $($(USER_PROFILE)_NAME))'
        echo 'Packages: $(BUILD_PACKAGES)'
        echo