nftables: implement no/json variants
[openwrt/staging/rmilecki.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:=0.9.3
11 PKG_RELEASE:=1
12
13 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
14 PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
15 PKG_HASH:=956b915ce2a7aeaff123e49006be7a0690a0964e96c062703181a36e2e5edb78
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 endef
49
50 define Package/nftables-json
51 $(Package/nftables/Default)
52 TITLE+= with JSON support
53 VARIANT:=json
54 DEPENDS+=+jansson
55 endef
56
57 ifeq ($(BUILD_VARIANT),json)
58 CONFIGURE_ARGS += --with-json
59 endif
60
61 define Package/nftables/install/Default
62 $(INSTALL_DIR) $(1)/usr/sbin
63 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/nft $(1)/usr/sbin/
64 $(INSTALL_DIR) $(1)/usr/lib
65 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
66 endef
67
68 Package/nftables-nojson/install = $(Package/nftables/install/Default)
69 Package/nftables-json/install = $(Package/nftables/install/Default)
70
71 $(eval $(call BuildPackage,nftables-nojson))
72 $(eval $(call BuildPackage,nftables-json))