Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leostera/making-makefiles
A small set of koans to learn about Makefiles
https://github.com/leostera/making-makefiles
introduction koans makefile presentation
Last synced: about 1 month ago
JSON representation
A small set of koans to learn about Makefiles
- Host: GitHub
- URL: https://github.com/leostera/making-makefiles
- Owner: leostera
- Created: 2017-02-09T08:15:57.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-02-09T12:09:37.000Z (almost 8 years ago)
- Last Synced: 2024-10-29T21:06:44.094Z (3 months ago)
- Topics: introduction, koans, makefile, presentation
- Language: Vim script
- Homepage:
- Size: 22.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Making Makefiles
A brief Lunch & Learn about Makefiles
Clone from: https://github.com/ostera/making-makefiles
by @ostera
# History
Make was created a long time ago. It's been around since 1976.
Before Make there used to come bundled both `make` and `install` shell scripts
that would help building and installing the project.Lastly, it's ultimate purpose was to abstract out dependency tracking, allow for
composability of targets, and handling of files/archives.# Trivia
1. It has at least 4 rewrites (bmake, pmake, fmake, nmake)
2. Was created at Bell Labs by Stuart Feldman
3. Fedlman got the 2003 ACM Software System Award for it# Composition
### Targets
* Typically define files in the file system
* Are checked for modification time
* May have Dependencies (Other Targets)# Composition
### Variables
* Can be input from the outside world
* Can have default values
* Can be exported for scripts and other makefiles# Hands-On
We need to know 3 things:
1. We invoke a target by naming it: `make target-name`
2. We specify a different makefile with the flag `-f path/to/makefile`
3. The file extension is just a conventionWithout further ado...
# The End
Questions?