# Makefile for hal/3pp/udhcp-0.9.8


### Requires these modules

REQUIRES += base/c


### Component specification

COMPONENT_IS_3PP = true
COMPONENT_TARGETS = $(TARGET_NAME_VIP)
NEEDS_ABS_PATHS = true


### Tar archive

version      = 0.9.8
SRC_ARCHIVE  = $(CURDIR)/udhcp-$(version).tar.gz
SRC_DIR      = $(TARGET)/udhcp-$(version)

PATCHES      = $(CURDIR)/patches


### Targets

BIN_TARGETS += $(SRC_DIR)/udhcpc

OTHER_TARGETS += $(TARGET_INSTALL_DIR)/etc/udhcpc.script

DOC_TARGETS = $(SRC_DIR)/COPYING
DOC_TARGETS += $(SRC_DIR)/AUTHORS
DOC_TARGETS += $(SRC_DIR)/README
DOC_OMIT_SOURCE_DIR = yes
DOC_PATH = ../../doc/doc

PATCHES = patches

### Extra cleanup

CLEANUP_FILES += .done


### Common.mk

include ../../../makesystem/common.mk


### Dependencies

$(SRC_DIR)/.done: $(SRC_ARCHIVE) $(PATCHES_DEP)
	$(UNPACK_SRC_ARCHIVE)
	$(APPLY_PATCHES)
	@touch $@

$(BIN_TARGETS): $(SRC_DIR)/.done
	$(BSG_DEVSETUP) make -C $(SRC_DIR)
	@touch $@

$(OTHER_TARGETS): udhcpc.script
	@echo "Installing udhcpc.script"
	@mkdir -p $(TARGET_INSTALL_DIR)/etc
	@cp udhcpc.script $(TARGET_INSTALL_DIR)/etc
	@touch $@

%.patch:
	@echo "Regenerating patch for $(SRC_DIR)/$(basename $(@F))"
	@tar xfzO $(SRC_ARCHIVE) udhcp-$(version)/$(basename $(@F)) >$(basename $(@F)).tmp
	@diff -u $(basename $(@F)).tmp $(SRC_DIR)/$(basename $(@F)) >$@ || true
	@rm $(basename $(@F)).tmp

$(DOC_TARGETS): $(SRC_DIR)/.done
