15

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.

Chau Chee Yang
  • 18,422
  • 16
  • 68
  • 132

3 Answers3

31
  • 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.

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490
12

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

Eugene Mayevski 'Callback
  • 45,135
  • 8
  • 71
  • 121
2

I would add a related information : what "Clean" do compared to "Build" and "Make". It appears to delete the "pre-compiled header" database.

  • You might do better to post this as a new q and post an answer to it yourself. It probably deserves higher visibility than it will get here. – MartynA Nov 22 '19 at 19:16