2
在一個相當複雜的Makefile中,我偶爾想調用某些規則,只有當目標確實存在時。例如,我可能已經創建了一個本地目錄,並使用losetup
將文件掛載到其上。我想在處理它們時離開掛載點和目錄,但在某些操作之前自動關閉它們。GNU Make規則僅在目標存在時執行?
當需要封裝的時候,我想要sync
已裝載的文件,umount
它,然後對底層文件做些什麼。是否有辦法顛倒規則的意義,以便它只在特定目標爲時才執行?
在一個相當複雜的Makefile中,我偶爾想調用某些規則,只有當目標確實存在時。例如,我可能已經創建了一個本地目錄,並使用losetup
將文件掛載到其上。我想在處理它們時離開掛載點和目錄,但在某些操作之前自動關閉它們。GNU Make規則僅在目標存在時執行?
當需要封裝的時候,我想要sync
已裝載的文件,umount
它,然後對底層文件做些什麼。是否有辦法顛倒規則的意義,以便它只在特定目標爲時才執行?
如何像:
target = $(wildcard somefile)
$(target): ; @echo build [email protected]
.PHONY: $(target)
驚人!我已經有了一些與你的'$(target)'相當的東西來執行原始的掛載和映射,但是使用'$(patsubst)'很容易解決這個問題。 –
對不起,我還沒有足夠的代表upvote你的答案。 –