Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the different between "Make" and "Build" in context menu of project build configuration?

Tags:

build

delphi

When I pop up context menu of a Delphi project's build configuration, I see menu items of "Make", "Build" and "Clean".

What is the different between "Make" and "Build"? It seems that both perform same task.

like image 969
Chau Chee Yang Avatar asked Mar 25 '11 06:03

Chau Chee Yang


People also ask

What difference between Make and build?

"Create" means to bring something into existence, "Make" means to form something by putting things together, "build" means to construct (usually used for buildings) and "Form" is basically the same as "Make" but a tiny bit more formal and fancy. Create/make/build/form your own history!

What is the difference between build and package?

The context of this topic is in terms build, package, and deploy. Build is defined as the ability to identify the components to be built and compile/generate runtime deliverables. Package is defined as the ability to identify the pieces to configure into a working system and validate its readiness.


2 Answers

  • Build compiles all source files in the project.
  • Make compiles those that have changed since the last make or build.

Note that make is actually a little more complex. A unit, let us say unitA, can require re-compilation during a make even if unitA has not changed. This happens when unitA uses another unit, unitB, and the interface section of unitB has changed since the last make or build.

The documentation for Build states:

Rebuilds all files in your current project regardless of whether they have changed. Building is useful when you are unsure which files have changed, or if you have changed project or compiler options.

The documentation for Make states:

Compiles only those files that have changed since the last build, as well as any files that depend on them.

like image 105
David Heffernan Avatar answered Oct 20 '22 20:10

David Heffernan


Make compiles outdated modules (the ones that were changed since the last project compilation), while build (re)compiles all modules.

like image 30
Eugene Mayevski 'Callback Avatar answered Oct 20 '22 22:10

Eugene Mayevski 'Callback