Makefile: Difference between revisions
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
==Example makefile== | ==Example makefile== | ||
Working with the following structure: | |||
<pre> | |||
pi@raspberry% tree | |||
. | |||
├── images | |||
│ ├── 0000.jpg | |||
│ ├── 0001.jpg | |||
│ ├── 0002.jpg | |||
│ └── 0003.jpg | |||
├── Makefile | |||
├── output | |||
│ └── a-new-file.txt | |||
└── src | |||
├── list.txt | |||
├── plain.txt | |||
└── myscript.py | |||
</pre> | |||
===Makefile=== | |||
<pre> | <pre> | ||
images=$(wildcard images/*.jpg) | images=$(wildcard images/*.jpg) |
Revision as of 17:43, 22 February 2018
Makefiles are used in compiling processes.
makefiles have a version check system built in For example, if you use a makefile to process a set of jpg's, it takes them all. If you run the makefile again, it only processes the files that where changed.
Links
Example makefile
Working with the following structure:
pi@raspberry% tree . ├── images │ ├── 0000.jpg │ ├── 0001.jpg │ ├── 0002.jpg │ └── 0003.jpg ├── Makefile ├── output │ └── a-new-file.txt └── src ├── list.txt ├── plain.txt └── myscript.py
Makefile
images=$(wildcard images/*.jpg) # creates: images/001.jpg images/002.jpg images/000.jpg space:= $(empty) $(empty) newline:= '\n' listtxt:= $(subst $(space),$(newline),$(images)) # subst is a way to do string replacements, it works like this: $(subst $(delimitator),$(replacement),$(list)) # it's used here to make a list of the images, with one filename on each line tesseract: echo $(listtxt) > src/list.txt tesseract src/list.txt src/plain myscript: tesseract cat src/plain.txt | python3 src/myscript.py > output/a-new-file.txt
myscript.py
from sys import stdin, stdout txt = stdin.read() output = txt.replace(' the ', ' ******a***** ') stdout.write(output)