OSDN Git Service

8f0fddaa0ea400a0da4ca03413d76c9dae45c25a
[immortalwrt/immortalwrt.git] / package / network / utils / nftables / Makefile
1 # Copyright (C) 2015 OpenWrt.org
2 #
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
5 #
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=nftables
10 PKG_VERSION:=1.0.2
11 PKG_RELEASE:=2
12
13 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
14 PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
15 PKG_HASH:=0b28a36ffcf4567b841de7bd3f37918b1fed27859eb48bdec51e1f7a83954c02
16 PKG_MAINTAINER:=
17 PKG_LICENSE:=GPL-2.0
18
19 PKG_FIXUP:=autoreconf
20 PKG_INSTALL:=1
21
22 include $(INCLUDE_DIR)/package.mk
23
24 DISABLE_NLS:=
25
26 CONFIGURE_ARGS += \
27         --disable-debug \
28         --disable-man-doc \
29         --with-mini-gmp \
30         --without-cli \
31         --disable-python
32
33 define Package/nftables/Default
34   SECTION:=net
35   CATEGORY:=Network
36   SUBMENU:=Firewall
37   TITLE:=nftables userspace utility
38   DEPENDS:=+kmod-nft-core +libnftnl
39   URL:=http://netfilter.org/projects/nftables/
40   PROVIDES:=nftables
41 endef
42
43 define Package/nftables-nojson
44   $(Package/nftables/Default)
45   TITLE+= no JSON support
46   VARIANT:=nojson
47   DEFAULT_VARIANT:=1
48   CONFLICTS:=nftables-json
49 endef
50
51 define Package/nftables-json
52   $(Package/nftables/Default)
53   TITLE+= with JSON support
54   VARIANT:=json
55   DEPENDS+=+jansson
56 endef
57
58 ifeq ($(BUILD_VARIANT),json)
59   CONFIGURE_ARGS += --with-json
60 endif
61
62 TARGET_CFLAGS += -flto
63 TARGET_LDFLAGS += -flto
64
65 define Build/InstallDev
66         $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include
67         $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
68         $(CP) $(PKG_INSTALL_DIR)/usr/include/nftables $(1)/usr/include/
69         $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
70         $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnftables.pc \
71                 $(1)/usr/lib/pkgconfig/
72 endef
73
74 define Package/nftables/install/Default
75         $(INSTALL_DIR) $(1)/usr/sbin
76         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/nft $(1)/usr/sbin/
77         $(INSTALL_DIR) $(1)/usr/lib
78         $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
79 endef
80
81 Package/nftables-nojson/install = $(Package/nftables/install/Default)
82 Package/nftables-json/install = $(Package/nftables/install/Default)
83
84 $(eval $(call BuildPackage,nftables-nojson))
85 $(eval $(call BuildPackage,nftables-json))