You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GNU Make配置异常求助:无法生成双目标及关联test依赖执行

Makefile配置问题的解决方法

问题根源

  1. 默认执行make只生成单个文件:Makefile的默认行为是执行第一个定义的目标,你当前的第一个目标是flash_data.flash,所以只会生成这一个文件。
  2. make test不触发文件构建:test目标没有声明依赖flash_data.flash和flash_data1.flash,Make会认为无需先构建这两个文件,直接执行测试输出。

修改后的Makefile

DATA_DIR = ../support/flash_data
SRC = $(DATA_DIR)/flash_data.flash

# 默认目标:执行make时生成两个flash文件
all: flash_data.flash flash_data1.flash

flash_data.flash: config.mk
    cp $(SRC) $@

flash_data1.flash: config.mk
    cp $(SRC) $@

# test依赖两个flash文件,执行时会先确保文件已生成(config.mk变更时自动重建)
test: flash_data.flash flash_data1.flash
    @echo --- test

修改说明

  • 添加all作为第一个目标,让它依赖两个.flash文件,这样默认执行make时会同时构建这两个文件。
  • 给test目标添加依赖项,当执行make test时,Make会先检查两个.flash文件是否需要更新(包括config.mk变更的情况),完成构建后再执行测试输出。

内容的提问来源于stack exchange,提问作者fjordan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 11:29:55