libv4l: properly error out when one of the make step fails
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 14 Oct 2012 08:18:20 +0000 (08:18 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sun, 14 Oct 2012 18:52:39 +0000 (20:52 +0200)
In libv4l.mk, if there are multiple elements in $(LIBV4L_DIRS_y), they
are built in order, one after the other. However, our loop construct
doesn't take into account the fact that we should error out if one of
the steps failed.

A good illustration is having BR2_PACKAGE_LIBV4L_DECODE_TM6000 and
BR2_PACKAGE_LIBV4L_V4L2_CTL enabled. The build of decode-tm6000 will
fail, but the build will happily continue without stopping in libv4l.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/libv4l/libv4l.mk

index 6c782b08e9e10f4f90411e347a4fad1dc1923a95..15e48ed4f3a6a046e72f9f120b77e15549e8d2c0 100644 (file)
@@ -24,19 +24,19 @@ endif
 define LIBV4L_BUILD_CMDS
        for i in $(LIBV4L_DIRS_y); do \
                $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/$$i \
-                       $(LIBV4L_MAKE_OPTS); done
+                       $(LIBV4L_MAKE_OPTS) || exit 1 ; done
 endef
 
 define LIBV4L_INSTALL_STAGING_CMDS
        for i in $(LIBV4L_DIRS_y); do \
                $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/$$i \
-                       DESTDIR=$(STAGING_DIR) $(LIBV4L_MAKE_OPTS) install; done
+                       DESTDIR=$(STAGING_DIR) $(LIBV4L_MAKE_OPTS) install || exit 1; done
 endef
 
 define LIBV4L_INSTALL_TARGET_CMDS
        for i in $(LIBV4L_DIRS_y); do \
                $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/$$i \
-                       DESTDIR=$(TARGET_DIR) $(LIBV4L_MAKE_OPTS) install; done
+                       DESTDIR=$(TARGET_DIR) $(LIBV4L_MAKE_OPTS) install || exit 1; done
 endef
 
 $(eval $(generic-package))