What do you mean by 'make' command in linux?

RV186 picture RV186 · Aug 23, 2016 · Viewed 10.3k times · Source

First, i know that make is used for building the code. But which code?

But what does it mean by building a code, and after executing the make command, what is presented to the user?

Second, how is it different from make build_for_e2e?

Answer

Samrat Das picture Samrat Das · Aug 24, 2016

What Wikipedia tells about make

Make is a build automation tool that automatically builds executable programs and libraries from source code

Compilation process becomes big and complex in big projects, where numbers of files need to be compiled, with flags and libraries. Where it will become hard for people to compile it one by one. So these types of tools were introduced, there are more similar tools available for same use like cmake, gradle, maven. e2e's Build is also a form of build process, with different form of specifications.

For C people mostly use make. It is helpful for porting software packages in different systems.

How make is used:

As said make is a tool, which will be available in our system, we can execute it by giving command make in the directory which needs to be compiled. Then make looks for Makefile, which is provided in the package directory and it contains information about compilation of the project. Then make as per info gathered from Makefile, it compiles the package.

You can also create Makefile for your project, so that it can be also supported and compiled with make. Simple tutorial for it can be found here. For big projects you can use gnu autotools contains autoconf and automake which will help you to create your all files required by make automatically. You can find tutorial regarding it here and here . These contains some basic information, you can find some advance tutorial regarding autotools, use google for more information on it.