Почему gnu make игнорирует мое явное шаблонное правило и вместо этого использует встроенное неявное правило? - PullRequest
3 голосов
/ 12 января 2012

Мой make-файл имеет это правило / рецепт:

%o: %cpp Makefile
    g++ -Wall -Wextra -MMD -MP -O2 -c -o $@ $<

Это работало нормально, пока я недавно не обновил Cygwin и не получил Make 3.82.90 (предыдущая версия была, вероятно, 3.81).

Теперь с make 3.82 он игнорирует мое правило и вместо этого использует встроенное правило для компиляции каждого файла, например:

g++    -c -o Foo.o Foo.cpp

1 Ответ

0 голосов
/ 12 января 2012

В моем шаблоне не было точек (точек), разделяющих знак процента и расширение. Проблема решена путем изменения на это:

%.o: %.cpp Makefile
    g++ -Wall -Wextra -MMD -MP -O2 -c -o $@ $<
...