我是Makefiles的新手;因此,我遇到了一個問題,我無法想出一個好的谷歌搜索來幫助解答。默認的`make`行爲從哪裏來?
我正在運行一個虛擬操作系統,其中有一個由其他人設置的Fedora發行版。如果我在目錄中構建我自己的Makefile,我可以設置我的.c
文件進行編譯,但我喜歡。然而,如果我只是運行make test
,在我的目錄中存在test.c
,我會得到以下內容:clang -ggdb3 -std=c99 -Wall -Werror test.c -lcs50 -lm -o test
。
下面這個觀察我的問題是,這種默認的,看似普遍,make
行爲從哪裏來的?換句話說,如果這個Makefile在我的文件系統上,它在哪裏?
如果我不是非常錯誤,它會被硬連線到'make'中。該實用程序有許多用於編譯各種源類型的默認規則,其中最受歡迎的規則是編譯C(以及最終的C++)程序。 – 2013-12-23 22:52:51