0
我想向一個Makefile添加一個隱式規則,並且我希望它以同樣的方式處理.c和.cpp文件的編譯。我有.c文件的規則如下:Makefile隱式規則匹配.c或.cpp
%.obj: %.c
cl /c $(CFLAGS) $<
我想要什麼,雖然是該模式的右側匹配.C OR的.cpp,具體取決於哪個文件是可用的。這可能嗎?我仔細閱讀了Make手冊,但還沒有找到我要找的東西。任何幫助將不勝感激。
我想向一個Makefile添加一個隱式規則,並且我希望它以同樣的方式處理.c和.cpp文件的編譯。我有.c文件的規則如下:Makefile隱式規則匹配.c或.cpp
%.obj: %.c
cl /c $(CFLAGS) $<
我想要什麼,雖然是該模式的右側匹配.C OR的.cpp,具體取決於哪個文件是可用的。這可能嗎?我仔細閱讀了Make手冊,但還沒有找到我要找的東西。任何幫助將不勝感激。
只要使用兩個規則即相當於「或」 make語言:
%.obj: %.c
cl /c $(CFLAGS) $<
%.obj: %.cpp
cl /c $(CFLAGS) $<
在結束這些是兩種不同的源語言和你很可能最終會希望不同的標誌。
啊,太棒了,謝謝!我誤解了手冊中的某些內容,意思是說上面的內容會覆蓋以前的規則,而不是像OR一樣運行,因此甚至沒有嘗試過。非常感激! –
想想它更像是一個'switch'或者簡單的替代品 - 它們畢竟是不同的源文件。 –