Browse Source

libmatroska: properly support static-only build

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>
Thomas Petazzoni 11 years ago
parent
commit
3c11ced46a
1 changed files with 14 additions and 3 deletions
  1. 14 3
      package/libmatroska/libmatroska.mk

+ 14 - 3
package/libmatroska/libmatroska.mk

@@ -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))