Building Projects with GNU Make


Details
GNU make is a descendant of the original unix make utility. (From now on we'll just refer to GNU make as make.) Make is a tool for software construction that consists of two pieces: a dependency tree between targets and commands used to build a target when the dependencies of that target are out of date with respect to the target. While this sounds simple enough, make has some quirks and some barriers when projects go beyond a few simple source files and invocations of the compiler on those source files.
This month, Richard Thomson will give us the inside dirt on GNU make, starting with the basics and working up to more complicated examples. Some of the topics to be discussed are:
- the basics of a makefile
- dependencies and how they are expressed in make
- how commands are associated with targets
- how variables work in make
- how pattern rules work in make
- using functions for manipulating text and variables
- how to use the 'template pattern' to create abstractions in make
- how to separate platform-specific portions of makefiles
- how make compares to CMake as a build system
This will be an online event, join the meeting here:
https://meet.xmission.com/Utah-Cpp-Programmers
Drinks and snacks are on you!
Watch previous topics on the Utah C++ Programmers YouTube channel:
https://www.youtube.com/channel/UC56D6OIs_IAy24ubjC2_hmQ
Future topics: https://utahcpp.wordpress.com/future-meeting-topics/
Past topics: https://utahcpp.wordpress.com/past-meeting-topics/

Building Projects with GNU Make