Make: Difference between revisions

From WikiMD's Wellness Encyclopedia

CSV import
 
CSV import
 
Line 1: Line 1:
 - the act of mixing cards haphazardly;  a recognizable kind;  act in a certain way so as to acquire;  eliminate urine;  behave in a certain way;  give certain properties to something;  put in order or neaten;  develop into;  change from one form into another;  favor the development of;  cause to be enjoyable or pleasurable;  calculate as being;  consider as being;  represent fictitiously, as in a play, or pretend to be or act like;  assure the success of;  make or cause to be or to become;  compel or make somebody or something to act in a certain way;  make by shaping or bringing together constituents; gather and light the materials for;  perform or carry out;  reach in time; proceed along a path;  appear to begin an activity;  engage in;  carry out or commit;  form by assembling individuals or constituents; constitute the essence of;  amount to;  be or be capable of being changed or made into;  add up to;  be suitable for;  undergo fabrication or creation;  have a bowel movement;  institute, enact, or establish;  make, formulate, or derive in the mind;  cause to do; cause to act in a specified manner;  induce to have sex;  create or design, often in a certain way;  create or manufacture a man-made product; create by artistic means;  give rise to; cause to happen or occur, not always intentionally;  make by combining materials and parts; prepare for eating by applying heat;  organize or be responsible for; reach a destination, either real or abstract;  reach a goal, e.g., "make the first team";  head into a specified direction;  earn on some commercial or business transaction; earn as salary or wages; achieve a point or goal;  charge with a function; charge to be;  to compose or represent:"This wall forms the background of the stage setting"
== Make ==
{{stub}}
 
{{dictionary-stub1}}
'''Make''' is a build automation tool that automatically builds executable programs and libraries from source code by reading files called '''Makefiles''', which specify how to derive the target program. It was originally created by [[Stuart Feldman]] in 1976 at [[Bell Labs]].
 
== Overview ==
 
Make is a tool that controls the generation of executables and other non-source files of a program from the program's source files. Users can specify dependencies between files and the commands needed to update them. Make is widely used in software development to manage and automate the build process.
 
=== Makefiles ===
 
A '''Makefile''' is a special file that contains shell commands and directives for Make. It defines a set of tasks to be executed. Makefiles specify how to derive the target program from the source files. They contain rules in the form of:
 
```
target: dependencies
\tcommand
```
 
- '''[[Target]]''': The file to be generated.
- '''[[Dependencies]]''': Files that the target depends on.
- '''[[Command]]''': The shell command to execute to create or update the target.
 
=== Basic Concepts ===
 
- '''[[Targets]]''': The files that Make should create or update.
- '''[[Dependencies]]''': Files that are used as input to create the target.
- '''[[Rules]]''': Instructions on how to build the targets.
- '''[[Variables]]''': Used to store values that can be reused in the Makefile.
 
=== Example ===
 
Here is a simple example of a Makefile:
 
```
# This is a comment
 
all: myprogram
 
myprogram: main.o utils.o
\tgcc -o myprogram main.o utils.o
 
main.o: main.c
\tgcc -c main.c
 
utils.o: utils.c
\tgcc -c utils.c
 
clean:
\trm -f myprogram main.o utils.o
```
 
In this example, `myprogram` is the target, and it depends on `main.o` and `utils.o`. The `clean` target is a common convention to remove all generated files.
 
== History ==
 
Make was created by Stuart Feldman in 1976 at Bell Labs. It was designed to simplify the process of compiling and linking programs. Over the years, Make has become a standard tool in Unix-based systems and has influenced many other build automation tools.
 
== Variants ==
 
Several variants of Make exist, including:
 
- [[GNU Make]]: The most widely used version, which includes many extensions and improvements over the original.
- [[BSD Make]]: The version used in BSD operating systems.
- [[CMake]]: A cross-platform tool that generates Makefiles.
 
== Also see ==
 
* [[GNU Make]]
* [[CMake]]
* [[Build automation]]
* [[Software development]]
* [[Shell script]]
 
{{Software development}}
 
[[Category:Build automation]]
[[Category:Software development tools]]
[[Category:Unix software]]

Latest revision as of 22:33, 15 December 2024

Make[edit]

Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles, which specify how to derive the target program. It was originally created by Stuart Feldman in 1976 at Bell Labs.

Overview[edit]

Make is a tool that controls the generation of executables and other non-source files of a program from the program's source files. Users can specify dependencies between files and the commands needed to update them. Make is widely used in software development to manage and automate the build process.

Makefiles[edit]

A Makefile is a special file that contains shell commands and directives for Make. It defines a set of tasks to be executed. Makefiles specify how to derive the target program from the source files. They contain rules in the form of:

``` target: dependencies \tcommand ```

- Target: The file to be generated. - Dependencies: Files that the target depends on. - Command: The shell command to execute to create or update the target.

Basic Concepts[edit]

- Targets: The files that Make should create or update. - Dependencies: Files that are used as input to create the target. - Rules: Instructions on how to build the targets. - Variables: Used to store values that can be reused in the Makefile.

Example[edit]

Here is a simple example of a Makefile:

```

  1. This is a comment

all: myprogram

myprogram: main.o utils.o \tgcc -o myprogram main.o utils.o

main.o: main.c \tgcc -c main.c

utils.o: utils.c \tgcc -c utils.c

clean: \trm -f myprogram main.o utils.o ```

In this example, `myprogram` is the target, and it depends on `main.o` and `utils.o`. The `clean` target is a common convention to remove all generated files.

History[edit]

Make was created by Stuart Feldman in 1976 at Bell Labs. It was designed to simplify the process of compiling and linking programs. Over the years, Make has become a standard tool in Unix-based systems and has influenced many other build automation tools.

Variants[edit]

Several variants of Make exist, including:

- GNU Make: The most widely used version, which includes many extensions and improvements over the original. - BSD Make: The version used in BSD operating systems. - CMake: A cross-platform tool that generates Makefiles.

Also see[edit]