summaryrefslogblamecommitdiffstats
path: root/package/dhcp/dhcp.mk
blob: 57e0a5dcd87ee27455c60177f24b0e8772b555a3 (plain) (tree)
1
2
3
4
5
6
7
8
9




                                                             

                                        
                                                      
                 
                                           
                                               
                                                
                                                  






                                                                   
                         
                                                     
 
                                     
 



                               

                                                                                   
                                                                        
                

                                              


                                          


                              

                                                         
                                                                
                                                    

                                                                            
                                      




                                                                 
                                         

                                                           
                                       

                                                       
                                         

                                                                           
                                      
                                                     

                                                                
                                         

                                                          

                                                                            
                                      
                                                     

                                                                 
                                       



                                                            
 
                                                       
 
                                                     
 
                                                       

           









                                                             
                                 

              
                                   
                    
     
                                  

                   
                                   
                    
     
#############################################################
#
# dhcp
#
#############################################################
DHCP_VERSION:=3.0.5
DHCP_SOURCE:=dhcp-$(DHCP_VERSION).tar.gz
DHCP_SITE:=ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history
DHCP_CAT:=$(ZCAT)
DHCP_DIR:=$(BUILD_DIR)/dhcp-$(DHCP_VERSION)
DHCP_SERVER_BINARY:=work.linux-2.2/server/dhcpd
DHCP_RELAY_BINARY:=work.linux-2.2/relay/dhcrelay
DHCP_CLIENT_BINARY:=work.linux-2.2/client/dhclient
DHCP_SERVER_TARGET_BINARY:=usr/sbin/dhcpd
DHCP_RELAY_TARGET_BINARY:=usr/sbin/dhcrelay
DHCP_CLIENT_TARGET_BINARY:=usr/sbin/dhclient
BVARS=PREDEFINES='-D_PATH_DHCPD_DB=\"/var/lib/dhcp/dhcpd.leases\" \
	-D_PATH_DHCLIENT_DB=\"/var/lib/dhcp/dhclient.leases\"' \
	VARDB=/var/lib/dhcp

$(DL_DIR)/$(DHCP_SOURCE):
	 $(call DOWNLOAD,$(DHCP_SITE),$(DHCP_SOURCE))

dhcp-source: $(DL_DIR)/$(DHCP_SOURCE)

dhcp_server-source: dhcp-source
dhcp_relay-source: dhcp-source
dhcp_client-source: dhcp-source

$(DHCP_DIR)/.unpacked: $(DL_DIR)/$(DHCP_SOURCE)
	$(DHCP_CAT) $(DL_DIR)/$(DHCP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
	toolchain/patch-kernel.sh $(DHCP_DIR) package/dhcp/ dhcp\*.patch
	touch $@

$(DHCP_DIR)/.configured: $(DHCP_DIR)/.unpacked
	(cd $(DHCP_DIR); \
		$(TARGET_CONFIGURE_OPTS) \
		$(TARGET_CONFIGURE_ARGS) \
		./configure; \
	)
	touch $@

$(DHCP_DIR)/$(DHCP_RELAY_BINARY): $(DHCP_DIR)/.configured
	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(BVARS) -C $(DHCP_DIR)
	$(STRIPCMD) $(DHCP_DIR)/$(DHCP_RELAY_BINARY)

$(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
	mkdir -p $(TARGET_DIR)/var/lib
	(cd $(TARGET_DIR)/var/lib; \
		ln -snf /tmp dhcp; \
	)
	$(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_SERVER_BINARY) \
		$(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY)
	mkdir -p $(TARGET_DIR)/etc/init.d
	$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-server \
		$(TARGET_DIR)/etc/init.d
	mkdir -p $(TARGET_DIR)/etc/dhcp
	$(INSTALL) -m 0644 -D package/dhcp/dhcpd.conf \
		$(TARGET_DIR)/etc/dhcp/dhcpd.conf
	rm -rf $(TARGET_DIR)/share/locale

$(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
	mkdir -p $(TARGET_DIR)/var/lib
	(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
	$(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_RELAY_BINARY) \
		$(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY)
	mkdir -p $(TARGET_DIR)/etc/init.d
	$(INSTALL) -m 0755 -D package/dhcp/S80dhcp-relay \
		$(TARGET_DIR)/etc/init.d

$(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY): $(DHCP_DIR)/$(DHCP_RELAY_BINARY)
	mkdir -p $(TARGET_DIR)/var/lib
	(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
	$(INSTALL) -m 0755 -D $(DHCP_DIR)/$(DHCP_CLIENT_BINARY) \
		$(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY)
	mkdir -p $(TARGET_DIR)/etc/dhcp
	$(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

dhcp_server: $(TARGET_DIR)/$(DHCP_SERVER_TARGET_BINARY)

dhcp_relay: $(TARGET_DIR)/$(DHCP_RELAY_TARGET_BINARY)

dhcp_client: $(TARGET_DIR)/$(DHCP_CLIENT_TARGET_BINARY)

dhcp-clean:
	-$(MAKE) -C $(DHCP_DIR) clean

dhcp-dirclean:
	rm -rf $(DHCP_DIR)

#############################################################
#
# Toplevel Makefile options
#
#############################################################
#ifeq ($(BR2_PACKAGE_ISC_DHCP),y)
#TARGETS+=dhcp
#endif
ifeq ($(BR2_PACKAGE_DHCP_SERVER),y)
TARGETS+=dhcp_server
endif
ifeq ($(BR2_PACKAGE_DHCP_RELAY),y)
TARGETS+=dhcp_relay
endif
ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
TARGETS+=dhcp_client
endif