把我自己的包和编译openwrt的方法

时间:2015-04-15 13:57:29

标签: package cross-compiling libraries dependency-management openwrt

我为我的脚本和编译阶段编写了自己的openwrt包,我把它放在包文件中,因为这个路径openwrt / feeds / package /是路径是否正确? 或者如果我有编译错误:

make[1]: *** No rule to make target `package/test/compile'.  Stop.
make: *** [package/test/compile] Error 2

这是我的Makefile:

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=test
PKG_VERSION:=1.0
PKG_RELEASE:=1 
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
DEPENDS:= +nmap +python 



include $(INCLUDE_DIR)/package.mk

define Package/test
SECTION:=secure
CATEGORY:=Monitoring
TITLE:=test

define Package/test/description
test tis is my first package
endef


define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/

endef


define Package/test/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/test $(1)/bin/
endef

$(eval $(call BuildPackage,test))

我需要帮助。 感谢。

1 个答案:

答案 0 :(得分:2)

您不必将源代码放在 / openwrt / 文件夹中的任何位置。它可以放在/ Documents / [name]文件夹中。但是,将特定于OpenWRT的Makefile放在 / openwrt / 树中非常重要。我不确定将您的Makefile放在 / openwrt / feeds / package 中是否正确,但我将Makefile放在 / openwrt / package / [name]文件夹中,这样可以正常工作。无论如何,您的源代码将由工具链自动复制到同一文件夹中。

注意:如果将源代码放在系统的某个位置(例如,在Documents文件夹中),则必须在Makefile中指定它的路径,如下所示: PKG_SOURCE_URL:= file:// $( TOPDIR)/../文档/ [名称]

你的make [1]错误基本上告诉你工具链找不到Makefile。尝试将Makefile放入 / openwrt / package / [name]