Package 放置我自己的包并编译openwrt的方法

Package 放置我自己的包并编译openwrt的方法,package,cross-compiling,libraries,dependency-management,openwrt,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 这是我的生成文件: include $(TOPDIR)/rules.mk include $(INCLUDE_DIR

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

make[1]: *** No rule to make target `package/test/compile'.  Stop.
make: *** [package/test/compile] Error 2
这是我的生成文件:

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))
我需要帮助。
谢谢。

您实际上不必将源代码放在/openwrt/文件夹中的任何位置。比如说,它可以放在/Documents/[name]文件夹中。但是,将特定于OpenWRT的Makefile放入/OpenWRT/树中是很重要的。我不确定将Makefile放入/openwrt/feeds/package是否正确,但我将Makefile放入/openwrt/package/[name]文件夹中,效果很好。不管怎样,工具链都会自动将源代码复制到同一文件夹中

注意:如果您将源代码放在系统的某个位置(例如,在Documents文件夹中),则必须在Makefile中指定指向它的路径,如下所示:PKG\u source\u URL:=文件://$(TOPDIR)/../Documents/[name]


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

谢谢@Alex Shp我只将Makefile放入/openwrt/package/name,或者我将所有文件夹放入其中,其中一个是Makefile,另一个是src,其中一个是我的脚本。您只需将Makefile放入/openwrt/package/name即可。您的代码可以在其他地方,例如在home/Documents/myProject中。然后在Makefile中添加以下行:PKG\u SOURCE\u URL:=file://$(TOPDIR)/../Documents/myProject,工具链将找到您的代码automatically@AlesShp我按照你对我说的做了。我把make文件放在openwrt/package/test/Makefile中,把脚本放在home/ri/Documents/src中,但我有同样的错误:(您得到的错误是因为工具链找不到您的Makefile。我建议您再次运行make menuconfig,选择您正在编译的包,然后尝试make package/test/compile V=99