Blame view

buildroot/buildroot-2016.08.1/package/dhcp/dhcp.mk 3.76 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
  ################################################################################
  #
  # dhcp
  #
  ################################################################################
  
  DHCP_VERSION = 4.3.3-P1
  DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION)
  DHCP_INSTALL_STAGING = YES
  DHCP_LICENSE = ISC
  DHCP_LICENSE_FILES = LICENSE
  DHCP_CONF_ENV = \
  	CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
  		-D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \
  	ac_cv_file__dev_random=yes \
  	BINDCONFIG='--with-randomdev=/dev/random'
  DHCP_CONF_OPTS = \
  	--with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
  	--with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \
  	--with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
  	--with-cli6-lease-file=/var/lib/dhcp/dhclient6.leases \
  	--with-srv-pid-file=/var/run/dhcpd.pid \
  	--with-srv6-pid-file=/var/run/dhcpd6.pid \
  	--with-cli-pid-file=/var/run/dhclient.pid \
  	--with-cli6-pid-file=/var/run/dhclient6.pid \
  	--with-relay-pid-file=/var/run/dhcrelay.pid \
  	--with-relay6-pid-file=/var/run/dhcrelay6.pid
  
  # The source for the bind libraries used by dhcp are embedded in the dhcp source
  # as a tar-ball. Extract the bind source to allow any patches to be applied
  # during the patch phase.
  define DHCP_EXTRACT_BIND
  	cd $(@D)/bind; tar -xvf bind.tar.gz
  endef
  DHCP_POST_EXTRACT_HOOKS += DHCP_EXTRACT_BIND
  
  # The patchset requires configure et.al. to be regenerated.
  DHCP_AUTORECONF = YES
  
  # bind does not support parallel builds.
  DHCP_MAKE = $(MAKE1)
  
  # bind configure is called via dhcp make instead of dhcp configure. The make env
  # needs extra values for bind configure.
  DHCP_MAKE_ENV = \
  	$(TARGET_CONFIGURE_OPTS) \
  	BUILD_CC="$(HOSTCC)" \
  	BUILD_CFLAGS="$(HOST_CFLAGS)" \
  	BUILD_CPPFLAGS="$(HOST_CPPFLAGS)" \
  	BUILD_LDFLAGS="$(HOST_LDFLAGS)"
  
  ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y)
  DHCP_CONF_OPTS += --enable-delayed-ack
  endif
  
  ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
  define DHCP_INSTALL_SERVER
  	mkdir -p $(TARGET_DIR)/var/lib
  	(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  	$(INSTALL) -m 0755 -D $(@D)/server/dhcpd $(TARGET_DIR)/usr/sbin/dhcpd
  	$(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \
  		$(TARGET_DIR)/etc/dhcp/dhcpd.conf
  endef
  endif
  
  ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
  define DHCP_INSTALL_RELAY
  	mkdir -p $(TARGET_DIR)/var/lib
  	(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  	$(INSTALL) -m 0755 -D $(DHCP_DIR)/relay/dhcrelay \
  		$(TARGET_DIR)/usr/sbin/dhcrelay
  endef
  endif
  
  ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
  define DHCP_INSTALL_CLIENT
  	mkdir -p $(TARGET_DIR)/var/lib
  	(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
  	$(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
  		$(TARGET_DIR)/sbin/dhclient
  	$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
  		$(TARGET_DIR)/etc/dhcp/dhclient.conf
  	$(INSTALL) -m 0755 -D package/dhcp/dhclient-script \
  		$(TARGET_DIR)/sbin/dhclient-script
  endef
  endif
  
  # Options don't matter, scripts won't start if binaries aren't there
  define DHCP_INSTALL_INIT_SYSV
  	$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \
  		$(TARGET_DIR)/etc/init.d/S80dhcp-server
  	$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \
  		$(TARGET_DIR)/etc/init.d/S80dhcp-relay
  endef
  
  ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
  define DHCP_INSTALL_INIT_SYSTEMD
  	$(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
  		$(TARGET_DIR)/usr/lib/systemd/system/dhcpd.service
  
  	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
  
  	ln -sf ../../../../usr/lib/systemd/system/dhcpd.service \
  		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service
  
  	echo "d /var/lib/dhcp 0755 - - - -" > \
  		$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
  	echo "f /var/lib/dhcp/dhcpd.leases - - - - -" >> \
  		$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
  endef
  endif
  
  define DHCP_INSTALL_TARGET_CMDS
  	$(DHCP_INSTALL_RELAY)
  	$(DHCP_INSTALL_SERVER)
  	$(DHCP_INSTALL_CLIENT)
  endef
  
  $(eval $(autotools-package))