2
1

alsa-lib.mk 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #############################################################
  2. #
  3. # alsa-lib
  4. #
  5. #############################################################
  6. ALSA_LIB_VERSION:=1.0.14a
  7. ALSA_LIB_SOURCE:=alsa-lib-$(ALSA_LIB_VERSION).tar.bz2
  8. ALSA_LIB_SITE:=ftp://ftp.alsa-project.org/pub/lib
  9. ALSA_LIB_DIR:=$(BUILD_DIR)/alsa-lib-$(ALSA_LIB_VERSION)
  10. ALSA_LIB_CAT:=$(BZCAT)
  11. ALSA_LIB_BINARY:=libasound.so.2.0.0
  12. ALSA_LIB_TARGET_BINARY:=usr/lib/$(ALSA_LIB_BINARY)
  13. ifeq ($(BR2_arm),y)
  14. ALSA_LIB_ABI:=-mabi=aapcs-linux
  15. else
  16. ALSA_LIB_ABI:=
  17. endif
  18. $(DL_DIR)/$(ALSA_LIB_SOURCE):
  19. $(WGET) -P $(DL_DIR) $(ALSA_LIB_SITE)/$(ALSA_LIB_SOURCE)
  20. $(ALSA_LIB_DIR)/.unpacked: $(DL_DIR)/$(ALSA_LIB_SOURCE)
  21. $(ALSA_LIB_CAT) $(DL_DIR)/$(ALSA_LIB_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  22. toolchain/patch-kernel.sh $(ALSA_LIB_DIR) package/alsa-lib/ alsa-lib-$(ALSA_LIB_VERSION)\*.patch*
  23. $(CONFIG_UPDATE) $(ALSA_LIB_DIR)
  24. touch $@
  25. $(ALSA_LIB_DIR)/.configured: $(ALSA_LIB_DIR)/.unpacked
  26. (cd $(ALSA_LIB_DIR); rm -rf config.cache; \
  27. $(TARGET_CONFIGURE_ARGS) \
  28. $(TARGET_CONFIGURE_OPTS) \
  29. CFLAGS="$(TARGET_CFLAGS) $(ALSA_LIB_ABI)" \
  30. LDFLAGS="$(TARGET_LDFLAGS)" \
  31. ./configure \
  32. --target=$(GNU_TARGET_NAME) \
  33. --host=$(GNU_TARGET_NAME) \
  34. --build=$(GNU_HOST_NAME) \
  35. --prefix=/usr \
  36. --sysconfdir=/etc \
  37. --enable-shared \
  38. --enable-static \
  39. --disable-docs \
  40. $(DISABLE_NLS) \
  41. )
  42. touch $@
  43. $(ALSA_LIB_DIR)/src/.libs/$(ALSA_LIB_BINARY): $(ALSA_LIB_DIR)/.configured
  44. $(MAKE) -C $(ALSA_LIB_DIR)
  45. touch -c $@
  46. $(STAGING_DIR)/$(ALSA_LIB_TARGET_BINARY): $(ALSA_LIB_DIR)/src/.libs/$(ALSA_LIB_BINARY)
  47. $(MAKE) DESTDIR=$(STAGING_DIR) -C $(ALSA_LIB_DIR) install
  48. $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libasound.la
  49. $(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY): $(STAGING_DIR)/$(ALSA_LIB_TARGET_BINARY)
  50. mkdir -p $(TARGET_DIR)/usr/share/alsa $(TARGET_DIR)/usr/lib/alsa-lib
  51. cp -dpf $(STAGING_DIR)/usr/lib/libasound.so* $(TARGET_DIR)/usr/lib/
  52. cp -rdpf $(STAGING_DIR)/usr/share/alsa/* $(TARGET_DIR)/usr/share/alsa/
  53. cp -rdpf $(STAGING_DIR)/usr/lib/alsa-lib/* $(TARGET_DIR)/usr/lib/alsa-lib/
  54. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libasound.so*
  55. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/alsa-lib/smixer/*.so
  56. touch -c $@
  57. alsa-lib: uclibc $(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY)
  58. alsa-lib-clean:
  59. rm -f $(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY)
  60. -$(MAKE) -C $(ALSA_LIB_DIR) clean
  61. alsa-lib-dirclean:
  62. rm -rf $(ALSA_LIB_DIR)
  63. #############################################################
  64. #
  65. # Toplevel Makefile options
  66. #
  67. #############################################################
  68. ifeq ($(strip $(BR2_PACKAGE_ALSA_LIB)),y)
  69. TARGETS+=alsa-lib
  70. endif