在一個makefile,我建立一個構建目錄中的所有我的.o文件:編譯文件目錄和依賴性列表
program: class1.o class2.o class3.o
g++ $(BUILDDIR)class1.o $(BUILDDIR)class2.o $(BUILDDIR)class3.o -o [email protected]
這將是冷靜,以從依賴列表$(BUILDDIR)class1.o $(BUILDDIR)class2.o $(BUILDDIR)class3.o
...
我知道$^
會給我的所有依賴關係的列表,用空格分隔,但我無法處理子目錄。
可能嗎?
如果我有program: class1.o class2.o class3.o configure
,我可以排除configure
從列表中?
謝謝:)
編輯:邁克爾的解決方案效果很好,但這樣做,make
沒有找到依賴性並有每次創造一切......讓時是不是有一個更簡單的方法, 隱含規則喜歡program: class1.o class2.o class3.o
,告訴它把二進制文件中構建目錄?
這是行不通的? g ++ $(^:%= $(BUILDDIR)%)-o $ @ – 2011-04-10 12:13:23