treewide: add support for "lto" in PKG_BUILD_FLAGS
[openwrt/staging/dedeckeh.git] / package / network / utils / iw / Makefile
1 #
2 # Copyright (C) 2007-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=iw
11 PKG_VERSION:=5.19
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=@KERNEL/software/network/iw
16 PKG_HASH:=f167bbe947dd53bb9ebc0c1dcef5db6ad73ac1d6084f2c6f9376c5c360cc4d4e
17
18 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
19 PKG_LICENSE:=GPL-2.0
20
21 PKG_BUILD_FLAGS:=gc-sections lto
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/iw
26 SECTION:=net
27 CATEGORY:=Network
28 TITLE:=cfg80211 interface configuration utility
29 URL:=http://wireless.kernel.org/en/users/Documentation/iw
30 DEPENDS:= +libnl-tiny
31 VARIANT:=tiny
32 endef
33
34 define Package/iw-full
35 $(Package/iw)
36 TITLE += (full version)
37 VARIANT:=full
38 PROVIDES:=iw
39 endef
40
41 define Build/Configure
42 echo "const char iw_version[] = \"$(PKG_VERSION)\";" > $(PKG_BUILD_DIR)/version.c
43 echo "#!/bin/sh" > $(PKG_BUILD_DIR)/version.sh
44 chmod +x $(PKG_BUILD_DIR)/version.sh
45 endef
46
47 TARGET_CPPFLAGS:= \
48 -I$(STAGING_DIR)/usr/include/libnl-tiny \
49 $(TARGET_CPPFLAGS) \
50 -DCONFIG_LIBNL20 \
51 -D_GNU_SOURCE
52
53 ifeq ($(BUILD_VARIANT),full)
54 TARGET_CPPFLAGS += -DIW_FULL
55 MAKE_FLAGS += IW_FULL=1
56 endif
57
58 MAKE_FLAGS += \
59 CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
60 LDFLAGS="$(TARGET_LDFLAGS)" \
61 NL1FOUND="" NL2FOUND=Y \
62 NLLIBNAME="libnl-tiny" \
63 LIBS="-lm -lnl-tiny" \
64 V=1
65
66 define Package/iw/install
67 $(INSTALL_DIR) $(1)/usr/sbin
68 $(INSTALL_BIN) $(PKG_BUILD_DIR)/iw $(1)/usr/sbin/
69 endef
70
71 Package/iw-full/install=$(Package/iw/install)
72
73 $(eval $(call BuildPackage,iw))
74 $(eval $(call BuildPackage,iw-full))