make类似文件名的makefile规则优先级

问题描述 投票:0回答:1

我有一个类似于以下内容的makefile:

dist/myapp_darwin.tar.gz: release

myapp_%: $(SRC)
  recipe1

release:
  recipe2

sometarget: dist/myapp_darwin.tar.gz
  recipe3

我正在运行make sometarget,需要dist/myapp_darwin.tar.gz。由于第一行中有特定的目标,因此我希望使用配方2(发布目标)可以满足此要求,但是它是使用配方1构建的。我做错了什么,该如何解决?

(仅出于上下文考虑,myapp_%目标用于在名为myapp_darwin的根目录中构建二进制文件,而dist/myapp_darwin.tar.gz旨在构建其他工件,用于分发的档案。)

makefile gnu-make
1个回答
0
投票

问题是,总是要为每个目标准备一个食谱。如果您在编写时没有与之关联的配方:

© www.soinside.com 2019 - 2024. All rights reserved.