# $FreeWRT$
#-
# This file is part of the FreeWRT project. FreeWRT is copyrighted
# material, please see the LICENCE file in the top-level directory
# or at http://www.freewrt.org/licence for details.

include $(TOPDIR)/rules.mk

PKG_NAME:=		hostapd
PKG_VERSION:=		0.5.6
PKG_RELEASE:=		1
PKG_MD5SUM:=		095b6e0558b09cd36b1904c7edbaa78f

PKG_SOURCE_URL:=	http://hostap.epitest.fi/releases/
PKG_SOURCE:=		$(PKG_NAME)-$(PKG_VERSION).tar.gz

include $(TOPDIR)/mk/package.mk

define PKG_build

ifneq ($(FWRT_PACKAGE_$(1)),)
BUILD_TARGETS += $(WRKINST)/$(2)/hostapd
endif

$(WRKINST)/$(2)/hostapd: $(WRKBUILD)/.prepared
	-$(MAKE) -C $(WRKBUILD) clean
	$(CP) ./files/$(2).config $(WRKBUILD)/.config
	$(MAKE) -C $(WRKBUILD) \
		$(TARGET_CONFIGURE_OPTS) \
		OPTFLAGS="$(TARGET_CFLAGS)" \
		CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include/madwifi" \
		LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
		hostapd
	mkdir -p $(WRKINST)/$(2)
	$(CP) $(WRKBUILD)/hostapd $(WRKINST)/$(2)/
	touch $$@

$$(IPKG_$(1)): $(WRKINST)/$(2)/hostapd
	install -m0755 -d $$(IDIR_$(1))/etc
	install -m0600 $(WRKBUILD)/madwifi.conf $$(IDIR_$(1))/etc/hostapd.conf
	install -m0755 -d $$(IDIR_$(1))/usr/sbin
	install -m0755 $(WRKINST)/$(2)/hostapd $$(IDIR_$(1))/usr/sbin/
	$(RSTRIP) $$(IDIR_$(1))
	$(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)

endef

$(eval $(call PKG_template,HOSTAPD,hostapd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,HOSTAPD_MINI,hostapd-mini,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,HOSTAPD_UTILS,hostapd-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))

$(eval $(call PKG_build,HOSTAPD,hostapd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_build,HOSTAPD_MINI,hostapd-mini,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))

$(WRKBUILD)/.configured:
	$(CP) ./files/hostapd.config $(WRKBUILD)/.config
	touch $@

$(WRKBUILD)/.built: $(BUILD_TARGETS)
	$(MAKE) -C $(WRKBUILD) \
		$(TARGET_CONFIGURE_OPTS) \
		OPTFLAGS="$(TARGET_CFLAGS)" \
		CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include/madwifi" \
		LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
		hostapd_cli
	touch $@

$(IPKG_HOSTAPD_UTILS): $(WRKBUILD)/.built
	install -m0755 -d $(IDIR_HOSTAPD_UTILS)/usr/sbin
	install -m0755 $(WRKBUILD)/hostapd_cli $(IDIR_HOSTAPD_UTILS)/usr/sbin/
	$(RSTRIP) $(IDIR_HOSTAPD_UTILS)
	$(IPKG_BUILD) $(IDIR_HOSTAPD_UTILS) $(PACKAGE_DIR)
