732d94d25f
they should be configured with --prefix=/usr and we then need to use make DESTDIR=$(STAGING_DIR) install to get things installed into the staging directory. The current situation for many packages, which use --prefix=$(STAGING_DIR) results in the staging_dir paths getting compiled into the binary itself. This also adds in a pile of libtool fixups. Between broken pkgconfig, broken libtool handling, and broken --prefix settings, its a wonder things have worked as well as they have up till now. -Erik
102 lines
3.0 KiB
Makefile
102 lines
3.0 KiB
Makefile
#############################################################
|
|
#
|
|
# bind
|
|
#
|
|
#############################################################
|
|
BIND_VER:=9.3.2
|
|
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 \
|
|
--libdir=/lib \
|
|
--libexecdir=/usr/lib \
|
|
--libdir=/lib \
|
|
--includedir=/include \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var \
|
|
--without-openssl \
|
|
--with-randomdev=/dev/random \
|
|
--enable-ipv6 \
|
|
--with-libtool \
|
|
--with-pic \
|
|
);
|
|
|
|
$(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)/lib/libdns.so: $(STAGING_DIR)/lib/libdns.so
|
|
mkdir -p $(TARGET_DIR)/lib
|
|
cd $(STAGING_DIR)/lib; \
|
|
cp -a libdns*so* libisc*so* libbind9*so* \
|
|
liblwres*so* $(TARGET_DIR)/lib
|
|
|
|
bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/lib/libdns.so
|
|
|
|
bind: uclibc bind-bin bind-lib
|
|
|
|
bind-clean:
|
|
-$(MAKE) -C $(BIND_DIR2) clean
|
|
|
|
bind-dirclean:
|
|
rm -rf $(BIND_DIR2)
|
|
|
|
#############################################################
|
|
#
|
|
# Toplevel Makefile options
|
|
#
|
|
#############################################################
|
|
ifeq ($(strip $(BR2_PACKAGE_BIND)),y)
|
|
TARGETS+=bind
|
|
endif
|
|
|