dhcp.mk 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #############################################################
  2. #
  3. # dhcp
  4. #
  5. #############################################################
  6. DHCP_VER:=3.0.2
  7. DHCP_SOURCE:=dhcp-$(DHCP_VER).tar.gz
  8. DHCP_SITE:=ftp://ftp.isc.org/isc/dhcp
  9. DHCP_CAT:=zcat
  10. DHCP_DIR:=$(BUILD_DIR)/dhcp-$(DHCP_VER)
  11. DHCP_SERVER_BINARY:=work.linux-2.2/server/dhcpd
  12. DHCP_RELAY_BINARY:=work.linux-2.2/relay/dhcrelay
  13. DHCP_CLIENT_BINARY:=work.linux-2.2/client/dhclient
  14. DHCP_SERVER_TARGET_BINARY:=usr/sbin/dhcpd
  15. DHCP_RELAY_TARGET_BINARY:=usr/sbin/dhcrelay
  16. DHCP_CLIENT_TARGET_BINARY:=usr/sbin/dhclient
  17. BVARS=PREDEFINES='-D_PATH_DHCPD_DB=\"/var/lib/dhcp/dhcpd.leases\" \
  18. -D_PATH_DHCLIENT_DB=\"/var/lib/dhcp/dhclient.leases\"' \
  19. VARDB=/var/lib/dhcp
  20. $(DL_DIR)/$(DHCP_SOURCE):
  21. $(WGET) -P $(DL_DIR) $(DHCP_SITE)/$(DHCP_SOURCE)
  22. dhcp-source: $(DL_DIR)/$(DHCP_SOURCE)
  23. $(DHCP_DIR)/.unpacked: $(DL_DIR)/$(DHCP_SOURCE)
  24. $(DHCP_CAT) $(DL_DIR)/$(DHCP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  25. toolchain/patch-kernel.sh $(DHCP_DIR) package/dhcp/ dhcp*.patch
  26. touch $(DHCP_DIR)/.unpacked
  27. $(DHCP_DIR)/.configured: $(DHCP_DIR)/.unpacked
  28. (cd $(DHCP_DIR); $(TARGET_CONFIGURE_OPTS) ./configure );
  29. touch $(DHCP_DIR)/.configured
  30. $(DHCP_DIR)/$(DHCP_RELAY_BINARY): $(DHCP_DIR)/.configured
  31. $(MAKE) $(TARGET_CONFIGURE_OPTS) $(BVARS) -C $(DHCP_DIR)
  32. $(STRIP) $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
  33. $(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
  34. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  35. $(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_SERVER_BINARY) $(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY)
  36. $(INSTALL) -m 0755 -D package/dhcp/init-server $(TARGET_DIR)/etc/init.d/S80dhcp-server
  37. $(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf $(TARGET_DIR)/etc/dhcp/dhcpd.conf
  38. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
  39. $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
  40. $(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
  41. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  42. $(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_RELAY_BINARY) $(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY)
  43. $(INSTALL) -m 0755 -D package/dhcp/init-relay $(TARGET_DIR)/etc/init.d/S80dhcp-relay
  44. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
  45. $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
  46. $(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
  47. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  48. $(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_CLIENT_BINARY) $(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY)
  49. $(INSTALL) -m 0644 -D package/dhcp/dhclient.conf $(TARGET_DIR)/etc/dhcp/dhclient.conf
  50. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
  51. $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
  52. dhcp_server: uclibc $(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY)
  53. dhcp_relay: uclibc $(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY)
  54. dhcp_client: uclibc $(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY)
  55. dhcp-clean:
  56. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(DHCP_DIR) uninstall
  57. -$(MAKE) -C $(DHCP_DIR) clean
  58. dhcp-dirclean:
  59. rm -rf $(DHCP_DIR)
  60. #############################################################
  61. #
  62. # Toplevel Makefile options
  63. #
  64. #############################################################
  65. #ifeq ($(strip $(BR2_PACKAGE_ISC_DHCP)),y)
  66. #TARGETS+=dhcp
  67. #endif
  68. ifeq ($(strip $(BR2_PACKAGE_DHCP_SERVER)),y)
  69. TARGETS+=dhcp_server
  70. endif
  71. ifeq ($(strip $(BR2_PACKAGE_DHCP_RELAY)),y)
  72. TARGETS+=dhcp_relay
  73. endif
  74. ifeq ($(strip $(BR2_PACKAGE_DHCP_CLIENT)),y)
  75. TARGETS+=dhcp_client
  76. endif