This document provides an introduction and overview of the Make utility. It discusses the software development cycle and how Make automates and simplifies the process of compiling code and dependencies. It introduces Make by explaining what it is, how it works, and some of its main advantages like automatically determining what needs to be recompiled and saving time. It also briefly outlines some of Make's disadvantages and provides a simple example Make file to demonstrate its basic syntax and use.
4. Unfortunately, Routine is Boring
Transforming code into
object files is a routine
process
Developers need to
perform it “Following the
manual”
Error Prone and time
consuming
4
6. Introducing Make
The make utility was written by Stuart
Feldman from Bell Labs in 1977
make automatically builds executable
programs and libraries from source code
make is widely used especially in UNIX
based platforms
6
7. Introducing Make
The make utility automatically
determines which pieces of a larger
program need to be recompiled
This saves developer's time and effort.
A lot less error prone
7
10. Introducing Make
Original 'make' utility has evolved into
three main branches:
BSD make
GNU make
Microsoft nmake
Each branch added their own set of
unique features
10
11. Make The Bad Parts
Decides whether to build dependencies
based on a file's timestamp
Non intuitive syntax regarding spaces and
tabs
Platform dependent
11
12. A Sample make hello
hello: hello.c
gcc hello.c -o hello
12