Makefile (5806B)
1 # 2 # Copyright (C) 2012-2015 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:=fastd 11 PKG_VERSION:=18 12 PKG_RELEASE:=2 13 14 PKG_MAINTAINER:=Matthias Schiffer <mschiffer@universe-factory.net> 15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz 16 PKG_SOURCE_URL:=https://projects.universe-factory.net/attachments/download/86 17 PKG_MD5SUM:=e53236d3049f64f7955ad9556da099eb 18 19 PKG_LICENSE:=BSD-2-Clause 20 PKG_LICENSE_FILES:=COPYRIGHT 21 22 PKG_CONFIG_DEPENDS:=\ 23 CONFIG_FASTD_ENABLE_METHOD_CIPHER_TEST \ 24 CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC \ 25 CONFIG_FASTD_ENABLE_METHOD_COMPOSED_UMAC \ 26 CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC \ 27 CONFIG_FASTD_ENABLE_METHOD_GENERIC_POLY1305 \ 28 CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC \ 29 CONFIG_FASTD_ENABLE_METHOD_NULL \ 30 CONFIG_FASTD_ENABLE_METHOD_XSALSA20_POLY1305 \ 31 CONFIG_FASTD_ENABLE_CIPHER_AES128_CTR \ 32 CONFIG_FASTD_ENABLE_CIPHER_NULL \ 33 CONFIG_FASTD_ENABLE_CIPHER_SALSA20 \ 34 CONFIG_FASTD_ENABLE_CIPHER_SALSA2012 \ 35 CONFIG_FASTD_ENABLE_MAC_GHASH \ 36 CONFIG_FASTD_ENABLE_MAC_UHASH \ 37 CONFIG_FASTD_WITH_CAPABILITIES \ 38 CONFIG_FASTD_WITH_CMDLINE_USER \ 39 CONFIG_FASTD_WITH_CMDLINE_LOGGING \ 40 CONFIG_FASTD_WITH_CMDLINE_OPERATION \ 41 CONFIG_FASTD_WITH_CMDLINE_COMMANDS \ 42 CONFIG_FASTD_WITH_DYNAMIC_PEERS \ 43 CONFIG_FASTD_WITH_STATUS_SOCKET 44 45 46 PKG_BUILD_DEPENDS:=nacl 47 48 include $(INCLUDE_DIR)/package.mk 49 include $(INCLUDE_DIR)/cmake.mk 50 51 define Package/fastd 52 SECTION:=net 53 CATEGORY:=Network 54 DEPENDS:=+kmod-tun +librt +libpthread +libuecc +FASTD_WITH_STATUS_SOCKET:libjson-c +FASTD_WITH_CAPABILITIES:libcap 55 TITLE:=Fast and Secure Tunneling Daemon 56 URL:=https://projects.universe-factory.net/projects/fastd 57 SUBMENU:=VPN 58 endef 59 60 define Package/fastd/config 61 source "$(SOURCE)/Config.in" 62 endef 63 64 TARGET_CFLAGS += -ffunction-sections -fdata-sections 65 TARGET_LDFLAGS += -Wl,--gc-sections 66 67 CMAKE_OPTIONS += \ 68 -DCMAKE_BUILD_TYPE:STRING=MINSIZEREL \ 69 -DWITH_METHOD_CIPHER_TEST:BOOL=FALSE \ 70 -DWITH_METHOD_COMPOSED_GMAC:BOOL=FALSE \ 71 -DWITH_METHOD_COMPOSED_UMAC:BOOL=FALSE \ 72 -DWITH_METHOD_GENERIC_GMAC:BOOL=FALSE \ 73 -DWITH_METHOD_GENERIC_POLY1305:BOOL=FALSE \ 74 -DWITH_METHOD_GENERIC_UMAC:BOOL=FALSE \ 75 -DWITH_METHOD_NULL:BOOL=FALSE \ 76 -DWITH_METHOD_XSALSA20_POLY1305:BOOL=FALSE \ 77 -DWITH_CIPHER_AES128_CTR:BOOL=FALSE \ 78 -DWITH_CIPHER_NULL:BOOL=FALSE \ 79 -DWITH_CIPHER_SALSA20:BOOL=FALSE \ 80 -DWITH_CIPHER_SALSA2012:BOOL=FALSE \ 81 -DWITH_MAC_GHASH:BOOL=FALSE \ 82 -DWITH_MAC_UHASH:BOOL=FALSE \ 83 -DWITH_CAPABILITIES:BOOL=FALSE \ 84 -DWITH_CMDLINE_USER:BOOL=FALSE \ 85 -DWITH_CMDLINE_LOGGING:BOOL=FALSE \ 86 -DWITH_CMDLINE_OPERATION:BOOL=FALSE \ 87 -DWITH_CMDLINE_COMMANDS:BOOL=FALSE \ 88 -DWITH_DYNAMIC_PEERS:BOOL=FALSE \ 89 -DWITH_STATUS_SOCKET:BOOL=FALSE \ 90 -DENABLE_SYSTEMD:BOOL=FALSE \ 91 -DENABLE_LIBSODIUM:BOOL=FALSE \ 92 -DENABLE_LTO:BOOL=TRUE 93 94 95 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_CIPHER_TEST),y) 96 CMAKE_OPTIONS += -DWITH_METHOD_CIPHER_TEST:BOOL=TRUE 97 endif 98 99 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC),y) 100 CMAKE_OPTIONS += -DWITH_METHOD_COMPOSED_GMAC:BOOL=TRUE 101 endif 102 103 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_COMPOSED_UMAC),y) 104 CMAKE_OPTIONS += -DWITH_METHOD_COMPOSED_UMAC:BOOL=TRUE 105 endif 106 107 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC),y) 108 CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_GMAC:BOOL=TRUE 109 endif 110 111 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_POLY1305),y) 112 CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_POLY1305:BOOL=TRUE 113 endif 114 115 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC),y) 116 CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_UMAC:BOOL=TRUE 117 endif 118 119 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_NULL),y) 120 CMAKE_OPTIONS += -DWITH_METHOD_NULL:BOOL=TRUE 121 endif 122 123 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_XSALSA20_POLY1305),y) 124 CMAKE_OPTIONS += -DWITH_METHOD_XSALSA20_POLY1305:BOOL=TRUE 125 endif 126 127 128 ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_AES128_CTR),y) 129 CMAKE_OPTIONS += -DWITH_CIPHER_AES128_CTR:BOOL=TRUE 130 endif 131 132 ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_NULL),y) 133 CMAKE_OPTIONS += -DWITH_CIPHER_NULL:BOOL=TRUE 134 endif 135 136 ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_SALSA20),y) 137 CMAKE_OPTIONS += -DWITH_CIPHER_SALSA20:BOOL=TRUE 138 endif 139 140 ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_SALSA2012),y) 141 CMAKE_OPTIONS += -DWITH_CIPHER_SALSA2012:BOOL=TRUE 142 endif 143 144 145 ifeq ($(CONFIG_FASTD_ENABLE_MAC_GHASH),y) 146 CMAKE_OPTIONS += -DWITH_MAC_GHASH:BOOL=TRUE 147 endif 148 149 ifeq ($(CONFIG_FASTD_ENABLE_MAC_UHASH),y) 150 CMAKE_OPTIONS += -DWITH_MAC_UHASH:BOOL=TRUE 151 endif 152 153 154 ifeq ($(CONFIG_FASTD_WITH_CAPABILITIES),y) 155 CMAKE_OPTIONS += -DWITH_CAPABILITIES:BOOL=TRUE 156 endif 157 158 159 ifeq ($(CONFIG_FASTD_WITH_CMDLINE_USER),y) 160 CMAKE_OPTIONS += -DWITH_CMDLINE_USER:BOOL=TRUE 161 endif 162 163 ifeq ($(CONFIG_FASTD_WITH_CMDLINE_LOGGING),y) 164 CMAKE_OPTIONS += -DWITH_CMDLINE_LOGGING:BOOL=TRUE 165 endif 166 167 ifeq ($(CONFIG_FASTD_WITH_CMDLINE_OPERATION),y) 168 CMAKE_OPTIONS += -DWITH_CMDLINE_OPERATION:BOOL=TRUE 169 endif 170 171 ifeq ($(CONFIG_FASTD_WITH_CMDLINE_COMMANDS),y) 172 CMAKE_OPTIONS += -DWITH_CMDLINE_COMMANDS:BOOL=TRUE 173 endif 174 175 ifeq ($(CONFIG_FASTD_WITH_DYNAMIC_PEERS),y) 176 CMAKE_OPTIONS += -DWITH_DYNAMIC_PEERS:BOOL=TRUE 177 endif 178 179 ifeq ($(CONFIG_FASTD_WITH_STATUS_SOCKET),y) 180 CMAKE_OPTIONS += -DWITH_STATUS_SOCKET:BOOL=TRUE 181 endif 182 183 184 define Package/fastd/description 185 Fast and secure tunneling daemon, which is optimized on small code size and few dependencies 186 endef 187 188 define Package/fastd/conffiles 189 /etc/config/fastd 190 endef 191 192 define Package/fastd/install 193 $(INSTALL_DIR) $(1)/usr/bin 194 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fastd $(1)/usr/bin/ 195 196 $(INSTALL_DIR) $(1)/etc/init.d/ 197 $(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/openwrt/fastd.init $(1)/etc/init.d/fastd 198 $(INSTALL_DIR) $(1)/etc/config 199 $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/examples/openwrt/fastd.config $(1)/etc/config/fastd 200 $(INSTALL_DIR) $(1)/etc/fastd 201 $(INSTALL_DIR) $(1)/lib/upgrade/keep.d 202 $(INSTALL_DATA) files/fastd.upgrade $(1)/lib/upgrade/keep.d/fastd 203 endef 204 205 $(eval $(call BuildPackage,fastd))