我想補充make文件頭文件的依賴性Make文件頭文件的依賴性
我寫的規則
${OBJECTDIR}/%.o: %.cc %.h
gcc $(WarningLevel) $(CFLAGS) $(INCLUDES) -c -o [email protected] $^
但有兩個錯誤
一爲.cc文件這不有任何.h文件。它不會制定任何規則。 第二個是目標文件構建由規則在鏈接
file format not recognized; treating as linker script
我怎麼能做到這一點給錯誤? (源文件應該編譯如果頭文件被修改後得到)
一般情況下,你把翻譯單位成目標文件,因爲頭文件和不是獨立的翻譯單位,這似乎有點奇怪,你列出%.H爲開始的依賴。 – 2011-03-22 16:10:52
我認爲這裏沒有簡單的解決方案。即使'$(通配符%.h)'也不行,因爲函數在**匹配之前展開**(我被這幾次咬了)。你可以1)使用基於'$(shell find ...)','define','$(foreach)'和'$(eval)'的東西,但這很棘手,2)使用gcc的'-M'選項家人爲你生成依賴關係。我通常會參加第二場比賽,但我在工作,現在我沒有一個例子可以幫助你。 – 2011-03-22 16:12:03
make文件是製表符敏感的。 gcc行應該是'\ tgcc',即gcc前面的製表符。 –
2011-03-22 17:04:00