Skip to content

Commit 7650ed7

Browse files
author
jsdnhk
committed
posted Nov 2020
1 parent ae5b2f8 commit 7650ed7

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

_data/pages_latest.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
- name: blog
3-
mtime: 12-10-2020
3+
mtime: 1-11-2020
44
- name: debug
55
mtime: 12-10-2020
66
- name: fonts
@@ -12,4 +12,4 @@
1212
- name: resume
1313
mtime: 12-10-2020
1414
- name: toolset
15-
mtime: 12-10-2020
15+
mtime: 1-11-2020

_data/toolset/typist.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
desc: An open-source web application that allows management of live codes as documents
6565
- group: Console
6666
tools:
67+
- name: make
68+
url: https://gnu.org/software/make
69+
desc: Classic build and tasks automation tool
6770
- name: howdoi
6871
url: https://github.com/gleitz/howdoi
6972
desc: A code search tool via the command line
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: "File control by Make"
3+
tags: [development, project]
4+
category: "development"
5+
comment: true
6+
7+
---
8+
9+
## Background
10+
11+
To enable executable from source code in a project, it usually requires a set of command lines to work it out.
12+
In software development, this step is called 'building', however it's never be an easy task for human by input lines.
13+
As a result, since 1976, a build automation tool, [Make][make-wiki], was birth from Bell Lab to automate building process for C.
14+
Make can not only build up executable by defining file dependency ruleset, but also collect project tasks by listing.
15+
Thanks to this gift, a numerous of software projects are still using Make to manage and run the project procedures.
16+
17+
## Advantages
18+
19+
1. Manage and keep different kinds of tasks other than build process
20+
1. Have clear syntax and light effort by directly using current shell commands
21+
1. Contain smart mechanism to determine the tasks to run and files to build
22+
1. Enable the user to build and install without knowing the details
23+
24+
## Usage
25+
26+
Make searches the current directory for the makefile to use, then runs the specified target(s) from that file.
27+
Inside makefile, there are set of rule, it contains commands to build a target file from source files with dependencies.
28+
After that, you can specify particular target(s) to run task(s) or update file(s). The following is the structure of a rule,
29+
30+
31+
``` makefile
32+
# Makefile: a file with set of Make rules
33+
# Common look of a rule
34+
# []: optional
35+
target1 [target2 ...]: [component1 ...]
36+
[command 1]
37+
[command 2]
38+
...
39+
[command n]
40+
```
41+
42+
[make-wiki]:https://en.wikipedia.org/wiki/Make_(software)

0 commit comments

Comments
 (0)