Files
2026-05-22 13:08:57 +03:00

79 lines
2.1 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=frp
PKG_VERSION:=0.69.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fatedier/frp/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=b78879e74e44bb22805a8a4602c6f58b9f46971c003eb4079d5020f66e57ed37
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=golang/host node/host
PKG_BUILD_PARALLEL:=1
PKG_BUILD_FLAGS:=no-mips16
GO_PKG:=github.com/fatedier/frp
GO_PKG_BUILD_PKG:=github.com/fatedier/frp/cmd/...
GO_PKG_LDFLAGS:=-s -w
GO_PKG_LDFLAGS_X:=github.com/fatedier/frp/pkg/util/version.version=$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../../lang/golang/golang-package.mk
define Build/Compile
( \
$(MAKE) -C $(PKG_BUILD_DIR)/web/frpc install ; \
$(MAKE) -C $(PKG_BUILD_DIR)/web/frps install ; \
$(MAKE) -C $(PKG_BUILD_DIR) web ; \
$(call GoPackage/Build/Compile) ; \
)
endef
define Package/frp/install
$(INSTALL_DIR) $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/config/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/$(2) $(1)/usr/bin/
$(INSTALL_CONF) ./files/$(2).config $(1)/etc/config/$(2)
$(INSTALL_BIN) ./files/$(2).init $(1)/etc/init.d/$(2)
if [ -r ./files/$(2).uci-defaults ]; then \
$(INSTALL_DIR) $(1)/etc/uci-defaults; \
$(INSTALL_DATA) ./files/$(2).uci-defaults $(1)/etc/uci-defaults/$(2); \
fi
endef
define Package/frp/template
define Package/$(1)
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=$(1) - fast reverse proxy $(2)
URL:=https://github.com/fatedier/frp
DEPENDS:=$(GO_ARCH_DEPENDS)
endef
define Package/$(1)/description
$(1) is a fast reverse proxy $(2) that helps you expose a local server
behind a NAT or firewall to the internet.
endef
define Package/$(1)/conffiles
/etc/config/$(1)
endef
define Package/$(1)/install
$(call Package/frp/install,$$(1),$(1))
endef
endef
$(eval $(call Package/frp/template,frpc,client))
$(eval $(call Package/frp/template,frps,server))
$(eval $(call BuildPackage,frpc))
$(eval $(call BuildPackage,frps))