All checks were successful
code.softwareshinobi.com-learn/docker.softwareshinobi.com/pipeline/head This commit looks good
48 lines
1.5 KiB
Markdown
Executable File
48 lines
1.5 KiB
Markdown
Executable File
# The `make` command
|
|
|
|
The `make` command is used to automate the reuse of multiple commands in certain directory structure.
|
|
|
|
An example for that would be the use of `terraform init`, `terraform plan`, and `terraform validate` while having to change different subscriptions in Azure. This is usually done in the following steps:
|
|
|
|
```
|
|
az account set --subscription "Subscription - Name"
|
|
terraform init
|
|
```
|
|
|
|
How the `make` command can help us is it can automate all of that in just one go:
|
|
```make tf-init```
|
|
|
|
### Syntax:
|
|
|
|
```
|
|
make [ -f makefile ] [ options ] ... [ targets ] ...
|
|
```
|
|
|
|
### Example use (guide):
|
|
|
|
#### 1. Create `Makefile` in your guide directory
|
|
#### 2. Include the following in your `Makefile` :
|
|
```
|
|
hello-world:
|
|
echo "Hello, World!"
|
|
|
|
hello-bobby:
|
|
echo "Hello, Bobby!"
|
|
|
|
touch-letter:
|
|
echo "This is a text that is being inputted into our letter!" > letter.txt
|
|
|
|
clean-letter:
|
|
rm letter.txt
|
|
```
|
|
#### 3. Execute ```make hello-world``` - this echoes "Hello, World" in our terminal.
|
|
#### 4. Execute ```make hello-bobby``` - this echoes "Hello, Bobby!" in our terminal.
|
|
#### 5. Execute ```make touch-letter``` - This creates a text file named `letter.txt` and populates a line in it.
|
|
#### 6. Execute ```make clean-letter```
|
|
|
|
|
|
|
|
### References to lenghtier and more contentful tutorials:
|
|
|
|
(linoxide - linux make command examples)[https://linoxide.com/linux-make-command-examples/]
|
|
(makefiletutorial.com - the name itself gives it out)[https://makefiletutorial.com/] |