LDFLAGS usually set to contain parameters that are passed to the linker (therefore, they may include the necessary libraries). Together with CFLAGS they are often installed as part of the development environment variables, and make will know about them, so they will actively see if they are installed and pass them to the compiler.
For example, if I installed CFLAGS in my environment on -O2 -Wall , then if I type make hello without the Makefile, make will automatically call the compiler like gcc -O2 -Wall hello.c -o hello.o . He will then invoke the linker in the same way, adding flags to LDFLAGS on the command line.
Makefiles can explicitly override both LDFLAGS and CFLAGS .
DLDFLAGS , on the other hand, is not a well-known / defined variable, so it may be specific to this particular Makefile. You will need to read the Makefile to find out how it is used. It can, for example, determine the linker flags to use, if LDFLAGS installed - read the Makefile to find out for sure.
source share