4
我有一個makefile,它使用$(info)
函數調用向用戶顯示一些信息。但是,makefile還包含通過gcc -M
更新的自動生成的依賴項文件。只要這種依賴關係需要重新編譯,GNU Make會再次重新編譯所有內容,從而複製$(info)
和類似調用生成的輸出。
有沒有辦法確定GNU Make是否正在makefile中執行第一次或第二次這樣的過程,以避免重複$(info)
行?
我有一個makefile,它使用$(info)
函數調用向用戶顯示一些信息。但是,makefile還包含通過gcc -M
更新的自動生成的依賴項文件。只要這種依賴關係需要重新編譯,GNU Make會再次重新編譯所有內容,從而複製$(info)
和類似調用生成的輸出。
有沒有辦法確定GNU Make是否正在makefile中執行第一次或第二次這樣的過程,以避免重複$(info)
行?
我剛發現它自己:MAKE_RESTARTS
變量是定義如果GMake已在上述情況下重新啓動。例如,構造:
ifndef MAKE_RESTARTS
$(info Hello!)
endif
將僅在Make的第一個這樣的過程中顯示前面提到的消息。
聽起來就像你在編譯之前產生依賴關係,這實際上是不必要的。 http://stackoverflow.com/questions/7353426/automatic-header-dependencies-with-gmake/7358961#7358961 –