- import buildroot
[buildroot.git] / package / bind / bind.mk
blob4eb729f0ddf6df0259469f6b412c19399314e040
1 #############################################################
3 # bind
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
15 $(DL_DIR)/$(BIND_SOURCE):
16 $(WGET) -P $(DL_DIR) $(BIND_SITE)/$(BIND_SOURCE)
18 bind-source: $(DL_DIR)/$(BIND_SOURCE)
20 #############################################################
22 # build bind for use on the target system
24 #############################################################
25 $(BIND_DIR2)/.unpacked: $(DL_DIR)/$(BIND_SOURCE)
26 $(BIND_CAT) $(DL_DIR)/$(BIND_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
27 toolchain/patch-kernel.sh $(BIND_DIR2) package/bind/ bind\*.patch
28 touch $(BIND_DIR2)/.unpacked
30 $(BIND_DIR2)/Makefile: $(BIND_DIR2)/.unpacked
31 (cd $(BIND_DIR2); rm -rf config.cache; \
32 $(TARGET_CONFIGURE_OPTS) \
33 $(TARGET_CONFIGURE_ARGS) \
34 ./configure \
35 --target=$(GNU_TARGET_NAME) \
36 --host=$(GNU_TARGET_NAME) \
37 --build=$(GNU_HOST_NAME) \
38 --prefix=/usr \
39 --libdir=/lib \
40 --libexecdir=/usr/lib \
41 --libdir=/lib \
42 --includedir=/include \
43 --sysconfdir=/etc \
44 --localstatedir=/var \
45 --without-openssl \
46 --with-randomdev=/dev/random \
47 $(DISABLE_IPV6) \
48 --with-libtool \
49 --with-pic \
52 $(BIND_DIR2)/$(BIND_BINARY): $(BIND_DIR2)/Makefile
53 $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 -C $(BIND_DIR2)
54 touch -c $(BIND_DIR2)/$(BIND_BINARY)
56 #############################################################
58 # install bind binaries
60 #############################################################
61 $(TARGET_DIR)/$(BIND_TARGET_BINARY): $(BIND_DIR2)/$(BIND_BINARY)
62 $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 MAKEDEFS="INSTALL_DATA=true" \
63 DESTDIR=$(TARGET_DIR) -C $(BIND_DIR2)/bin install
64 cd $(TARGET_DIR)/usr/man; rmdir --ignore-fail-on-non-empty man8 man5 `pwd`
65 $(INSTALL) -m 0755 -D package/bind/bind.sysvinit $(TARGET_DIR)/etc/init.d/S81named
67 bind-bin: $(TARGET_DIR)/$(BIND_TARGET_BINARY) bind-lib
69 #############################################################
71 # install bind libraries
73 #############################################################
74 $(STAGING_DIR)/lib/libdns.so: $(BIND_DIR2)/$(BIND_BINARY)
75 $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 DESTDIR=$(STAGING_DIR) -C $(BIND_DIR2)/lib install
77 $(TARGET_DIR)/lib/libdns.so: $(STAGING_DIR)/lib/libdns.so
78 mkdir -p $(TARGET_DIR)/lib
79 cd $(STAGING_DIR)/lib; \
80 cp -a libdns*so* libisc*so* libbind9*so* \
81 liblwres*so* $(TARGET_DIR)/lib
83 bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/lib/libdns.so
85 bind: uclibc bind-bin bind-lib
87 bind-clean:
88 -$(MAKE) -C $(BIND_DIR2) clean
90 bind-dirclean:
91 rm -rf $(BIND_DIR2)
93 #############################################################
95 # Toplevel Makefile options
97 #############################################################
98 ifeq ($(strip $(BR2_PACKAGE_BIND)),y)
99 TARGETS+=bind
100 endif