add a flag "IGNORE_ERRORS", which can be used to ignore build errors in packages

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11059 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2008-05-07 16:45:00 +00:00
parent b25f25f063
commit 9f1c5d418a
3 changed files with 13 additions and 5 deletions

View File

@ -28,7 +28,8 @@ define subdir
$(call warn,$(1),d,BD $(1)/$(bd)) $(call warn,$(1),d,BD $(1)/$(bd))
$(foreach target,$(SUBTARGETS), $(foreach target,$(SUBTARGETS),
$(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(target): $(if $(QUILT),,$($(1)/$(bd)/$(target)) $(call $(1)//$(target),$(1)/$(bd)))) $(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)) $$(if $(call debug,$(1)/$(bd),v),,.SILENT: $(1)/$(bd)/$(target))
# legacy targets # legacy targets

View File

@ -25,11 +25,11 @@ ifeq ($(IS_TTY),1)
_N:=\\033[m _N:=\\033[m
endif endif
ifneq ($(KBUILD_VERBOSE),99)
define MESSAGE define MESSAGE
printf "$(_Y)%s$(_N)\n" "$(1)" >&3 printf "$(_Y)%s$(_N)\n" "$(1)" >&3
endef endef
ifneq ($(KBUILD_VERBOSE),99)
ifeq ($(QUIET),1) ifeq ($(QUIET),1)
ifneq ($(CURDIR),$(TOPDIR)) ifneq ($(CURDIR),$(TOPDIR))
_DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) _DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR})
@ -48,4 +48,8 @@ ifneq ($(KBUILD_VERBOSE),99)
endif endif
.SILENT: $(MAKECMDGOALS) .SILENT: $(MAKECMDGOALS)
else
define MESSAGE
printf "%s\n" "$(1)"
endef
endif endif

View File

@ -17,6 +17,9 @@ else
$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m)) $(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
$(curdir)/builddirs-install:=. $(sort $(package-y)) $(curdir)/builddirs-install:=. $(sort $(package-y))
endif 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 $(curdir)/install:=$(curdir)/install-cleanup