summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2008-05-07 16:45:00 +0000
committerFelix Fietkau <nbd@openwrt.org>2008-05-07 16:45:00 +0000
commit31a3a503ccf0ff54a3250aeec911f9188204e814 (patch)
tree03dbb3127cff17b1a6c6bfc19fdf982ce0992fa8
parent4a2ab2e0d424225461f78798fd12ddd37a49334e (diff)
downloadmtk-20170518-31a3a503ccf0ff54a3250aeec911f9188204e814.zip
mtk-20170518-31a3a503ccf0ff54a3250aeec911f9188204e814.tar.gz
mtk-20170518-31a3a503ccf0ff54a3250aeec911f9188204e814.tar.bz2
add a flag "IGNORE_ERRORS", which can be used to ignore build errors in packages
SVN-Revision: 11059
-rw-r--r--include/subdir.mk3
-rw-r--r--include/verbose.mk10
-rw-r--r--package/Makefile3
3 files changed, 12 insertions, 4 deletions
diff --git a/include/subdir.mk b/include/subdir.mk
index d62df7e..3097ea4 100644
--- a/include/subdir.mk
+++ b/include/subdir.mk
@@ -28,7 +28,8 @@ define subdir
$(call warn,$(1),d,BD $(1)/$(bd))
$(foreach target,$(SUBTARGETS),
$(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(target): $(if $(QUILT),,$($(1)/$(bd)/$(target)) $(call $(1)//$(target),$(1)/$(bd))))
- +$$(MAKE) -j1 -C $(1)/$(bd) $(target)
+ +$$(MAKE) -j1 -C $(1)/$(bd) $(target) $(if $(findstring $(bd),$($(1)/builddirs-ignore-$(target))), || $(call MESSAGE, ERROR: $(1)/$(bd) failed to build.))
+
$$(if $(call debug,$(1)/$(bd),v),,.SILENT: $(1)/$(bd)/$(target))
# legacy targets
diff --git a/include/verbose.mk b/include/verbose.mk
index 36e5990..fed83d6 100644
--- a/include/verbose.mk
+++ b/include/verbose.mk
@@ -25,11 +25,11 @@ ifeq ($(IS_TTY),1)
_N:=\\033[m
endif
-define MESSAGE
+ifneq ($(KBUILD_VERBOSE),99)
+ define MESSAGE
printf "$(_Y)%s$(_N)\n" "$(1)" >&3
-endef
+ endef
-ifneq ($(KBUILD_VERBOSE),99)
ifeq ($(QUIET),1)
ifneq ($(CURDIR),$(TOPDIR))
_DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR})
@@ -48,4 +48,8 @@ ifneq ($(KBUILD_VERBOSE),99)
endif
.SILENT: $(MAKECMDGOALS)
+else
+ define MESSAGE
+ printf "%s\n" "$(1)"
+ endef
endif
diff --git a/package/Makefile b/package/Makefile
index e618a90..a1f20b0 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -17,6 +17,9 @@ else
$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
$(curdir)/builddirs-install:=. $(sort $(package-y))
endif
+ifneq ($(IGNORE_ERRORS),)
+ $(curdir)/builddirs-ignore-compile:= $(if $(filter m y, $(IGNORE_ERRORS)),$(foreach m,$(IGNORE_ERRORS),$(package-$(m))),$(package-m))
+endif
$(curdir)/install:=$(curdir)/install-cleanup