# Makefile 基础教程 {#makefile-基础教程}
本文讲述 Makefile 的基础用法。Makefile 是一个任务管理脚本, 可以把它类比于"java 开发中的 maven 脚本、gradle 脚本"。 但是 Makefile 的优点是非常轻量,c/c++程序的编译安装脚本几乎都使用 Makefile 来做。
Makefile 有严格的格式要求,但是不怕,本文提供一个 Makefile 脚本示例,您只需要做复制、粘贴、修改即可投入使用。
# 发布到github
publish_to_github:
./deploy.sh
# 发布: 先发布到github, 再发布到自己的服务器
publish: publish_to_github
# 上传程序到服务器
ssh myserver rm -rf /data/wangshibiao/blog/*
scp -r ./docs/.vuepress/dist/* myserver:/data/wangshibiao/blog/
# 一. 定义任务 {#一-定义任务}
# 1. 任务的组成结构 {#_1-任务的组成结构}
每个任务都包含名称和逻辑 2 部分。
一个 Makefile 可以定义多个任务, 且任务之间可以有父子关系,即支持任务的依赖。如下定义的任务 publish 依赖于任务 publish_to_github。
publish: publish_to_github
# 2. 执行任务 {#_2-执行任务}
语法: make 任务名称
提示
执行任务的时候,默认需要在 Makefile 文件所在目录下执行。