summaryrefslogtreecommitdiff
path: root/package/bind/bind.mk
diff options
context:
space:
mode:
Diffstat (limited to 'package/bind/bind.mk')
-rw-r--r--package/bind/bind.mk101
1 files changed, 101 insertions, 0 deletions
diff --git a/package/bind/bind.mk b/package/bind/bind.mk
new file mode 100644
index 000000000..c321cabec
--- /dev/null
+++ b/package/bind/bind.mk
@@ -0,0 +1,101 @@
+#############################################################
+#
+# bind
+#
+#############################################################
+BIND_VER:=9.3.1
+BIND_SOURCE:=bind-$(BIND_VER).tar.gz
+BIND_SITE:=ftp://ftp.isc.org/isc/bind9/$(BIND_VER)
+BIND_DIR1:=$(TOOL_BUILD_DIR)/bind-$(BIND_VER)
+BIND_DIR2:=$(BUILD_DIR)/bind-$(BIND_VER)
+BIND_CAT:=zcat
+BIND_BINARY:=bin/named/named
+BIND_TARGET_BINARY:=usr/sbin/named
+
+$(DL_DIR)/$(BIND_SOURCE):
+ $(WGET) -P $(DL_DIR) $(BIND_SITE)/$(BIND_SOURCE)
+
+bind-source: $(DL_DIR)/$(BIND_SOURCE)
+
+#############################################################
+#
+# build bind for use on the target system
+#
+#############################################################
+$(BIND_DIR2)/.unpacked: $(DL_DIR)/$(BIND_SOURCE)
+ $(BIND_CAT) $(DL_DIR)/$(BIND_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(BIND_DIR2) package/bind/ bind\*.patch
+ touch $(BIND_DIR2)/.unpacked
+
+$(BIND_DIR2)/Makefile: $(BIND_DIR2)/.unpacked
+ (cd $(BIND_DIR2); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --libdir=/lib \
+ --includedir=/include \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --without-openssl \
+ --with-randomdev=/dev/random \
+ --enable-ipv6 \
+ --disable-static \
+ --with-libtool \
+ );
+
+$(BIND_DIR2)/$(BIND_BINARY): $(BIND_DIR2)/Makefile
+ $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 -C $(BIND_DIR2)
+ touch -c $(BIND_DIR2)/$(BIND_BINARY)
+
+#############################################################
+#
+# install bind binaries
+#
+#############################################################
+$(TARGET_DIR)/$(BIND_TARGET_BINARY): $(BIND_DIR2)/$(BIND_BINARY)
+ $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 MAKEDEFS="INSTALL_DATA=true" \
+ DESTDIR=$(TARGET_DIR) -C $(BIND_DIR2)/bin install
+ cd $(TARGET_DIR)/usr/man; rmdir --ignore-fail-on-non-empty man8 man5 `pwd`
+ $(INSTALL) -m 0755 -D package/bind/bind.sysvinit $(TARGET_DIR)/etc/init.d/S81named
+
+bind-bin: $(TARGET_DIR)/$(BIND_TARGET_BINARY) bind-lib
+
+#############################################################
+#
+# install bind libraries
+#
+#############################################################
+$(STAGING_DIR)/lib/libdns.so: $(BIND_DIR2)/$(BIND_BINARY)
+ $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 DESTDIR=$(STAGING_DIR) -C $(BIND_DIR2)/lib install
+
+$(TARGET_DIR)/usr/lib/libdns.so: $(STAGING_DIR)/lib/libdns.so
+ mkdir -p $(TARGET_DIR)/usr/lib
+ cd $(STAGING_DIR)/lib; \
+ cp -a libdns.* libisc.* libisccc.* libbind9.* liblwres.* libisccfg.* \
+ $(TARGET_DIR)/usr/lib
+
+bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/usr/lib/libdns.so
+
+bind: uclibc bind-bin bind-lib
+
+bind-clean:
+ $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BIND_DIR2) uninstall
+ -$(MAKE) -C $(BIND_DIR2) clean
+
+bind-dirclean:
+ rm -rf $(BIND_DIR2)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_BIND)),y)
+TARGETS+=bind
+endif
+