Makefile 的語法、撰寫與使用方式
參考文獻
通常我們編譯程式時有很多算是每個人都有的共同習慣,例如我就是把 foo.c 編成foo.o。像這樣的編譯習慣,gnu make有一些內定規則來編譯, 也就是有的target你不寫,make也可以根據內定規則把他編譯出來。不用 對每個不同的.o寫不同的規則, 如果有個程式由foo.c foo1.c foo2.c……寫這些就寫得會發瘋了,例如
foo.o:foo.c
gcc -c -o foo.o foo.c
foo1.o:foo1.c
gcc -c -o foo1.o foo1.c
….
因此 如果你不寫foo.o的規則,那麼make當別的規則用到foo.o時,他找不到規則 來編,就會自動找foo.c來編譯。這樣看不到的編譯規則有很多,如
C程式
$(CC) -c $(CPPFLAGS) $(CFLAGS) xxx.c來編譯
或者找不到.c時會去找.cc, .cpp, .C檔
C++程式
$(CXX) -c $(CPPFLAGS) xxx.cpp
TeX
xxx.dvi 由xxx.tex產生
Pascal
$(PC) -c $(PFLAGS) xxx.p
- Chapter 5. Makefile撰寫 — http://www.study-area.org/cyril/opentools/opentools/makefile.html
page revision: 1, last edited: 16 May 2011 04:09
Post preview:
Close preview