1################################################################################ 2# 3# dhcp 4# 5################################################################################ 6 7DHCP_VERSION = 4.4.2-P1 8DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) 9DHCP_INSTALL_STAGING = YES 10DHCP_LICENSE = MPL-2.0 11DHCP_LICENSE_FILES = LICENSE 12DHCP_DEPENDENCIES = bind host-gawk 13DHCP_CPE_ID_VENDOR = isc 14 15# use libtool-enabled configure.ac 16define DHCP_LIBTOOL_AUTORECONF 17 cp $(@D)/configure.ac+lt $(@D)/configure.ac 18endef 19 20DHCP_CONF_ENV = \ 21 CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \ 22 -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \ 23 CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1' 24 25DHCP_CONF_ENV += ac_cv_prog_AWK=$(HOST_DIR)/bin/gawk 26 27DHCP_CONF_OPTS = \ 28 --with-libbind=$(STAGING_DIR)/usr \ 29 --with-randomdev=/dev/random \ 30 --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ 31 --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \ 32 --with-cli-lease-file=/var/lib/dhcp/dhclient.leases \ 33 --with-cli6-lease-file=/var/lib/dhcp/dhclient6.leases \ 34 --with-srv-pid-file=/var/run/dhcpd.pid \ 35 --with-srv6-pid-file=/var/run/dhcpd6.pid \ 36 --with-cli-pid-file=/var/run/dhclient.pid \ 37 --with-cli6-pid-file=/var/run/dhclient6.pid \ 38 --with-relay-pid-file=/var/run/dhcrelay.pid \ 39 --with-relay6-pid-file=/var/run/dhcrelay6.pid 40 41ifeq ($(BR2_STATIC_LIBS),y) 42DHCP_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/bind9-config --libs bind9`" 43DHCP_CONF_OPTS += --disable-libtool 44else 45DHCP_POST_EXTRACT_HOOKS += DHCP_LIBTOOL_AUTORECONF 46DHCP_AUTORECONF = YES 47DHCP_CONF_OPTS += --enable-libtool 48endif 49 50ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y) 51DHCP_CONF_OPTS += --enable-delayed-ack 52endif 53 54define DHCP_INSTALL_LIBS 55 $(MAKE) -C $(@D)/common install-exec DESTDIR=$(TARGET_DIR) 56 $(MAKE) -C $(@D)/omapip install-exec DESTDIR=$(TARGET_DIR) 57endef 58 59ifeq ($(BR2_PACKAGE_DHCP_SERVER),y) 60define DHCP_INSTALL_CTL_LIBS 61 $(MAKE) -C $(@D)/dhcpctl install-exec DESTDIR=$(TARGET_DIR) 62endef 63define DHCP_INSTALL_SERVER 64 mkdir -p $(TARGET_DIR)/var/lib 65 (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) 66 $(MAKE) -C $(@D)/server DESTDIR=$(TARGET_DIR) install-sbinPROGRAMS 67 $(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \ 68 $(TARGET_DIR)/etc/dhcp/dhcpd.conf 69endef 70endif 71 72ifeq ($(BR2_PACKAGE_DHCP_RELAY),y) 73define DHCP_INSTALL_RELAY 74 mkdir -p $(TARGET_DIR)/var/lib 75 (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) 76 $(MAKE) -C $(@D)/relay DESTDIR=$(TARGET_DIR) install-sbinPROGRAMS 77endef 78endif 79 80ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y) 81define DHCP_INSTALL_CLIENT 82 mkdir -p $(TARGET_DIR)/var/lib 83 (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp) 84 $(MAKE) -C $(@D)/client DESTDIR=$(TARGET_DIR) sbindir=/sbin \ 85 install-sbinPROGRAMS 86 $(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \ 87 $(TARGET_DIR)/etc/dhcp/dhclient.conf 88 $(INSTALL) -m 0755 -D package/dhcp/dhclient-script \ 89 $(TARGET_DIR)/sbin/dhclient-script 90endef 91endif 92 93# Options don't matter, scripts won't start if binaries aren't there 94define DHCP_INSTALL_INIT_SYSV 95 $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \ 96 $(TARGET_DIR)/etc/init.d/S80dhcp-server 97 $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \ 98 $(TARGET_DIR)/etc/init.d/S80dhcp-relay 99endef 100 101ifeq ($(BR2_PACKAGE_DHCP_SERVER),y) 102define DHCP_INSTALL_INIT_SYSTEMD 103 $(INSTALL) -D -m 644 package/dhcp/dhcpd.service \ 104 $(TARGET_DIR)/usr/lib/systemd/system/dhcpd.service 105 106 mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d 107 echo "d /var/lib/dhcp 0755 - - - -" > \ 108 $(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf 109 echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \ 110 $(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf 111endef 112endif 113 114define DHCP_INSTALL_TARGET_CMDS 115 $(DHCP_INSTALL_LIBS) 116 $(DHCP_INSTALL_CTL_LIBS) 117 $(DHCP_INSTALL_RELAY) 118 $(DHCP_INSTALL_SERVER) 119 $(DHCP_INSTALL_CLIENT) 120endef 121 122$(eval $(autotools-package)) 123