dhcp.mk 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ################################################################################
  2. #
  3. # dhcp
  4. #
  5. ################################################################################
  6. DHCP_VERSION = 4.1-ESV-R10
  7. DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION)
  8. DHCP_INSTALL_STAGING = YES
  9. DHCP_LICENSE = ISC
  10. DHCP_LICENSE_FILES = LICENSE
  11. DHCP_CONF_ENV = \
  12. CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
  13. -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \
  14. ac_cv_file__dev_random=yes
  15. DHCP_CONF_OPTS = \
  16. --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
  17. --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \
  18. --with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
  19. --with-cli6-lease-file=/var/lib/dhcp/dhclient6.leases \
  20. --with-srv-pid-file=/var/run/dhcpd.pid \
  21. --with-srv6-pid-file=/var/run/dhcpd6.pid \
  22. --with-cli-pid-file=/var/run/dhclient.pid \
  23. --with-cli6-pid-file=/var/run/dhclient6.pid \
  24. --with-relay-pid-file=/var/run/dhcrelay.pid \
  25. --with-relay6-pid-file=/var/run/dhcrelay6.pid
  26. ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y)
  27. DHCP_CONF_OPTS += --enable-delayed-ack
  28. endif
  29. ifneq ($(BR2_INET_IPV6),y)
  30. DHCP_CONF_OPTS += --disable-dhcpv6
  31. endif
  32. ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
  33. define DHCP_INSTALL_SERVER
  34. mkdir -p $(TARGET_DIR)/var/lib
  35. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  36. $(INSTALL) -m 0755 -D $(@D)/server/dhcpd $(TARGET_DIR)/usr/sbin/dhcpd
  37. $(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \
  38. $(TARGET_DIR)/etc/dhcp/dhcpd.conf
  39. endef
  40. endif
  41. ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
  42. define DHCP_INSTALL_RELAY
  43. mkdir -p $(TARGET_DIR)/var/lib
  44. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  45. $(INSTALL) -m 0755 -D $(DHCP_DIR)/relay/dhcrelay \
  46. $(TARGET_DIR)/usr/sbin/dhcrelay
  47. endef
  48. endif
  49. ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
  50. define DHCP_INSTALL_CLIENT
  51. mkdir -p $(TARGET_DIR)/var/lib
  52. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  53. $(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
  54. $(TARGET_DIR)/usr/sbin/dhclient
  55. $(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
  56. $(TARGET_DIR)/etc/dhcp/dhclient.conf
  57. $(INSTALL) -m 0755 -D package/dhcp/dhclient-script \
  58. $(TARGET_DIR)/sbin/dhclient-script
  59. endef
  60. endif
  61. # Options don't matter, scripts won't start if binaries aren't there
  62. define DHCP_INSTALL_INIT_SYSV
  63. $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \
  64. $(TARGET_DIR)/etc/init.d/S80dhcp-server
  65. $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \
  66. $(TARGET_DIR)/etc/init.d/S80dhcp-relay
  67. endef
  68. define DHCP_INSTALL_TARGET_CMDS
  69. $(DHCP_INSTALL_RELAY)
  70. $(DHCP_INSTALL_SERVER)
  71. $(DHCP_INSTALL_CLIENT)
  72. endef
  73. $(eval $(autotools-package))