首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使<package>包含新的提取

使<package>包含新的提取
EN

Stack Overflow用户
提问于 2015-12-02 14:01:34
回答 1查看 45关注 0票数 0

我使用以下两个文件创建了Buidroot包:

.mk

代码语言:javascript
复制
AVM_VERSION = $(BR2_PACKAGE_AVM_TARGET)-V00.00.01
AVM_SITE_METHOD = git
AVM_SITE = ssh://git@myownserver.com/App/AVM.git

AVM_INSTALL_TARGET = YES

define AVM_BUILD_CMDS   
    $(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/AVM $(@D)/avm.c    
endef

define AVM_INSTALL_STAGING_CMDS 
    $(MAKE) DESTDIR=$(STAGING_DIR) -C $(@D) install
endef

define AVM_INSTALL_TARGET_CMDS
    $(INSTALL) -D -m 0755 $(@D)/AVM $(TARGET_DIR)/usr/bin/avm
endef

$(eval $(generic-package))

Config.in

代码语言:javascript
复制
config BR2_PACKAGE_AVM
    bool "AVM"
    help
      Application for embedded platform.

config BR2_PACKAGE_AVM_TARGET
    string "AVM package target"
    depends on BR2_PACKAGE_AVM
    help
        Define board

通过使用上面的.mk文件,我成功地编译了包。但是,由于我想将源代码修改为输出/构建,我注意到以下行为(仅删除.stamp_built之后):

代码语言:javascript
复制
$ make AVM
>>> AVM v00.00.01 Extracting
...
>>> AVM v00.00.01 Patching
>>> AVM v00.00.01 Configuring
>>> AVM v00.00.01 Building
...

我获得了一个新的提取,修补,配置,即使没有删除.stamp .

怎么了?

编辑:

问题似乎来自于AVM_VERSION的定义。当我按值交换$(BR2_PACKAGE_AVM_TARGET)时,我得到的是make: Nothing to do for « AVM ».

这个名为$(BR2_PACKAGE_AVM_TARGET)的变量已被定义为与板关联的BR2_PACKAGE_AVM_TARGET="AVM2.3"配置文件

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-03 23:52:38

您没有使用qstrip BR2_PACKAGE_AVM_TARGET,所以就make而言,引号是版本的一部分。查找文件output/build/AVM-"AVM2.3"-V00.00.01/.stamp_extracted,但该文件不存在,因此将再次执行提取步骤。其他步骤也一样。注意,之所以跳过下载步骤,是因为tarball存在于dl目录中。

要修复,请使用

代码语言:javascript
复制
AVM_VERSION = $(call qstrip, $(BR2_PACKAGE_AVM_TARGET))-V00.00.01
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34044660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档