Makefiles
Makefiles
See these projects for example usage: https://github.com/explorer436/programming-playground/tree/main/aws
Reading material
- https://www.gnu.org/software/make/manual/make.html
- https://makefiletutorial.com/
- https://opensource.com/article/18/8/what-how-makefile
Debugging
Makefile:18: *** missing separator. Stop.
You mistyped the intendation: you have spaces where you should have a tab.
CMake
How to Install CMake on Debian
sudo apt install cmake
makeinfo
configure: error: You do not seem to have makeinfo >= 4.13, and your source tree does not seem to have pre-built manuals in the ‘info’ directory. Please install a suitable version of makeinfo.
In Debian, sudo apt install texinfo
This command will download and install the texinfo package, which includes the makeinfo utility. The system may prompt for the user’s password to proceed with the installation. Verify the installation.
makeinfo –version
What does make install do?
make install makes the newly built software available for system-wide use, integrating it into the operating system’s environment.
The make install command is used to install compiled software onto a system after it has been built using the make command. Its primary function is to copy the compiled executable files, libraries, documentation, and other associated files to their designated locations within the system’s directory structure.
Here’s a breakdown of what make install typically does:
- Copies Files: It copies the compiled program binaries (executables), libraries, header files, man pages, and other relevant data files from the build directory to their appropriate system-wide locations. Common installation directories include
/usr/local/binfor executables,/usr/local/libfor libraries, and/usr/local/includefor header files. - System Integration: By placing the executable in a directory listed in the system’s
PATHenvironment variable, it allows the program to be run from any directory in the terminal without needing to specify its full path. - Permissions:
make installoften requires administrator privileges (e.g., using sudo) because it writes to protected system directories. - Configuration: The specific installation locations can often be customized during the
configurestep (e.g., using –prefix=path).