mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 09:41:36 +00:00
Merge pull request #2167 from divayprakash/typos-fix
[make/en] fixed typos and spellings, added content
This commit is contained in:
commit
4a4f16bfac
@ -9,16 +9,16 @@ A Makefile defines a graph of rules for creating a target (or targets).
|
|||||||
Its purpose is to do the minimum amount of work needed to update a
|
Its purpose is to do the minimum amount of work needed to update a
|
||||||
target to the most recent version of the source. Famously written over a
|
target to the most recent version of the source. Famously written over a
|
||||||
weekend by Stuart Feldman in 1976, it is still widely used (particularly
|
weekend by Stuart Feldman in 1976, it is still widely used (particularly
|
||||||
on Unix) despite many competitors and criticisms.
|
on Unix and Linux) despite many competitors and criticisms.
|
||||||
|
|
||||||
There are many varieties of make in existence, this article assumes that
|
There are many varieties of make in existence, however this article
|
||||||
we are using GNU make which is the standard on Linux.
|
assumes that we are using GNU make which is the standard on Linux.
|
||||||
|
|
||||||
```make
|
```make
|
||||||
|
|
||||||
# Comments can be written like this.
|
# Comments can be written like this.
|
||||||
|
|
||||||
# Files should be named Makefile and then be can run as `make <target>`.
|
# File should be named Makefile and then can be run as `make <target>`.
|
||||||
# Otherwise we use `make -f "filename" <target>`.
|
# Otherwise we use `make -f "filename" <target>`.
|
||||||
|
|
||||||
# Warning - only use TABS to indent in Makefiles, never spaces!
|
# Warning - only use TABS to indent in Makefiles, never spaces!
|
||||||
@ -27,13 +27,16 @@ we are using GNU make which is the standard on Linux.
|
|||||||
# Basics
|
# Basics
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Rules are of the format
|
||||||
|
# target: <prerequisite>
|
||||||
|
# where prerequisites are optional.
|
||||||
|
|
||||||
# A rule - this rule will only run if file0.txt doesn't exist.
|
# A rule - this rule will only run if file0.txt doesn't exist.
|
||||||
file0.txt:
|
file0.txt:
|
||||||
echo "foo" > file0.txt
|
echo "foo" > file0.txt
|
||||||
# Even comments in these 'recipe' sections get passed to the shell.
|
# Even comments in these 'recipe' sections get passed to the shell.
|
||||||
# Try `make file0.txt` or simply `make` - first rule is the default.
|
# Try `make file0.txt` or simply `make` - first rule is the default.
|
||||||
|
|
||||||
|
|
||||||
# This rule will only run if file0.txt is newer than file1.txt.
|
# This rule will only run if file0.txt is newer than file1.txt.
|
||||||
file1.txt: file0.txt
|
file1.txt: file0.txt
|
||||||
cat file0.txt > file1.txt
|
cat file0.txt > file1.txt
|
||||||
@ -99,8 +102,8 @@ process: ex1.txt file0.txt
|
|||||||
%.png: %.svg
|
%.png: %.svg
|
||||||
inkscape --export-png $^
|
inkscape --export-png $^
|
||||||
|
|
||||||
# Pattern rules will only do anything if make decides to create the \
|
# Pattern rules will only do anything if make decides to create the
|
||||||
target.
|
# target.
|
||||||
|
|
||||||
# Directory paths are normally ignored when matching pattern rules. But
|
# Directory paths are normally ignored when matching pattern rules. But
|
||||||
# make will try to use the most appropriate rule available.
|
# make will try to use the most appropriate rule available.
|
||||||
@ -185,7 +188,7 @@ var := hello
|
|||||||
var2 ::= $(var) hello
|
var2 ::= $(var) hello
|
||||||
#:= and ::= are equivalent.
|
#:= and ::= are equivalent.
|
||||||
|
|
||||||
# These variables are evaluated procedurely (in the order that they
|
# These variables are evaluated procedurally (in the order that they
|
||||||
# appear), thus breaking with the rest of the language !
|
# appear), thus breaking with the rest of the language !
|
||||||
|
|
||||||
# This doesn't work
|
# This doesn't work
|
||||||
|
Loading…
Reference in New Issue
Block a user