bind.mk 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #############################################################
  2. #
  3. # bind
  4. #
  5. #############################################################
  6. BIND_VERSION:=9.3.2
  7. BIND_SOURCE:=bind-$(BIND_VERSION).tar.gz
  8. BIND_SITE:=ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION)
  9. BIND_DIR1:=$(TOOL_BUILD_DIR)/bind-$(BIND_VERSION)
  10. BIND_DIR2:=$(BUILD_DIR)/bind-$(BIND_VERSION)
  11. BIND_CAT:=$(ZCAT)
  12. BIND_BINARY:=bin/named/named
  13. BIND_TARGET_BINARY:=usr/sbin/named
  14. $(DL_DIR)/$(BIND_SOURCE):
  15. $(WGET) -P $(DL_DIR) $(BIND_SITE)/$(BIND_SOURCE)
  16. bind-source: $(DL_DIR)/$(BIND_SOURCE)
  17. #############################################################
  18. #
  19. # build bind for use on the target system
  20. #
  21. #############################################################
  22. $(BIND_DIR2)/.unpacked: $(DL_DIR)/$(BIND_SOURCE)
  23. $(BIND_CAT) $(DL_DIR)/$(BIND_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  24. toolchain/patch-kernel.sh $(BIND_DIR2) package/bind/ bind\*.patch
  25. touch $(BIND_DIR2)/.unpacked
  26. $(BIND_DIR2)/Makefile: $(BIND_DIR2)/.unpacked
  27. (cd $(BIND_DIR2); rm -rf config.cache; \
  28. $(TARGET_CONFIGURE_OPTS) \
  29. $(TARGET_CONFIGURE_ARGS) \
  30. ./configure \
  31. --target=$(GNU_TARGET_NAME) \
  32. --host=$(GNU_TARGET_NAME) \
  33. --build=$(GNU_HOST_NAME) \
  34. --prefix=/usr \
  35. --libdir=/lib \
  36. --libexecdir=/usr/lib \
  37. --libdir=/lib \
  38. --includedir=/include \
  39. --sysconfdir=/etc \
  40. --localstatedir=/var \
  41. --without-openssl \
  42. --with-randomdev=/dev/random \
  43. $(DISABLE_IPV6) \
  44. --with-libtool \
  45. --with-pic \
  46. )
  47. $(BIND_DIR2)/$(BIND_BINARY): $(BIND_DIR2)/Makefile
  48. $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 -C $(BIND_DIR2)
  49. touch -c $(BIND_DIR2)/$(BIND_BINARY)
  50. #############################################################
  51. #
  52. # install bind binaries
  53. #
  54. #############################################################
  55. $(TARGET_DIR)/$(BIND_TARGET_BINARY): $(BIND_DIR2)/$(BIND_BINARY)
  56. $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 MAKEDEFS="INSTALL_DATA=true" \
  57. DESTDIR=$(TARGET_DIR) -C $(BIND_DIR2)/bin install
  58. cd $(TARGET_DIR)/usr/man; rmdir --ignore-fail-on-non-empty man8 man5 `pwd`
  59. $(INSTALL) -m 0755 -D package/bind/bind.sysvinit $(TARGET_DIR)/etc/init.d/S81named
  60. bind-bin: $(TARGET_DIR)/$(BIND_TARGET_BINARY) bind-lib
  61. #############################################################
  62. #
  63. # install bind libraries
  64. #
  65. #############################################################
  66. $(STAGING_DIR)/lib/libdns.so: $(BIND_DIR2)/$(BIND_BINARY)
  67. $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 DESTDIR=$(STAGING_DIR) -C $(BIND_DIR2)/lib install
  68. $(TARGET_DIR)/lib/libdns.so: $(STAGING_DIR)/lib/libdns.so
  69. mkdir -p $(TARGET_DIR)/lib
  70. cd $(STAGING_DIR)/lib; \
  71. cp -a libdns*so* libisc*so* libbind9*so* \
  72. liblwres*so* $(TARGET_DIR)/lib
  73. bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/lib/libdns.so
  74. bind: uclibc bind-bin bind-lib
  75. bind-clean:
  76. -$(MAKE) -C $(BIND_DIR2) clean
  77. bind-dirclean:
  78. rm -rf $(BIND_DIR2)
  79. #############################################################
  80. #
  81. # Toplevel Makefile options
  82. #
  83. #############################################################
  84. ifeq ($(strip $(BR2_PACKAGE_BIND)),y)
  85. TARGETS+=bind
  86. endif