GNU make не распознает% - PullRequest
       11

GNU make не распознает%

0 голосов
/ 07 ноября 2010

Я пытаюсь создать make-файл для компиляции различных примеров из подпапки. Makefile, состоящий из всего:

S_1_2.exe : Twister.cpp Parsing.cpp ./Surfaces/S_1_2.cpp
    g++ -o $@.exe $^ -I . -W -Wall

Прекрасно работает при запуске с командой "make S_1_2.exe". Тем не менее:

%S_1_2.exe : Twister.cpp Parsing.cpp ./Surfaces/S_1_2.cpp
    g++ -o $@.exe $^ -I . -W -Wall
Сбой

, даже при запуске с командой make S_1_2.exe, с ошибкой «make: * Нет правила для создания цели« S_1_2.exe ». Stop.»

Разве% S_1_2.exe не должен выполнять сопоставление с шаблоном и совпадать с S_1_2.exe? В каком случае это не соответствует этому правилу?

Я использую GNU Make 3.81

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

% предназначен для сопоставления части цели с одной и той же частью в одной или нескольких зависимостях.Вы не можете опустить его из всех зависимостей.

1 голос
/ 07 ноября 2010

Символ процента соответствует непустой строке.Поэтому вы должны использовать %_1_2.exe или еще лучше - %.exe.Я не знаю, есть ли другой символ, который соответствует пустым строкам.

...