add a flag "IGNORE_ERRORS", which can be used to ignore build errors in packages
[openwrt.git] / package / Makefile
index 38b650c..a1f20b0 100644 (file)
@@ -10,9 +10,16 @@ curdir:=package
 
 -include $(TMP_DIR)/.packagedeps
 $(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m))
-$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
-$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
-$(curdir)/builddirs-install:=. $(sort $(package-y))
+ifeq ($(SDK),1)
+  $(curdir)/builddirs-install:=.
+else
+  $(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
+  $(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
 
@@ -20,6 +27,7 @@ $(curdir)/cleanup: $(TMP_DIR)/.build
        rm -rf $(TARGET_DIR)
 
 $(curdir)/rootfs-prepare: $(TMP_DIR)/.build
+       @-$(MAKE) package/preconfig
        @if [ -d $(TOPDIR)/files ]; then \
                $(CP) $(TOPDIR)/files/. $(TARGET_DIR); \
        fi
@@ -34,21 +42,17 @@ $(curdir)/rootfs-prepare: $(TMP_DIR)/.build
        @-find $(TARGET_DIR) -name CVS   | $(XARGS) rm -rf
        @-find $(TARGET_DIR) -name .svn  | $(XARGS) rm -rf
        @-find $(TARGET_DIR) -name '.#*' | $(XARGS) rm -f
+       $(if $(CONFIG_CLEAN_IPKG),rm -rf $(TARGET_DIR)/usr/lib/ipkg)
 
 $(curdir)/index: FORCE
        @(cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages)
 
 $(curdir)/flags-install:= -j1
 
-$(eval $(call stampfile,$(curdir),package,prereq))
-$(eval $(call stampfile,$(curdir),package,cleanup))
-$(eval $(call stampfile,$(curdir),package,compile))
-$(eval $(call stampfile,$(curdir),package,install))
-$(eval $(call stampfile,$(curdir),package,rootfs-prepare))
-
-$($(curdir)/stamp-cleanup): $(TMP_DIR)/.build
-$($(curdir)/stamp-compile): $($(curdir)/stamp-cleanup) $(TMP_DIR)/.build
-$($(curdir)/stamp-install): $($(curdir)/stamp-compile) $(TMP_DIR)/.build
-$($(curdir)/stamp-rootfs-prepare): $($(curdir)/stamp-install) $(TMP_DIR)/.build
+$(eval $(call stampfile,$(curdir),package,prereq,.config))
+$(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build))
+$(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build))
+$(eval $(call stampfile,$(curdir),package,install,$(TMP_DIR)/.build))
+$(eval $(call stampfile,$(curdir),package,rootfs-prepare,$(TMP_DIR)/.build))
 
 $(eval $(call subdir,$(curdir)))
This page took 0.020967 seconds and 4 git commands to generate.