更改 openwrt 编译包的默认目录 src



我正在为openwrt创建一个包含多个模块的软件包。 如果结构为:

package_name
. Makefile<s>.txt</s>
. files
. src
+ CMakeLists.txt
+ Module1
+ Module2
+ ...
+ Modulen

但是,如果我通过模块更改名称 src,它会显示错误。我知道src目录的默认结构搜索,但是, 我应该向我的 Makefile 添加什么.txt才能将默认值 src 更改为任何其他值?

谢谢。

OpenWRt 包结构可以在这里找到。您的休息部分是Bundle source code with OpenWrt Makefile

(恐怕Makefile应该只是Makefile没有txt扩展。如果您可以发布完整的 Makefile 会很有帮助 - 但我会尝试没有它。另外请注明您正在使用的OpenWRT版本,答案可能取决于版本(

我在include/package-defaults.mk中发现了以下内容[OpenWRT 19.07.1]:

Build/Patch:=$(Build/Patch/Default)
ifneq ($(strip $(PKG_UNPACK)),)
define Build/Prepare/Default
$(PKG_UNPACK)
[ ! -d ./src/ ] || $(CP) ./src/. $(PKG_BUILD_DIR)
$(Build/Patch)
endef
endif

这对我来说意味着,要么你:

  • 在生成文件中定义PKG_UNPACK,如下所示:PKG_UNPACK=$(CP) ./modules/. $(PKG_BUILD_DIR)
  • 覆盖默认的"准备"部分,如下所示(或复制递归,具体取决于您的结构(:

.

define Build/Prepare
$(call Build/Prepare/Default)
$(CP) ./modules/* $(PKG_BUILD_DIR)/
endef

相关内容

最新更新