|
2 | 2 |
|
3 | 3 | ## Motivation
|
4 | 4 |
|
5 |
| -Wow. You've made it six chapters through this book. And probably some appendices too. And yet you have made not one sandwich. Not one! |
| 5 | +Wow. You've made it four chapters through this book. And probably some appendices too. And yet you have made not one sandwich. Not one! |
6 | 6 |
|
7 | 7 | Let's fix that. Time for a classic pastrami on rye.
|
8 | 8 | You go to fetch ingredients from the refrigerator, but alas! It is empty.
|
9 |
| -Someone else has been eating all your sandwiches while you were engrossed in regular expressions. |
| 9 | +Someone else has been eating all your sandwiches while you were engrossed by a thorny bash script. |
10 | 10 |
|
11 | 11 | You hop on your velocipede[^bike] and pedal down to the local bodega only to discover that they, too, are out of sandwich fixin's.
|
12 | 12 | Just as you feared --- you are left with no choice other than to derive a sandwich from first principles.
|
@@ -134,7 +134,7 @@ Of course, doing all this by hand would be awful...which is why we have `make`!
|
134 | 134 | When you run `make`, it looks for a file named `Makefile` or `makefile` in the current directory for a recipe for building your code.
|
135 | 135 | The contents of your `makefile` determine what gets made and how.
|
136 | 136 |
|
137 |
| -Most of what goes in a `makefile` are *targets*: the names of files you want to create. |
| 137 | +Most of what goes in a `makefile` are **targets**: the names of files you want to create. |
138 | 138 | Along with each target goes one or more commands that, when run, create the target file.
|
139 | 139 |
|
140 | 140 | For example, let's say you want to build an executable named `program` by compiling all the C`++` files in the current directory.
|
@@ -220,7 +220,7 @@ However, `make` expects targets to generate files, so if you make a target named
|
220 | 220 | it's possible for `make` to get a little confused.
|
221 | 221 | You don't want to generate any new files, and you don't want to lie to `make` because you're an honest upstanding citizen.
|
222 | 222 |
|
223 |
| -Fortunately, `make` supports targets that don't produce files through something called *phony targets*. |
| 223 | +Fortunately, `make` supports targets that don't produce files through something called **phony targets**. |
224 | 224 | You can tell `make`, "Hey, this target doesn't actually produce a file; just run the commands listed here whenever I ask you to build this target,"
|
225 | 225 | and `make` will be like, "Sure thing, boss! Look at me, not being confused at all about why there's no file named `clean`!"
|
226 | 226 |
|
|
0 commit comments