1
我在U-boot Makefile(https://github.com/siemens/u-boot/blob/master/Makefile#L128)中遇到了下面一行註釋「取消頂部Makefile中的隱式規則」。 你能幫我理解下面這一行,通過make實用程序執行下面這行時將會怎樣/會發生什麼。Makefile中的隱含規則取消
$(CURDIR)/Makefile Makefile: ;
我在U-boot Makefile(https://github.com/siemens/u-boot/blob/master/Makefile#L128)中遇到了下面一行註釋「取消頂部Makefile中的隱式規則」。 你能幫我理解下面這一行,通過make實用程序執行下面這行時將會怎樣/會發生什麼。Makefile中的隱含規則取消
$(CURDIR)/Makefile Makefile: ;
如果你知道一個或多個您的makefile不能重拍,你想保持使從執行他們的隱含規則搜索,或許是出於效率的考慮,你可以使用任何防止隱式規則查找的常規方法來執行此操作。例如,您可以編寫一個明確的規則,將makefile作爲目標,並使用空配方。
而這正是$(CURDIR)/Makefile Makefile: ;
規則 - 它有一個empty recipe。
感謝您的回覆。我現在明白這是一個空的食譜。現在我的懷疑是關於'$(CURDIR)/ Makefile Makefile「的目標名字。我們可以提到'「$(CURDIR)/ Makefile」',是否有任何理由在目標名稱中使用了兩次'Makefile'。 – user3693586
@ user3693586我不確定這兩個目標如何引用不同的文件。我希望他們引用同一個文件。 –
兩者僅涉及相同的Makefile。我懷疑我們是否可以使用'「$(CURDIR)/ Makefile:;」'而不是'「$(CURDIR)/ Makefile Makefile:;」'。 – user3693586