libmatroska: properly support static-only build
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 6 Sep 2014 14:10:27 +0000 (16:10 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sat, 6 Sep 2014 20:16:30 +0000 (22:16 +0200)
This is similar to commit 9cef35b68f33ac1f332784fdfef61d3904c7db41 on
libebml, since libmatroska uses the same Makefile logic as libebml. It
makes sure BR2_PREFER_STATIC_LIB=y succeed by not building the shared
library in this case.

Fixes:

  http://autobuild.buildroot.org/results/12e/12e752330b30adb5078acd72a548cc172fa9ecb8/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/libmatroska/libmatroska.mk

index 868eff2569b81769f6a6ace04e3a0cc52524a90f..fe4927505c9efd1496ab6c1271ce375cb43a8a4b 100644 (file)
@@ -12,16 +12,27 @@ LIBMATROSKA_LICENSE = LGPLv2.1+
 LIBMATROSKA_LICENSE_FILES = LICENSE.LGPL
 LIBMATROSKA_DEPENDENCIES = libebml
 
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+LIBMATROSKA_MAKE_TARGETS = staticlib
+LIBMATROSKA_MAKE_INSTALL_TARGETS = install_staticlib install_headers
+else
+LIBMATROSKA_MAKE_TARGETS = staticlib sharedlib
+LIBMATROSKA_MAKE_INSTALL_TARGETS = install_staticlib install_sharedlib install_headers
+endif
+
 define LIBMATROSKA_BUILD_CMDS
-       $(MAKE) -C $(@D)/make/linux CROSS="$(CCACHE) $(TARGET_CROSS)"
+       $(MAKE) -C $(@D)/make/linux CROSS="$(CCACHE) $(TARGET_CROSS)" \
+               $(LIBMATROSKA_MAKE_TARGETS)
 endef
 
 define LIBMATROSKA_INSTALL_STAGING_CMDS
-       $(MAKE) -C $(@D)/make/linux prefix=$(STAGING_DIR)/usr install
+       $(MAKE) -C $(@D)/make/linux prefix=$(STAGING_DIR)/usr \
+               $(LIBMATROSKA_MAKE_INSTALL_TARGETS)
 endef
 
 define LIBMATROSKA_INSTALL_TARGET_CMDS
-       $(MAKE) -C $(@D)/make/linux prefix=$(TARGET_DIR)/usr install
+       $(MAKE) -C $(@D)/make/linux prefix=$(TARGET_DIR)/usr \
+               $(LIBMATROSKA_MAKE_INSTALL_TARGETS)
 endef
 
 $(eval $(generic-package))