berkeleydb.mk 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #############################################################
  2. #
  3. # berkeley db
  4. #
  5. #############################################################
  6. DB_VERSION:=4.3.29
  7. DB_SO_VERSION:=4.3
  8. DB_SITE:=ftp://ftp.sleepycat.com/releases
  9. DB_SOURCE:=db-$(DB_VERSION).NC.tar.gz
  10. DB_DIR:=$(BUILD_DIR)/db-$(DB_VERSION).NC
  11. DB_SHARLIB:=libdb-$(DB_SO_VERSION).so
  12. $(DL_DIR)/$(DB_SOURCE):
  13. $(call DOWNLOAD,$(DB_SITE),$(DB_SOURCE))
  14. berkeleydb-source: $(DL_DIR)/$(DB_SOURCE)
  15. $(DB_DIR)/.dist: $(DL_DIR)/$(DB_SOURCE)
  16. $(ZCAT) $(DL_DIR)/$(DB_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  17. touch $@
  18. $(DB_DIR)/.configured: $(DB_DIR)/.dist
  19. $(CONFIG_UPDATE) $(DB_DIR)/dist
  20. (cd $(DB_DIR)/build_unix; rm -rf config.cache; \
  21. $(TARGET_CONFIGURE_OPTS) \
  22. $(TARGET_CONFIGURE_ARGS) \
  23. ../dist/configure $(QUIET) \
  24. --target=$(GNU_TARGET_NAME) \
  25. --host=$(GNU_TARGET_NAME) \
  26. --build=$(GNU_HOST_NAME) \
  27. --prefix=/usr \
  28. --exec-prefix=/usr \
  29. --bindir=/usr/bin \
  30. --sbindir=/usr/sbin \
  31. --libdir=/lib \
  32. --libexecdir=/usr/lib \
  33. --sysconfdir=/etc \
  34. --datadir=/usr/share \
  35. --localstatedir=/var \
  36. --includedir=/usr/include \
  37. --mandir=/usr/share/man \
  38. --infodir=/usr/share/info \
  39. --with-gnu-ld \
  40. --enable-shared \
  41. --disable-cxx \
  42. --disable-java \
  43. --disable-rpc \
  44. --disable-tcl \
  45. --disable-compat185 \
  46. --with-pic \
  47. $(DISABLE_LARGEFILE) \
  48. )
  49. $(SED) 's/\.lo/.o/g' $(DB_DIR)/build_unix/Makefile
  50. touch $@
  51. $(DB_DIR)/build_unix/.libs/$(DB_SHARLIB): $(DB_DIR)/.configured
  52. $(MAKE) CC=$(TARGET_CC) -C $(DB_DIR)/build_unix
  53. $(STAGING_DIR)/lib/$(DB_SHARLIB): $(DB_DIR)/build_unix/.libs/$(DB_SHARLIB)
  54. $(MAKE) DESTDIR=$(STAGING_DIR) -C $(DB_DIR)/build_unix install
  55. chmod a-x $(STAGING_DIR)/lib/libdb*so*
  56. rm -f $(STAGING_DIR)/bin/db_*
  57. rm -rf $(STAGING_DIR)/share/locale
  58. $(TARGET_DIR)/lib/$(DB_SHARLIB): $(STAGING_DIR)/lib/$(DB_SHARLIB)
  59. rm -rf $(TARGET_DIR)/lib/libdb*
  60. cp -a $(STAGING_DIR)/lib/libdb*so* $(TARGET_DIR)/lib/
  61. rm -f $(addprefix $(TARGET_DIR)/lib/,libdb.so libdb.la libdb.a)
  62. (cd $(TARGET_DIR)/usr/lib; ln -fs /lib/$(DB_SHARLIB) libdb.so)
  63. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/lib/libdb*so*
  64. $(TARGET_DIR)/usr/lib/libdb.a: $(STAGING_DIR)/lib/libdb-$(DB_SO_VERSION).a
  65. cp -dpf $(STAGING_DIR)/usr/include/db.h $(TARGET_DIR)/usr/include/
  66. cp -dpf $(STAGING_DIR)/lib/libdb*.a $(TARGET_DIR)/usr/lib/
  67. cp -dpf $(STAGING_DIR)/lib/libdb*.la $(TARGET_DIR)/usr/lib/
  68. touch -c $@
  69. berkeleydb-headers: $(TARGET_DIR)/usr/lib/libdb.a
  70. berkeleydb-clean:
  71. -$(MAKE) -C $(DB_DIR)/build_unix clean
  72. berkeleydb-dirclean:
  73. rm -rf $(DB_DIR)
  74. berkeleydb: $(TARGET_DIR)/lib/$(DB_SHARLIB)
  75. #############################################################
  76. #
  77. # Toplevel Makefile options
  78. #
  79. #############################################################
  80. ifeq ($(BR2_PACKAGE_BERKELEYDB),y)
  81. TARGETS+=berkeleydb
  82. endif