C

如何在“Unix as IDE”理念下處理 C makefile?

  • September 6, 2016

長期以來,我一直使用 VIM 作為我的主要編輯器,從那以後就再也沒有接觸過 IDE。這適用於市場上的大多數程式語言。但是,當談到 C 時,我仍然局限於簡單的項目,因為編寫 makefile 太麻煩了。“Unix as IDE”哲學如何處理 makefile?是否有一個我不知道的工具可以從命令行完成特定的工作,或者每個人都只是自己編寫makefile?

周圍有很多工具可以生成 makefile。最常見的兩個是CMakeAutomake;這兩個都要求您描述項目的組件和所需的輸出,並為您生成 makefile。

這無疑是一個見仁見智的問題,但您可能會發現 CMake 更容易掌握;但是,如果您需要交叉編譯,最終將需要 Automake (和Autoconf)。

對於簡單的項目, GNU Make提供的內置規則可以提供相當多的幫助;例如,要建構一個由兩個源文件組成的項目,a.c並且b.c,以下 Makefile 有效:

all: a

a: a.o b.o

執行make會發現a.cb.c需要編譯,並連結到生產a

(正如AProgrammer 所指出的,內置規則僅此而已,您的 makefile 需要指定文件之間的所有關係,包括項目的標頭;您很快就會找到其他工具來幫助管理依賴關係等。)

引用自:https://unix.stackexchange.com/questions/308173