← Home

ðŸ”ĻMakefile

⌘K
ðŸĪ–
Claude Code AI Tools
ðŸĪ—
Hugging Face AI Tools
ðŸĶœ
LangChain AI Tools
🧠
Keras AI Tools
ðŸĶ™
Ollama AI Tools
🐍
Python Programming Languages
ðŸŸĻ
JavaScript Programming Languages
🔷
TypeScript Programming Languages
⚛ïļ
React Programming Languages
ðŸđ
Go Programming Languages
ðŸĶ€
Rust Programming Languages
📊
MATLAB Programming Languages
🗄ïļ
SQL Programming Languages
⚙ïļ
C/C++ Programming Languages
☕
Java Programming Languages
ðŸŸĢ
C# Programming Languages
🍎
Swift Programming Languages
🟠
Kotlin Programming Languages
â–ē
Next.js Programming Languages
💚
Vue.js Programming Languages
ðŸ”Ĩ
Svelte Programming Languages
ðŸŽĻ
Tailwind CSS Programming Languages
💚
Node.js Programming Languages
🌐
HTML Programming Languages
ðŸŽĻ
CSS/SCSS Programming Languages
🐘
PHP Programming Languages
💎
Ruby Programming Languages
ðŸ”ī
Scala Programming Languages
📊
R Programming Languages
ðŸŽŊ
Dart Programming Languages
💧
Elixir Programming Languages
🌙
Lua Programming Languages
🐊
Perl Programming Languages
🅰ïļ
Angular Programming Languages
🚂
Express.js Programming Languages
ðŸą
NestJS Programming Languages
ðŸ›Īïļ
Ruby on Rails Programming Languages
◾ïļ
GraphQL Programming Languages
🟊
Haskell Programming Languages
💚
Nuxt.js Programming Languages
🔷
SolidJS Programming Languages
⚡
htmx Programming Languages
ðŸ’ŧ
VS Code Development Tools
🧠
PyCharm Development Tools
📓
Jupyter Development Tools
🧠
IntelliJ IDEA Development Tools
💚
Neovim Development Tools
ðŸ”Ū
Emacs Development Tools
🔀
Git DevOps & CLI
ðŸģ
Docker DevOps & CLI
â˜ļïļ
Kubernetes DevOps & CLI
☁ïļ
AWS CLI DevOps & CLI
🔄
GitHub Actions DevOps & CLI
🐧
Linux Commands DevOps & CLI
ðŸ’ŧ
Bash Scripting DevOps & CLI
🌐
Nginx DevOps & CLI
📝
Vim DevOps & CLI
ðŸ”Ļ
Makefile DevOps & CLI
🧊
Pytest DevOps & CLI
🊟
Windows DevOps & CLI
ðŸ“Ķ
Package Managers DevOps & CLI
🍎
macOS DevOps & CLI
🏗ïļ
Terraform DevOps & CLI
🔧
Ansible DevOps & CLI
⎈
Helm DevOps & CLI
ðŸ”Ļ
Jenkins DevOps & CLI
ðŸ”Ĩ
Prometheus DevOps & CLI
📊
Grafana DevOps & CLI
ðŸ’ŧ
Zsh DevOps & CLI
🐟
Fish Shell DevOps & CLI
💙
PowerShell DevOps & CLI
🔄
Argo CD DevOps & CLI
🔀
Traefik DevOps & CLI
☁ïļ
Azure CLI DevOps & CLI
☁ïļ
Google Cloud CLI DevOps & CLI
📟
tmux DevOps & CLI
🔧
jq DevOps & CLI
✂ïļ
sed DevOps & CLI
📊
awk DevOps & CLI
🌊
Apache Airflow DevOps & CLI
ðŸ”Ē
NumPy Databases & Data
🐞
Pandas Databases & Data
ðŸ”Ĩ
PyTorch Databases & Data
🧠
TensorFlow Databases & Data
📈
Matplotlib Databases & Data
🐘
PostgreSQL Databases & Data
🐎
MySQL Databases & Data
🍃
MongoDB Databases & Data
ðŸ”ī
Redis Databases & Data
🔍
Elasticsearch Databases & Data
ðŸĪ–
Scikit-learn Databases & Data
👁ïļ
OpenCV Databases & Data
⚡
Apache Spark Databases & Data
ðŸŠķ
SQLite Databases & Data
⚡
Supabase Databases & Data
ðŸ”ĩ
Neo4j Databases & Data
ðŸ“Ļ
Apache Kafka Databases & Data
🐰
RabbitMQ Databases & Data
ðŸ”Ī
Regex Utilities
📝
Markdown Utilities
📄
LaTeX Utilities
🔐
SSH & GPG Utilities
🌐
curl & HTTP Utilities
📜
reStructuredText Utilities
🚀
Postman Utilities
🎎
FFmpeg Utilities
🖞ïļ
ImageMagick Utilities
🔍
ripgrep Utilities
🔍
fzf Utilities
📗
Microsoft Excel Office Applications
📘
Microsoft Word Office Applications
📙
Microsoft PowerPoint Office Applications
📝
Hancom Hangul Hancom Office
ðŸ“―ïļ
Hancom Hanshow Hancom Office
📊
Hancom Hancell Hancom Office
📄
Google Docs Google Workspace
📊
Google Sheets Google Workspace
ðŸ“―ïļ
Google Slides Google Workspace
🔌
Cadence Virtuoso EDA & Hardware
⚙ïļ
Synopsys EDA EDA & Hardware
💎
Verilog & VHDL EDA & Hardware
⚡
LTSpice EDA & Hardware
🔧
KiCad EDA & Hardware
📝
Notion Productivity
💎
Obsidian Productivity
💎
Slack Productivity
ðŸŽŪ
Discord Productivity
ðŸŽĻ
Figma Design Tools
📘
Confluence Atlassian
📋
Jira Atlassian
🃏
Jest Testing
⚡
Vitest Testing
🎭
Playwright Testing
ðŸŒē
Cypress Testing
🌐
Selenium Testing
💙
Flutter Mobile Development
ðŸ“ą
React Native Mobile Development
🍎
SwiftUI Mobile Development
ðŸ“ą
Expo Mobile Development
🐍
Django Web Frameworks
⚡
FastAPI Web Frameworks
ðŸŒķïļ
Flask Web Frameworks
🍃
Spring Boot Web Frameworks
ðŸļ
Gin Web Frameworks
⚡
Vite Build Tools
ðŸ“Ķ
Webpack Build Tools
⚡
esbuild Build Tools
🐘
Gradle Build Tools
ðŸŠķ
Maven Build Tools
🔧
CMake Build Tools
ðŸŽŪ
Unity Game Development
ðŸĪ–
Godot Game Development
🔌
Arduino Embedded & IoT
🔍
Nmap Security
🐕
Datadog Monitoring
📖
Swagger/OpenAPI Documentation
No results found
EN KO

