Makefile Introduction

Distribute your software with GNU Make tool (Makefile)

GNU Make tool is a task runner that can be used to compile your software to target multiple platforms and architectures. In this article, we are going to learn the basics of Make and Makefile.

Uday Hiwarale
System Failure
Published in
20 min readFeb 23, 2020

--

(source: pexels.com)

I am sure you must have heard about interpreted and compiled languages before. A program written in an interpreted language like JavaScript or Python can be distributed directly without having to compile it first.

An interpreter is a virtual machine that can process raw source code and compile it to the machine language on the fly and then run it on the machine. This way, programs written in interpreted languages don’t need to care about what system and architecture an end-user is using. Everything is taken care of by the interpreter.

This story is a little different for compiled languages. A program written in compiled language has to be compiled first for the architecture of a machine before running it on that machine. Hence when we are distributing software, we generally create compiled binaries for various platforms and a user can pick the correct binary file suitable for him/her.

--

--