我正在寻找为OpenWRT编译Elixir软件包,但我很擅长为OpenWRT构建Makefile。
我不确定从哪里开始并计划开始缩小erlang Makefile(https://github.com/openwrt/packages/blob/master/lang/erlang/Makefile)并从erlang开始,因为它只是依赖。
我已经找了一个关于OpenWRT Makefiles入门的指南,但还没找到。
有人愿意指导我完成这个过程吗?
答案 0 :(得分:1)
首先,请阅读本手册: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
编译并查看它是否编译(它在我的机器上)。