# This file is part of the FreeWRT project. FreeWRT is copyrighted
# material, please see the LICENCE file in the top-level directory

include $(TOPDIR)/rules.mk

PKG_NAME:=		hostapd
PKG_VERSION:=		2.11
PKG_RELEASE:=		1
PKG_MD5SUM:=		7c1d9203f575a4de7360b907df7aaccd

PKG_SOURCE_URL:=	https://w1.fi/releases

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)/hostapd clean
	$(CP) ./files/$(2).config $(WRKBUILD)/hostapd/.config
	$(MAKE) -C $(WRKBUILD)/hostapd \
		$(TARGET_CONFIGURE_OPTS) \
		OPTFLAGS="$(TARGET_CFLAGS)" \
		CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
		LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
		hostapd
	mkdir -p $(WRKINST)/$(2)
	$(CP) $(WRKBUILD)/hostapd/hostapd $(WRKINST)/$(2)/
	$(CP) $(WRKBUILD)/hostapd/hostapd.conf $(WRKINST)/$(2)/
	touch $$@

$$(IPKG_$(1)): $(WRKINST)/$(2)/hostapd
	install -m0755 -d $$(IDIR_$(1))/etc
	install -m0755 -d $$(IDIR_$(1))/usr/sbin
	install -m0755 $(WRKINST)/$(2)/hostapd $$(IDIR_$(1))/usr/sbin/
	install -m0755 $(WRKINST)/$(2)/hostapd.conf $$(IDIR_$(1))/etc
	$(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)/src \
		$(TARGET_CONFIGURE_OPTS) \
		OPTFLAGS="$(TARGET_CFLAGS)" \
		CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
		LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
		all
	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)
