我正在寻找为 OpenWRT 编译 Elixir 包,但对于为 OpenWRT 构建 Makefiles 是个新手。
我不确定从哪里开始,并计划通过缩小 erlang Makefile ( https://github.com/openwrt/packages/blob/master/lang/erlang/Makefile ) 开始并从 erlang 开始,因为它是唯一的依赖项。
我一直在寻找有关 OpenWRT Makefiles 入门的指南,但还没有找到。
有人愿意指导我完成整个过程吗?
最佳答案
首先,阅读本手册:http://wiki.openwrt.org/doc/devel/packages
基本上,您需要创建 <openwrt-dir>/package/elixir
目录并在那里创建一个 Makefile,如下所示:
include $(TOPDIR)/rules.mk
PKG_NAME:=elixir
PKG_REV:=0e3c06b03149022b980e69872003d401c4788fea
PKG_VERSION:=v1.1.0-rc.0
PKG_RELEASE=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/elixir-lang/elixir.git
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_REV).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=lang
CATEGORY:=Languages
TITLE:=Elixir
DEPENDS+= +erlang
endef
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/elixir $(1)/usr/bin
# copy other files that are needed on target
endef
$(eval $(call BuildPackage,$(PKG_NAME)))
然后,发出make menuconfig
命令并选择您新创建的包。
之后,通过运行 make package/elixir/install V=s
进行编译并查看它是否可以编译(在我的机器上可以编译)。
关于makefile - OpenWRT 的 Elixir 包构建指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32706456/