makefile - OpenWRT 的 Elixir 包构建指南

标签 makefile mips elixir openwrt

我正在寻找为 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/

相关文章:

c - C 定义的 Makefile 参数 - 需要干净

makefile - "make install"和 "make altinstall"之间的细节差异

architecture - 多周期 MIPS 总是比单周期快吗?

string - 如何从 Elixir 1.3.2 中的字符串中过滤一组字符

elixir - erlang :now() deprecated in v18,什么是最好的转换

elixir - 可能引发的函数的 typespec 声明是什么?

c - 在 Makefile 中运行 unix 命令以解析文本并将其传递给链接行作为定义 -D

linux - 将 clang-format 工具添加到 makefile 中的现有项目

assembly - 静态链接有什么用?

c - 在 C 语言中使用 MIPS 汇编