LDFLAGS
обычно содержит параметры, которые передаются компоновщику (поэтому могут включать в себя необходимые библиотеки).Вместе с CFLAGS
они часто устанавливаются как часть переменных среды разработчика, и make
будет знать о них, поэтому будет активно проверять, установлены ли они, и передавать их компилятору.
Например, если я установлю CFLAGS
в моей среде на -O2 -Wall
, то, если я наберу make hello
без Makefile, make автоматически вызовет компилятор как gcc -O2 -Wall hello.c -o hello.o
.Затем он вызовет компоновщик аналогичным образом, добавив флаги в LDFLAGS
в командную строку.
Make-файлы могут явно переопределять как LDFLAGS
, так и CFLAGS
.
DLDFLAGS
, с другой стороны, не является широко известной / определенной переменной, поэтому она может быть специфичной для данного конкретного Makefile.Вам нужно прочитать Makefile, чтобы узнать, как он используется.Например, он может определить флаги компоновщика для использования, если установлен LDFLAGS
- прочитайте Makefile, чтобы узнать наверняка.