bind.mk 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #############################################################
  2. #
  3. # bind
  4. #
  5. #############################################################
  6. BIND_VER:=9.3.2
  7. BIND_SOURCE:=bind-$(BIND_VER).tar.gz
  8. BIND_SITE:=ftp://ftp.isc.org/isc/bind9/$(BIND_VER)
  9. BIND_DIR1:=$(TOOL_BUILD_DIR)/bind-$(BIND_VER)
  10. BIND_DIR2:=$(BUILD_DIR)/bind-$(BIND_VER)
  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. CFLAGS="$(TARGET_CFLAGS)" \
  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. --libdir=/lib \
  37. --libexecdir=/usr/lib \
  38. --libdir=/lib \
  39. --includedir=/include \
  40. --sysconfdir=/etc \
  41. --localstatedir=/var \
  42. --without-openssl \
  43. --with-randomdev=/dev/random \
  44. --enable-ipv6 \
  45. --with-libtool \
  46. --with-pic \
  47. );
  48. $(BIND_DIR2)/$(BIND_BINARY): $(BIND_DIR2)/Makefile
  49. $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 -C $(BIND_DIR2)
  50. touch -c $(BIND_DIR2)/$(BIND_BINARY)
  51. #############################################################
  52. #
  53. # install bind binaries
  54. #
  55. #############################################################
  56. $(TARGET_DIR)/$(BIND_TARGET_BINARY): $(BIND_DIR2)/$(BIND_BINARY)
  57. $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 MAKEDEFS="INSTALL_DATA=true" \
  58. DESTDIR=$(TARGET_DIR) -C $(BIND_DIR2)/bin install
  59. cd $(TARGET_DIR)/usr/man; rmdir --ignore-fail-on-non-empty man8 man5 `pwd`
  60. $(INSTALL) -m 0755 -D package/bind/bind.sysvinit $(TARGET_DIR)/etc/init.d/S81named
  61. bind-bin: $(TARGET_DIR)/$(BIND_TARGET_BINARY) bind-lib
  62. #############################################################
  63. #
  64. # install bind libraries
  65. #
  66. #############################################################
  67. $(STAGING_DIR)/lib/libdns.so: $(BIND_DIR2)/$(BIND_BINARY)
  68. $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 DESTDIR=$(STAGING_DIR) -C $(BIND_DIR2)/lib install
  69. $(TARGET_DIR)/lib/libdns.so: $(STAGING_DIR)/lib/libdns.so
  70. mkdir -p $(TARGET_DIR)/lib
  71. cd $(STAGING_DIR)/lib; \
  72. cp -a libdns*so* libisc*so* libbind9*so* \
  73. liblwres*so* $(TARGET_DIR)/lib
  74. bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/lib/libdns.so
  75. bind: uclibc bind-bin bind-lib
  76. bind-clean:
  77. -$(MAKE) -C $(BIND_DIR2) clean
  78. bind-dirclean:
  79. rm -rf $(BIND_DIR2)
  80. #############################################################
  81. #
  82. # Toplevel Makefile options
  83. #
  84. #############################################################
  85. ifeq ($(strip $(BR2_PACKAGE_BIND)),y)
  86. TARGETS+=bind
  87. endif