add a flag "IGNORE_ERRORS", which can be used to ignore build errors in packages
authorFelix Fietkau <nbd@openwrt.org>
Wed, 7 May 2008 16:45:00 +0000 (16:45 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 7 May 2008 16:45:00 +0000 (16:45 +0000)
SVN-Revision: 11059

include/subdir.mk
include/verbose.mk
package/Makefile

index d62df7e..3097ea4 100644 (file)
@@ -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
index 36e5990..fed83d6 100644 (file)
@@ -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
index e618a90..a1f20b0 100644 (file)
@@ -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