📝 Makefile Basics

ðŸ“Ķ Basic Structure

target: prerequisites \trecipe Basic rule structure
all: target1 target2 Default target
.PHONY: clean test Phony targets
.DEFAULT_GOAL := target Set default goal
include other.mk Include another makefile

📊 Variables

VAR = value Recursive variable
VAR := value Simple variable
VAR ?= value Conditional (if not set)
VAR += value Append to variable
$(VAR) or ${VAR} Use variable
export VAR Export to sub-makes
override VAR = value Override command line

⚡ Automatic Variables

$@ Target name
$< First prerequisite
$^ All prerequisites
$? Prerequisites newer than target
$* Stem of pattern rule
$(@D) / $(@F) Target directory/file
$(<D) / $(<F) First prereq directory/file

🔧 Patterns & Functions

📐 Pattern Rules

%.o: %.c Pattern rule
$(BUILD)/%.o: %.c Pattern with directory
%.o: %.c %.h Multiple prerequisites

📝 String Functions

$(subst from,to,text) Substitute text
$(patsubst %.c,%.o,$(SRCS)) Pattern substitute
$(strip text) Strip whitespace
$(findstring find,text) Find string
$(filter pattern,text) Filter words
$(filter-out pattern,text) Filter out words
$(sort list) Sort and dedupe
$(word n,text) Get nth word
$(words text) Count words

📁 File Functions

$(wildcard *.c) Match files
$(dir path/file.c) Get directory
$(notdir path/file.c) Get filename
$(suffix file.c) Get suffix
$(basename file.c) Get basename
$(addsuffix .o,$(FILES)) Add suffix
$(addprefix src/,$(FILES)) Add prefix
$(join list1,list2) Join lists
$(realpath path) Get real path
$(abspath path) Get absolute path

🔀 Conditionals & Loops

❓ Conditionals

ifeq ($(VAR),value) ... endif If equal
ifneq ($(VAR),value) ... endif If not equal
ifdef VAR ... endif If defined
ifndef VAR ... endif If not defined
else Else clause
$(if condition,then,else) Inline if
$(or cond1,cond2) Or condition
$(and cond1,cond2) And condition

🔄 Loops & Iteration

$(foreach var,list,text) Foreach loop
$(call func,arg1,arg2) Call function
define FUNC ... endef Define function
$(eval $(call TEMPLATE,args)) Eval expression

ðŸ’ŧ Shell & Commands

ðŸ–Ĩïļ Shell Commands

$(shell command) Run shell command
@command Silent (no echo)
-command Ignore errors
+command Run even with -n
command1 && command2 Chain commands
command1; command2 Sequential commands
$(info message) Print info message
$(warning message) Print warning
$(error message) Print error and exit

⚙ïļ Make Options

make -n Dry run
make -j4 Parallel jobs
make -f other.mk Use different makefile
make VAR=value Override variable
make -C dir Change directory
make -k Keep going on error
make -B Force rebuild all
make --debug Debug output

📋 Common Examples

⚙ïļ C Project Example

CC := gcc C compiler
CFLAGS := -Wall -g Compiler flags
SRCS := $(wildcard *.c) Source files
OBJS := $(SRCS:.c=.o) Object files
TARGET := program Output name
$(TARGET): $(OBJS) \t$(CC) -o $@ $^ Link rule
%.o: %.c \t$(CC) $(CFLAGS) -c $< -o $@ Compile rule

ðŸŽŊ Common Targets

clean: \trm -f $(OBJS) $(TARGET) Clean target
install: \tcp $(TARGET) /usr/local/bin Install target
test: \t./run_tests.sh Test target
help: \t@echo "Available targets" Help target

ðŸ’Ą Tips & Best Practices

âœĻ Useful Tips

  • Use tabs (not spaces) for recipe indentation
  • Use .PHONY for non-file targets
  • Use := for immediate evaluation
  • Use @ to suppress command echo
  • Use wildcard for dynamic file lists
  • Use -j for parallel builds
  • Always provide a clean target