2 # Copyright (C) 2010-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
15 PKG_SOURCE_URL
:=http
://swupdate.openvpn.net
/community
/releases
16 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
17 PKG_HASH
:=6f23ba49a1dbeb658f49c7ae17d9ea979de6d92c7357de3d55cd4525e1b2f87e
19 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(BUILD_VARIANT
)/$(PKG_NAME
)-$(PKG_VERSION
)
26 include $(INCLUDE_DIR
)/package.mk
28 define Package
/openvpn
/Default
29 TITLE
:=Open source VPN solution using
$(2)
32 URL
:=http
://openvpn.net
35 DEPENDS
:=+kmod-tun
+OPENVPN_
$(1)_ENABLE_LZO
:liblzo
+OPENVPN_
$(1)_ENABLE_IPROUTE2
:ip
$(3)
38 MAINTAINER
:=Mirko Vogt
<mirko@openwrt.org
>
41 Package
/openvpn-openssl
=$(call Package
/openvpn
/Default
,openssl
,OpenSSL
,+PACKAGE_openvpn-openssl
:libopenssl
)
42 Package
/openvpn-mbedtls
=$(call Package
/openvpn
/Default
,mbedtls
,mbedTLS
,+PACKAGE_openvpn-mbedtls
:libmbedtls
)
43 Package
/openvpn-nossl
=$(call Package
/openvpn
/Default
,nossl
,plaintext
(no SSL
))
45 define Package
/openvpn
/config
/Default
46 source
"$(SOURCE)/Config-$(1).in"
49 Package
/openvpn-openssl
/config
=$(call Package
/openvpn
/config
/Default
,openssl
)
50 Package
/openvpn-mbedtls
/config
=$(call Package
/openvpn
/config
/Default
,mbedtls
)
51 Package
/openvpn-nossl
/config
=$(call Package
/openvpn
/config
/Default
,nossl
)
53 ifeq ($(BUILD_VARIANT
),mbedtls
)
54 CONFIG_OPENVPN_MBEDTLS
:=y
56 ifeq ($(BUILD_VARIANT
),openssl
)
57 CONFIG_OPENVPN_OPENSSL
:=y
59 ifeq ($(BUILD_VARIANT
),nossl
)
60 CONFIG_OPENVPN_NOSSL
:=y
64 IFCONFIG
=/sbin
/ifconfig \
69 TARGET_CFLAGS
+= -ffunction-sections
-fdata-sections
70 TARGET_LDFLAGS
+= -Wl
,--gc-sections
72 define Build
/Configure
73 $(call Build
/Configure
/Default
, \
74 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_SMALL
),--enable-small
) \
80 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_LZO
),--enable
,--disable
)-lzo \
81 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_LZ4
),--enable
,--disable
)-lz4 \
82 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_X509_ALT_USERNAME
),enable
,disable-x509-alt-username
)-ssl \
83 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_SERVER
),--enable
,--disable
)-server \
84 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_MANAGEMENT
),--enable
,--disable
)-management \
85 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_SOCKS
),--enable
,--disable
)-socks \
86 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_HTTP
),--enable
,--disable
)-http-proxy \
87 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_FRAGMENT
),--enable
,--disable
)-fragment \
88 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_MULTIHOME
),--enable
,--disable
)-multihome \
89 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_IPROUTE2
),--enable
,--disable
)-iproute2 \
90 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_DEF_AUTH
),--enable
,--disable
)-def-auth \
91 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_PF
),--enable
,--disable
)-pf \
92 $(if
$(CONFIG_OPENVPN_NOSSL
),--disable-ssl
--disable-crypto
,--enable-ssl
--enable-crypto
) \
93 $(if
$(CONFIG_OPENVPN_OPENSSL
),--with-crypto-library
=openssl
) \
94 $(if
$(CONFIG_OPENVPN_MBEDTLS
),--with-crypto-library
=mbedtls
) \
98 define Package
/openvpn-
$(BUILD_VARIANT
)/conffiles
102 define Package
/openvpn-
$(BUILD_VARIANT
)/install
108 $(1)/lib
/upgrade
/keep.d
111 $(PKG_INSTALL_DIR
)/usr
/sbin
/openvpn \
116 $(1)/etc
/init.d
/openvpn
118 $(INSTALL_CONF
) files
/openvpn.config \
119 $(1)/etc
/config
/openvpn
122 files
/openvpn.upgrade \
123 $(1)/lib
/upgrade
/keep.d
/openvpn
126 $(eval
$(call BuildPackage
,openvpn-openssl
))
127 $(eval
$(call BuildPackage
,openvpn-mbedtls
))
128 $(eval
$(call BuildPackage
,openvpn-nossl
))