make command itself does not search for libraries or header files - instead it looks for a Makefile in the current directory (unless an alternative file is specified on the command line using the
-f option) and executes the instructions inside. Those are usually instructions to specific compilers such as
The Makefile may add search paths for specific compilation commands using
-I (for include files) and/or
-L (for libraries) directives. You can find the default search paths in your compiler documentation e.g. GNU gcc: Search Paths or you can list them directly by processing an empty file with compiler verbosity turned up e.g. to see what the gcc include path is
echo | `gcc -print-prog-name=cc1` -v
or to see both include and library path information
echo | gcc -xc -E -v - (for C) or
echo | gcc -xc++ -E -v - (for C++).
However the question you linked to looks like the output from a
./configure script rather than from a
make command. A
./configure script is part of the GNU automake system and is used to create a 'custom' Makefile for the local build environment by figuring out where various components are located on your system. If you have libraries located in non-standard locations, such as other build dependencies that you have also built from source, and installed somewhere like
/usr/local/, then it may be necessary to pass those locations to the
./configure script e.g.
./configure --with-foo=/usr/local --with-bar=/opt/bar_3.14
For specific instructions you will need to refer to the README or similar documentation for the package you are trying to build.