Я использую библиотеку с образцом приложения. Образец Makefile содержит в аргументах $<
:
all:test.cpp
g++ -Wl,--no-as-needed -o Example $<
clean:
rm -f SampleApp11
Я смотрел это и tutorialspoint сказать, что
< $ имя соответствующего файла, вызвавшего действие.
Еще website гласит, что:
это правило замены суффикса для построения .o от .c-х он использует автоматические переменные $ <: имя предпосылку правилу (а. c файл) и $ @: имя цели правила (файл .o) (см. раздел руководства gnu о автоматических переменных) .co: $ (CC) $ (CFLAGS) $ (ВКЛЮЧАЕТ) -c $ < -o $ @
Я все еще смущен, что это значит?
В вашем примере это ** первая ** зависимость (файл) после 'all:' target - 'test.cpp'. – Galik
Ahh, поэтому '<$' сообщает g ++, какой файл компилировать, это правильно? –
Обратите внимание, что это не имеет ничего общего с g ++. Это make, который заменяет это перед вызовом g ++. g ++ никогда не видит '$ <'. Если бы это было так, это относилось бы к нему как к имени файла и, вероятно, выдает сообщение об ошибке об отсутствии файла по этому имени. – hvd