Browse Source

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

SVN-Revision: 11059
Felix Fietkau 17 years ago
parent
commit
31a3a503cc
3 changed files with 12 additions and 4 deletions
  1. 2 1
      include/subdir.mk
  2. 7 3
      include/verbose.mk
  3. 3 0
      package/Makefile

+ 2 - 1
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

+ 7 - 3
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

+ 3 - 0
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