Makefile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #
  2. # Copyright (C) 2018-2019 wongsyrone
  3. #
  4. # This is free software, licensed under the GNU General Public License v3.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=trojan
  9. PKG_VERSION:=1.16.0
  10. PKG_RELEASE:=2
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  12. PKG_SOURCE_URL:=https://codeload.github.com/trojan-gfw/trojan/tar.gz/v$(PKG_VERSION)?
  13. PKG_HASH:=86cdb2685bb03a63b62ce06545c41189952f1ec4a0cd9147450312ed70956cbc
  14. PKG_BUILD_PARALLEL:=1
  15. PKG_BUILD_DEPENDS:=openssl
  16. PKG_LICENSE:=GPL-3.0
  17. PKG_LICENSE_FILE:=LICENSE
  18. PKG_MAINTAINER:=GreaterFire
  19. include $(INCLUDE_DIR)/package.mk
  20. include $(INCLUDE_DIR)/cmake.mk
  21. TARGET_CXXFLAGS += -Wall -Wextra
  22. TARGET_CXXFLAGS += $(FPIC)
  23. # LTO
  24. TARGET_CXXFLAGS += -flto
  25. TARGET_LDFLAGS += -flto
  26. # CXX standard
  27. TARGET_CXXFLAGS += -std=c++11
  28. TARGET_CXXFLAGS := $(filter-out -O%,$(TARGET_CXXFLAGS)) -O3
  29. TARGET_CXXFLAGS += -ffunction-sections -fdata-sections
  30. TARGET_LDFLAGS += -Wl,--gc-sections
  31. CMAKE_OPTIONS += \
  32. -DENABLE_MYSQL=OFF \
  33. -DENABLE_NAT=ON \
  34. -DENABLE_REUSE_PORT=ON \
  35. -DENABLE_SSL_KEYLOG=ON \
  36. -DENABLE_TLS13_CIPHERSUITES=ON \
  37. -DFORCE_TCP_FASTOPEN=OFF \
  38. -DSYSTEMD_SERVICE=OFF \
  39. -DOPENSSL_USE_STATIC_LIBS=FALSE \
  40. -DBoost_DEBUG=ON \
  41. -DBoost_NO_BOOST_CMAKE=ON
  42. define Package/trojan
  43. SECTION:=net
  44. CATEGORY:=Network
  45. SUBMENU:=Web Servers/Proxies
  46. TITLE:=An unidentifiable mechanism that helps you bypass GFW
  47. URL:=https://github.com/trojan-gfw/trojan
  48. DEPENDS:= \
  49. +libpthread +libstdcpp +libopenssl \
  50. +boost +boost-system +boost-program_options +boost-date_time
  51. endef
  52. define Package/trojan/install
  53. $(INSTALL_DIR) $(1)/usr/sbin
  54. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/trojan $(1)/usr/sbin/trojan
  55. endef
  56. $(eval $(call BuildPackage,trojan))