Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Making Makefiles
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Alex Tercete
February 21, 2020
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Making Makefiles
Makefiles are pretty if you learned to appreciate their beauty.
Alex Tercete
February 21, 2020
More Decks by Alex Tercete
See All by Alex Tercete
Shipping containers
alextercete
0
89
Parallelism and Symmetry
alextercete
0
280
Porting to .NET Standard
alextercete
0
93
Prepping Commits
alextercete
1
170
The end of your line-endings nightmare
alextercete
0
220
I love sushi, therefore I love rebase
alextercete
0
130
ReadyRoll for DotNet developers
alextercete
0
120
Coding Dojo: The Randori Kata
alextercete
1
610
How to be a good pair [programmer]
alextercete
0
170
Other Decks in Programming
See All in Programming
LLM 101
dalinaum
0
460
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
Seven New Principles of Software Engineering
yegor256
0
440
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
710
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
280
AI Augmentation Techniques with Liberty
ivargrimstad
1
350
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
180
Event is what happens
moro
2
3.4k
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
230
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
150
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
280
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
420
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Automating Front-end Workflow
addyosmani
1370
210k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
590
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
2
1.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Mobile First: as difficult as doing things right
swwweet
225
10k
Code Review Best Practice
trishagee
74
20k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
430
A better future with KSS
kneath
240
18k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
970
Transcript
Alex Tercete @alextercete $ make Makefile
None
None
run.sh #!/bin/sh docker build -t my_image . docker run -w
/app -v $(pwd):/app my_image
None
run.ps1 docker build -t my_image . docker run -w /app
-v $PWD:/app my_image
None
Makefile build: docker build -t my_image . run: build docker
run -w /app -v $(realpath .):/app my_image
Make is pretty
Make is pretty old
None
Make is pretty popular
None
Make is pretty scary
None
Make is pretty weird
Makefile print_variable: my_variable='blah' echo $my_variable
Makefile print_variable: my_variable='blah' echo $my_variable
Makefile print_variable: @ my_variable='blah'; \ echo $$my_variable
Make is pretty cross-platform
Makefile VALUE = default print_value: @ echo Value is $(VALUE)
Makefile list_all: @ ls -la
Makefile list_all: @ ls -la
Makefile LS = docker run \ --rm -w /app -v
"$(realpath .):/app" bash:5 \ ls list_all: @ $(LS) -la
Makefile ifeq ($(OS), Windows_NT) HOME = $(USERPROFILE) endif home: @
echo There is no place like $(HOME)
Make is pretty powerful
Makefile VALUE ?= default print_value: @ echo Value is $(VALUE)
Makefile release: require_version @ echo "Starting $(VERSION) release..." require_version: ifndef
VERSION $(error You must specify a VERSION variable) endif
Makefile REMOTE_URL = $(shell git remote get-url origin) ifeq ($(subst
git@,,$(REMOTE_URL)), $(REMOTE_URL)) REMOTE_PROTOCOL = HTTPS else REMOTE_PROTOCOL = SSH endif print_remote_protocol: @ echo $(REMOTE_PROTOCOL)
Make is pretty
$ xcode-select --install $ sudo apt install build-essential > choco
install make
None
Alex Tercete @alextercete Thanks!