ipq807x: mark MDT loader fix as backport
[openwrt/staging/jow.git] / include / prereq.mk
index 74c3914d060da3566caccb34f3aa7682050ed5ba..546f36b8e3e8a54628870bf2c90602580b9718c0 100644 (file)
@@ -28,9 +28,9 @@ define Require
 
     prereq-$(1): $(if $(PREREQ_PREV),prereq-$(PREREQ_PREV)) FORCE
                printf "Checking '$(1)'... "
-               if $(NO_TRACE_MAKE) -f $(firstword $(MAKEFILE_LIST)) check-$(1) >/dev/null 2>/dev/null; then \
+               if $(NO_TRACE_MAKE) -f $(firstword $(MAKEFILE_LIST)) check-$(1) PATH="$(ORIG_PATH)" >/dev/null 2>/dev/null; then \
                        echo 'ok.'; \
-               elif $(NO_TRACE_MAKE) -f $(firstword $(MAKEFILE_LIST)) check-$(1) >/dev/null 2>/dev/null; then \
+               elif $(NO_TRACE_MAKE) -f $(firstword $(MAKEFILE_LIST)) check-$(1) PATH="$(ORIG_PATH)" >/dev/null 2>/dev/null; then \
                        echo 'updated.'; \
                else \
                        echo 'failed.'; \
@@ -104,16 +104,24 @@ define SetupHostCommand
                   $(call QuoteHostCommand,$(9)) $(call QuoteHostCommand,$(10)) \
                   $(call QuoteHostCommand,$(11)) $(call QuoteHostCommand,$(12)); do \
                if [ -n "$$$$$$$$cmd" ]; then \
-                       bin="$$$$$$$$(PATH="$(subst $(space),:,$(filter-out $(STAGING_DIR_HOST)/%,$(subst :,$(space),$(PATH))))" \
-                               command -v "$$$$$$$${cmd%% *}")"; \
+                       bin="$$$$$$$$(command -v "$$$$$$$${cmd%% *}")"; \
                        if [ -x "$$$$$$$$bin" ] && eval "$$$$$$$$cmd" >/dev/null 2>/dev/null; then \
                                case "$$$$$$$$(ls -dl -- $(STAGING_DIR_HOST)/bin/$(strip $(1)))" in \
                                        *" -> $$$$$$$$bin"*) \
                                                [ -x "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0 \
                                                ;; \
+                                       "-"*) \
+                                               find "$(STAGING_DIR_HOST)/stamp" | grep $(strip $(1)) && \
+                                               [ -x "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0 \
+                                               ;; \
+                                       *" -> /"*) \
+                                               ;; \
+                                       *" -> "*) \
+                                               [ -x "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0 \
+                                               ;; \
                                esac; \
                                ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \
-                               exit 0; \
+                               exit 1; \
                        fi; \
                fi; \
        done; \