ipsec-tools: moved to github
[packages.git] / net / bind / Makefile
1 #
2 # Copyright (C) 2006-2012 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=bind
11 PKG_VERSION:=9.9.4
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:= \
16         ftp://ftp.isc.org/isc/bind9/$(PKG_VERSION) \
17         http://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION)
18 PKG_MD5SUM:=f69757adc86776daed8e5acb0ee7c0ca
19
20 PKG_FIXUP:=autoreconf
21 PKG_REMOVE_FILES:=aclocal.m4 libtool.m4
22
23 PKG_INSTALL:=1
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Package/bind/Default
28   SECTION:=net
29   CATEGORY:=Network
30   DEPENDS:=+bind-libs
31   TITLE:=bind
32   URL:=https://www.isc.org/software/bind
33   SUBMENU:=IP Addresses and Names
34 endef
35
36 define Package/bind-libs
37   SECTION:=libs
38   CATEGORY:=Libraries
39   DEPENDS:=+libopenssl
40   TITLE:=bind shared libraries
41   URL:=https://www.isc.org/software/bind
42 endef
43
44 define Package/bind-server
45   $(call Package/bind/Default)
46   TITLE+= DNS server
47 endef
48
49 define Package/bind-client
50   $(call Package/bind/Default)
51   TITLE+= dynamic DNS client
52 endef
53
54 define Package/bind-tools
55   $(call Package/bind/Default)
56   TITLE+= administration tools (all)
57 endef
58
59 define Package/bind-rndc
60   $(call Package/bind/Default)
61   TITLE+= administration tools (rndc and rndc-confgen only)
62 endef
63
64 define Package/bind-check
65   $(call Package/bind/Default)
66   TITLE+= administration tools (named-checkconf and named-checkzone only)
67 endef
68
69 define Package/bind-dnssec
70   $(call Package/bind/Default)
71   TITLE+= administration tools (dnssec-keygen and dnssec-signzone only)
72 endef
73
74 define Package/bind-host
75   $(call Package/bind/Default)
76   TITLE+= simple DNS client
77 endef
78
79 define Package/bind-dig
80   $(call Package/bind/Default)
81   TITLE+= DNS excavation tool
82 endef
83
84 export BUILD_CC="$(TARGET_CC)"
85
86 CONFIGURE_ARGS += \
87         --enable-shared \
88         --enable-static \
89         --with-randomdev="/dev/urandom" \
90         --disable-threads \
91         --disable-linux-caps \
92         --with-openssl="$(STAGING_DIR)/usr" \
93         --with-libtool \
94         --with-libxml2=no \
95         --enable-epoll=yes \
96         --with-gost=no \
97         --with-gssapi=no \
98         --with-ecdsa=no \
99         --with-readline=no
100
101 CONFIGURE_VARS += \
102         BUILD_CC="$(TARGET_CC)" \
103
104 define Build/Compile
105         $(MAKE) -C $(PKG_BUILD_DIR)/lib/dns \
106                 BUILD_CC="$(HOSTCC)" \
107                 CC="$(HOSTCC)" \
108                 CFLAGS="-O2" \
109                 LIBS="" \
110                 gen
111         $(call Build/Compile/Default)
112 endef
113
114 define Package/bind-libs/install
115         $(INSTALL_DIR) $(1)/usr/lib
116         $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
117 endef
118
119 define Package/bind-server/install
120         $(INSTALL_DIR) $(1)/usr/sbin
121         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named $(1)/usr/sbin/
122         $(INSTALL_DIR) $(1)/etc/bind
123         $(CP) \
124                 ./files/bind/db.0 \
125                 ./files/bind/db.127 \
126                 ./files/bind/db.255 \
127                 ./files/bind/db.local \
128                 ./files/bind/db.root \
129                 $(1)/etc/bind/
130         $(CP) ./files/bind/named.conf.example $(1)/etc/bind/named.conf
131         $(INSTALL_DIR) $(1)/etc/init.d
132         $(INSTALL_BIN) ./files/named.init $(1)/etc/init.d/named
133         find $(1)/etc/bind/ -name ".svn" | xargs rm -rf
134 endef
135
136 define Package/bind-server/conffiles
137 /etc/bind/db.0
138 /etc/bind/db.127
139 /etc/bind/db.255
140 /etc/bind/db.local
141 /etc/bind/db.root
142 /etc/bind/named.conf
143 endef
144
145 define Package/bind-client/install
146         $(INSTALL_DIR) $(1)/usr/bin
147         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nsupdate $(1)/usr/bin/
148 endef
149
150 define Package/bind-tools/install
151         $(INSTALL_DIR) $(1)/usr/bin
152         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/
153         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/
154         $(INSTALL_DIR) $(1)/usr/sbin
155         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/
156         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/
157         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/
158         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/
159         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/
160         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/
161 endef
162
163 define Package/bind-rndc/install
164         $(INSTALL_DIR) $(1)/usr/sbin
165         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/
166         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/
167 endef
168
169 define Package/bind-check/install
170         $(INSTALL_DIR) $(1)/usr/sbin
171         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/
172         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/
173 endef
174
175 define Package/bind-dnssec/install
176         $(INSTALL_DIR) $(1)/usr/sbin
177         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/
178         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/
179 endef
180
181 define Package/bind-host/install
182         $(INSTALL_DIR) $(1)/usr/bin
183         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/
184 endef
185
186 define Package/bind-dig/install
187         $(INSTALL_DIR) $(1)/usr/bin
188         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/
189 endef
190
191 $(eval $(call BuildPackage,bind-libs))
192 $(eval $(call BuildPackage,bind-server))
193 $(eval $(call BuildPackage,bind-client))
194 $(eval $(call BuildPackage,bind-tools))
195 $(eval $(call BuildPackage,bind-rndc))
196 $(eval $(call BuildPackage,bind-check))
197 $(eval $(call BuildPackage,bind-dnssec))
198 $(eval $(call BuildPackage,bind-host))
199 $(eval $(call BuildPackage,bind-dig))