dhcp.mk 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. #############################################################
  2. #
  3. # dhcp
  4. #
  5. #############################################################
  6. DHCP_VERSION:=3.0.5
  7. DHCP_SOURCE:=dhcp-$(DHCP_VERSION).tar.gz
  8. DHCP_SITE:=ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history
  9. DHCP_CAT:=$(ZCAT)
  10. DHCP_DIR:=$(BUILD_DIR)/dhcp-$(DHCP_VERSION)
  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. $(call DOWNLOAD,$(DHCP_SITE),$(DHCP_SOURCE))
  22. dhcp-source: $(DL_DIR)/$(DHCP_SOURCE)
  23. dhcp_server-source: dhcp-source
  24. dhcp_relay-source: dhcp-source
  25. dhcp_client-source: dhcp-source
  26. $(DHCP_DIR)/.unpacked: $(DL_DIR)/$(DHCP_SOURCE)
  27. $(DHCP_CAT) $(DL_DIR)/$(DHCP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  28. toolchain/patch-kernel.sh $(DHCP_DIR) package/dhcp/ dhcp\*.patch
  29. touch $@
  30. $(DHCP_DIR)/.configured: $(DHCP_DIR)/.unpacked
  31. (cd $(DHCP_DIR); \
  32. $(TARGET_CONFIGURE_OPTS) \
  33. $(TARGET_CONFIGURE_ARGS) \
  34. ./configure; \
  35. )
  36. touch $@
  37. $(DHCP_DIR)/$(DHCP_RELAY_BINARY): $(DHCP_DIR)/.configured
  38. $(MAKE) $(TARGET_CONFIGURE_OPTS) $(BVARS) -C $(DHCP_DIR)
  39. $(STRIPCMD) $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
  40. $(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
  41. mkdir -p $(TARGET_DIR)/var/lib
  42. (cd $(TARGET_DIR)/var/lib; \
  43. ln -snf /tmp dhcp; \
  44. )
  45. $(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_SERVER_BINARY) \
  46. $(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY)
  47. mkdir -p $(TARGET_DIR)/etc/init.d
  48. $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \
  49. $(TARGET_DIR)/etc/init.d
  50. mkdir -p $(TARGET_DIR)/etc/dhcp
  51. $(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \
  52. $(TARGET_DIR)/etc/dhcp/dhcpd.conf
  53. ifneq ($(BR2_HAVE_INFOPAGES),y)
  54. rm -rf $(TARGET_DIR)/usr/info
  55. endif
  56. ifneq ($(BR2_HAVE_MANPAGES),y)
  57. rm -rf $(TARGET_DIR)/usr/man
  58. endif
  59. rm -rf $(TARGET_DIR)/share/locale
  60. rm -rf $(TARGET_DIR)/usr/share/doc
  61. $(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
  62. mkdir -p $(TARGET_DIR)/var/lib
  63. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  64. $(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_RELAY_BINARY) \
  65. $(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY)
  66. mkdir -p $(TARGET_DIR)/etc/init.d
  67. $(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \
  68. $(TARGET_DIR)/etc/init.d
  69. ifneq ($(BR2_HAVE_INFOPAGES),y)
  70. rm -rf $(TARGET_DIR)/usr/info
  71. endif
  72. ifneq ($(BR2_HAVE_MANPAGES),y)
  73. rm -rf $(TARGET_DIR)/usr/man
  74. endif
  75. # Why on earth do we wipe out whole directories here?
  76. #rm -rf $(TARGET_DIR)/usr/share/locale
  77. #rm -rf $(TARGET_DIR)/usr/share/doc
  78. $(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
  79. mkdir -p $(TARGET_DIR)/var/lib
  80. (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  81. $(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_CLIENT_BINARY) \
  82. $(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY)
  83. mkdir -p $(TARGET_DIR)/etc/dhcp
  84. $(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
  85. $(TARGET_DIR)/etc/dhcp/dhclient.conf
  86. $(INSTALL) -m 0755 -D package/dhcp/dhclient-script \
  87. $(TARGET_DIR)/sbin/dhclient-script
  88. ifneq ($(BR2_HAVE_INFOPAGES),y)
  89. rm -rf $(TARGET_DIR)/usr/info
  90. endif
  91. ifneq ($(BR2_HAVE_MANPAGES),y)
  92. rm -rf $(TARGET_DIR)/usr/man
  93. endif
  94. # Why on earth do we wipe out whole directories here?
  95. #rm -rf $(TARGET_DIR)/usr/share/locale
  96. #rm -rf $(TARGET_DIR)/usr/share/doc
  97. dhcp_server: uclibc $(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY)
  98. dhcp_relay: uclibc $(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY)
  99. dhcp_client: uclibc $(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY)
  100. dhcp-clean:
  101. -$(MAKE) -C $(DHCP_DIR) clean
  102. dhcp-dirclean:
  103. rm -rf $(DHCP_DIR)
  104. #############################################################
  105. #
  106. # Toplevel Makefile options
  107. #
  108. #############################################################
  109. #ifeq ($(BR2_PACKAGE_ISC_DHCP),y)
  110. #TARGETS+=dhcp
  111. #endif
  112. ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
  113. TARGETS+=dhcp_server
  114. endif
  115. ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
  116. TARGETS+=dhcp_relay
  117. endif
  118. ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
  119. TARGETS+=dhcp_client
  120. endif