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/] |