それぞれに 2 つのファイル ( .so
、.dll
) があるライブラリのリストがあります。両方のファイルが欠落している場合、またはいずれかが欠落している場合に、レシピを 1 回だけ実行する 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
です。