From bb92232db407f57f8991e6686846939c0d64da9c Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 10 Nov 2009 22:00:59 +0000 Subject: [PATCH] hostapd: use the new build variants feature to clean up the makefile git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18358 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/hostapd/Makefile | 89 ++++++------------- .../files/{default.config => full.config} | 0 2 files changed, 26 insertions(+), 63 deletions(-) rename package/hostapd/files/{default.config => full.config} (100%) diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile index ddf21683b..d8a3ac8ac 100644 --- a/package/hostapd/Makefile +++ b/package/hostapd/Makefile @@ -29,6 +29,8 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_PACKAGE_hostapd-mini \ CONFIG_PACKAGE_kmod-hostap +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) + include $(INCLUDE_DIR)/package.mk DRIVER_MAKEOPTS= \ @@ -49,12 +51,9 @@ define Package/hostapd $(call Package/hostapd/Default) TITLE+= (full) DEPENDS+= +PACKAGE_hostapd:libopenssl + VARIANT:=full endef -#define Package/hostapd/conffiles -#/etc/hostapd.conf -#endef - define Package/hostapd/description This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS Authenticator. @@ -63,15 +62,11 @@ endef define Package/hostapd-mini $(call Package/hostapd/Default) TITLE+= (WPA-PSK only) + VARIANT:=mini endef -#define Package/hostapd-mini/conffiles -#/etc/hostapd.conf -#endef - define Package/hostapd-mini/description - This package contains a minimal IEEE 802.1x/WPA/EAP/RADIUS Authenticator - (WPA-PSK only). + This package contains a minimal IEEE 802.1x/WPA Authenticator (WPA-PSK only). endef define Package/hostapd-utils @@ -85,14 +80,8 @@ define Package/hostapd-utils/description IEEE 802.1x/WPA/EAP/RADIUS Authenticator. endef -define Build/ConfigureTarget - rm -rf $(PKG_BUILD_DIR)/hostapd.$(1) - mkdir -p $(PKG_BUILD_DIR)/hostapd.$(1) - $(CP) \ - $(PKG_BUILD_DIR)/hostapd \ - $(PKG_BUILD_DIR)/src \ - $(PKG_BUILD_DIR)/hostapd.$(1)/ - $(CP) ./files/$(1).config $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/.config +define Build/Configure + $(CP) ./files/$(BUILD_VARIANT).config $(PKG_BUILD_DIR)/hostapd/.config endef TARGET_CPPFLAGS := \ @@ -104,66 +93,40 @@ TARGET_CPPFLAGS := \ -DCONFIG_LIBNL20 \ -D_GNU_SOURCE -define Build/CompileTarget +ifdef CONFIG_PACKAGE_kmod-mac80211 + TARGET_LDFLAGS += -lm -lnl-tiny +endif +ifeq ($(BUILD_VARIANT),full) + TARGET_LDFLAGS += -lssl -lcrypto +endif + +define Build/Compile CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ - $(MAKE) -C $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd \ + $(MAKE) -C $(PKG_BUILD_DIR)/hostapd \ $(TARGET_CONFIGURE_OPTS) \ $(DRIVER_MAKEOPTS) \ - LIBS="$(TARGET_LDFLAGS) \ - $(if $(CONFIG_PACKAGE_kmod-mac80211),-lm -lnl-tiny) \ - $(if $(findstring default,$(1)),-lssl -lcrypto)" \ + LIBS="$(TARGET_LDFLAGS)" \ hostapd hostapd_cli - $(CP) $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/hostapd_cli $(PKG_BUILD_DIR)/ endef define Package/InstallTemplate - $(INSTALL_DIR) $$(1)/lib/wifi - $(INSTALL_DATA) ./files/hostapd.sh $$(1)/lib/wifi/hostapd.sh - $(INSTALL_DIR) $$(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd.$(2)/hostapd/hostapd $$(1)/usr/sbin/ -# config is managed through uci -# $(INSTALL_DIR) $$(1)/etc -# $(INSTALL_CONF) $(PKG_BUILD_DIR)/hostapd.$(2)/hostapd/hostapd.conf $$(1)/etc/hostapd.conf + $(INSTALL_DIR) $(1)/lib/wifi + $(INSTALL_DATA) ./files/hostapd.sh $(1)/lib/wifi/hostapd.sh + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd $(1)/usr/sbin/ endef -define Package/Template - ifneq ($(CONFIG_PACKAGE_$(1)),) - define Build/Configure/$(2) - $(call Build/ConfigureTarget,$(2)) - endef - define Build/Compile/$(2) - $(call Build/CompileTarget,$(2)) - endef - define Package/$(1)/install - $(call Package/InstallTemplate,$(1),$(2)) - endef - endif -endef - -define Build/Configure - rm -f $(PKG_BUILD_DIR)/.configured* - $(call Build/Configure/default) - $(call Build/Configure/mini) -endef - -define Build/Compile - $(call Build/Compile/default) - $(call Build/Compile/mini) -endef - -define Build/Clean - rm -rf $(PKG_BUILD_DIR)_default - rm -rf $(PKG_BUILD_DIR)_mini -endef +ifeq ($(BUILD_VARIANT),full) + Package/hostapd/install = $(Package/InstallTemplate) +else + Package/hostapd-mini/install = $(Package/InstallTemplate) +endif define Package/hostapd-utils/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd_cli $(1)/usr/sbin/ endef -$(eval $(call Package/Template,hostapd,default)) -$(eval $(call Package/Template,hostapd-mini,mini)) - $(eval $(call BuildPackage,hostapd)) $(eval $(call BuildPackage,hostapd-mini)) $(eval $(call BuildPackage,hostapd-utils)) diff --git a/package/hostapd/files/default.config b/package/hostapd/files/full.config similarity index 100% rename from package/hostapd/files/default.config rename to package/hostapd/files/full.config