我有一个类似于以下内容的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
旨在构建其他工件,用于分发的档案。)
问题是,总是要为每个目标准备一个食谱。如果您在编写时没有与之关联的配方: