Makefile (5042B)
1 # 2 # Copyright (C) 2010-2016 OpenWrt.org 3 # Copyright (C) 2009-2016 Thomas Heil <heil@terminal-consulting.de> 4 # 5 # This is free software, licensed under the GNU General Public License v2. 6 # See /LICENSE for more information. 7 # 8 9 include $(TOPDIR)/rules.mk 10 11 PKG_NAME:=haproxy 12 PKG_VERSION:=1.7.5 13 PKG_RELEASE:=01 14 15 PKG_SOURCE:=haproxy-$(PKG_VERSION).tar.gz 16 PKG_SOURCE_URL:=http://www.haproxy.org/download/1.7/src/ 17 PKG_MD5SUM:=ed84c80cb97852d2aa3161ed16c48a1c 18 19 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) 20 PKG_LICENSE:=GPL-2.0 21 MAINTAINER:=Thomas Heil <heil@terminal-consulting.de> 22 23 include $(INCLUDE_DIR)/package.mk 24 25 define Package/haproxy/Default 26 SUBMENU:=Web Servers/Proxies 27 SECTION:=net 28 CATEGORY:=Network 29 TITLE:=The Reliable, High Performance TCP/HTTP Load Balancer 30 URL:=http://haproxy.1wt.eu/ 31 endef 32 33 define Download/lua533 34 FILE:=lua-5.3.3.tar.gz 35 URL:=http://www.lua.org/ftp/ 36 MD5SUM:=703f75caa4fdf4a911c1a72e67a27498 37 endef 38 39 define Build/Prepare 40 $(call Build/Prepare/Default) 41 tar -zxvf $(DL_DIR)/lua-5.3.3.tar.gz -C $(PKG_BUILD_DIR) 42 ln -s $(PKG_BUILD_DIR)/lua-5.3.3 $(PKG_BUILD_DIR)/lua 43 endef 44 45 define Package/haproxy/Default/conffiles 46 /etc/haproxy.cfg 47 endef 48 49 define Package/haproxy/Default/description 50 Open source Reliable, High Performance TCP/HTTP Load Balancer. 51 endef 52 53 define Package/haproxy 54 DEPENDS+= +libpcre +libltdl +zlib +libpthread +libopenssl +libncursesw +libreadline +@OPENSSL_WITH_DEPRECATED +@OPENSSL_WITH_EC +@OPENSSL_WITH_EC2M +@OPENSSL_WITH_DTLS +@OPENSSL_WITH_COMPRESSION +@OPENSSL_WITH_NPN +@OPENSSL_WITH_PSK +@OPENSSL_WITH_SRP +@OPENSSL_ENGINE_DIGEST +@OPENSSL_ENGINE_CRYPTO 55 56 TITLE+= (with SSL support) 57 VARIANT:=ssl 58 $(call Package/haproxy/Default) 59 endef 60 61 define Package/haproxy/conffiles 62 $(call Package/haproxy/Default/conffiles) 63 endef 64 65 define Package/haproxy/description 66 $(call Package/haproxy/Default/description) 67 This package is built with SSL and LUA support. 68 endef 69 70 define Package/haproxy/config 71 select CONFIG_OPENSSL_WITH_DEPRECATED 72 $(call Package/haproxy/Default/config) 73 endef 74 75 define Package/haproxy-nossl 76 TITLE+= (without SSL support) 77 VARIANT:=nossl 78 DEPENDS+= +libpcre +libltdl +zlib +libpthread 79 TITLE+= (without SSL support) 80 $(call Package/haproxy/Default) 81 endef 82 83 define Package/haproxy-nossl/conffiles 84 $(call Package/haproxy/Default/conffiles) 85 endef 86 87 define Package/haproxy-nossl/description 88 $(call Package/haproxy/Default/description) 89 This package is built without SSL support. 90 endef 91 92 ifeq ($(CONFIG_avr32),y) 93 LINUX_TARGET:=linux26 94 else 95 LINUX_TARGET:=linux2628 96 endif 97 98 ifeq ($(BUILD_VARIANT),ssl) 99 ADDON+=USE_OPENSSL=1 100 ADDON+=USE_LUA=1 101 ADDON+=LUA_LIB_NAME="lua533" 102 ADDON+=LUA_INC="$(STAGING_DIR)/lua-5.3.3/include" 103 ADDON+=LUA_LIB="$(STAGING_DIR)/lua-5.3.3/lib" 104 ADDON+=ADDLIB="-lcrypto -lm " 105 else 106 ADDON+=ADDLIB="-lm" 107 endif 108 109 110 define Build/Compile 111 $(MAKE) TARGET=$(LINUX_TARGET) -C $(PKG_BUILD_DIR)/lua \ 112 INSTALL_TOP="$(STAGING_DIR)/lua-5.3.3/" \ 113 CC="$(TARGET_CC)" \ 114 LDFLAGS="$(TARGET_LDFLAGS) -lncurses -lreadline" \ 115 LD="$(TARGET_LD)" \ 116 linux install 117 118 mv $(STAGING_DIR)/lua-5.3.3/lib/liblua.a $(STAGING_DIR)/lua-5.3.3/lib/liblua533.a 119 120 $(MAKE) TARGET=$(LINUX_TARGET) -C $(PKG_BUILD_DIR) \ 121 DESTDIR="$(PKG_INSTALL_DIR)" \ 122 CC="$(TARGET_CC)" \ 123 PCREDIR="$(STAGING_DIR)/usr/include" \ 124 SMALL_OPTS="-DBUFSIZE=16384 -DMAXREWRITE=1030 -DSYSTEM_MAXCONN=165530 " \ 125 USE_LINUX_TPROXY=1 USE_LINUX_SPLICE=1 USE_REGPARM=1 \ 126 USE_ZLIB=yes USE_PCRE=1 USE_PCRE_JIT=1\ 127 VERSION="$(PKG_VERSION)-patch$(PKG_RELEASE)" \ 128 $(ADDON) 129 CFLAGS="$(TARGET_CFLAGS) -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer -fhonour-copts" \ 130 LD="$(TARGET_LD)" \ 131 LDFLAGS="$(TARGET_LDFLAGS) -lcurses -lreadline" \ 132 GNOREGIT=1 133 134 $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \ 135 DESTDIR="$(PKG_INSTALL_DIR)" \ 136 LD="$(TARGET_CC)" \ 137 LDFLAGS="$(TARGET_LDFLAGS)" \ 138 $(MAKE_FLAGS) \ 139 install 140 141 $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/contrib/halog \ 142 DESTDIR="$(PKG_INSTALL_DIR)" \ 143 $(MAKE_FLAGS) \ 144 ADDLIB="-lcrypto" \ 145 VERSION="$(PKG_VERSION)-patch$(PKG_RELEASE)" \ 146 halog 147 endef 148 149 define Package/haproxy/install 150 $(INSTALL_DIR) $(1)/usr/sbin 151 $(INSTALL_BIN) $(PKG_BUILD_DIR)/haproxy $(1)/usr/sbin/ 152 $(INSTALL_DIR) $(1)/etc 153 $(INSTALL_CONF) ./files/haproxy.cfg $(1)/etc/ 154 $(INSTALL_DIR) $(1)/etc/init.d 155 $(INSTALL_BIN) ./files/haproxy.init $(1)/etc/init.d/haproxy 156 $(INSTALL_DIR) $(1)/etc/hotplug.d/net 157 $(INSTALL_BIN) ./files/haproxy.hotplug $(1)/etc/hotplug.d/net/90-haproxy 158 endef 159 160 Package/haproxy-nossl/install = $(Package/haproxy/install) 161 162 163 define Package/halog 164 MENU:=1 165 $(call Package/haproxy) 166 TITLE+= halog 167 DEPENDS:=haproxy 168 endef 169 170 define Package/halog/description 171 HAProxy Log Analyzer 172 endef 173 174 define Package/halog/install 175 $(INSTALL_DIR) $(1)/usr/bin 176 $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/halog/halog $(1)/usr/bin/ 177 endef 178 179 $(eval $(call Download,lua533)) 180 $(eval $(call BuildPackage,haproxy)) 181 $(eval $(call BuildPackage,halog)) 182 $(eval $(call BuildPackage,haproxy-nossl)) 183