3
我的Makefile有此規則/食譜:爲什麼gnu會忽略我的顯式模式規則並使用內置的隱式規則呢?
%o: %cpp Makefile
g++ -Wall -Wextra -MMD -MP -O2 -c -o [email protected] $<
這工作得很好,直到我最近升級Cygwin和有讓3.82.90(以前的版本可能是3.81)。
現在用做3.82,它忽略了我的規則,而是使用一個內置的規則編譯每個文件,如:
g++ -c -o Foo.o Foo.cpp
您實際上可以使用內置的規則,而不是由規則之前定義'CPPFLAGS'和/或'CXXFLAGS'變量,因爲如果你運行'使-np'你會發現,內置的規則定義了類似'$ {COMPILE.cc} -c -o $ @ $ <'的地方,其中'COMPILE.cc'被設置爲'$ {CC} $ {CXXFLAGS} $ {CPPFLAGS}' - 如果它不同,那麼它只會擴展這些,據我所知。 – 2013-07-02 08:53:16