ターゲットとして作成され、別のターゲットを作成する目的でマウントされるマウントポイントがいくつかあります。他のターゲットが作成されたら、それらをアンマウントする必要があります。これは比較的簡単で、他の .PHONY ターゲットを使用してこれを行います。ただし、エラーが発生した場合は、アンマウントする必要があります。エラーが発生したときに再作成する必要があるターゲットに基づいてこれを行うことは可能ですか? 通常、エラーが発生すると、make はレシピの処理を停止します。私が思いついた唯一の実行可能なオプションは、サブメイクを実行することです:
virtual_target:
sudo mount somelocation somepath ; \
$(MAKE) real_target ; \ ret=$$? \
sudo umount -fl somepath ; \
exit $$ret
real_target:
echo "Do something magical"