我有一个库列表,每个库都有 2 个文件(.so
, .dll
)。如果两个文件都丢失或其中一个文件丢失,我应该如何创建一个仅执行一次配方的 make 规则。
LIBS = alib blib
LIBS_SO = $(patsubst %, %.so, $(LIBS))
LIBS_DLL = $(patsubst %, %.dll, $(LIBS))
如果我做这个目标
$(LIBS_SO) $(LIBS_DSS):
cp .....
对于所有可能性,它只复制一次。
如果我这样做:
all : $(LIBS_SO) $(LIBS_DSS):
$(LIBS_SO) $(LIBS_DSS):
cp .....
我在所有丢失文件的情况下都复制。alib
如果两个或一个文件alib.dll
/alib.so
丢失,我想复制目录;与 相同blib
。